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

Sprout from master 2008-02-22 19:27:20 UTC Bogdan Gheorghe <gheorghe> 'v3430 for I20080222'
Cherrypick from master 2008-02-22 20:03:23 UTC Bogdan Gheorghe <gheorghe> 'v3430 for I20080222':
    bundles/org.eclipse.swt/buildnotes_swt.html
Delete:
    bundles/org.eclipse.swt.opengl/.classpath_carbon
    bundles/org.eclipse.swt.opengl/.classpath_gtk
    bundles/org.eclipse.swt.opengl/.classpath_motif
    bundles/org.eclipse.swt.opengl/.classpath_win32
    bundles/org.eclipse.swt.opengl/.cvsignore
    bundles/org.eclipse.swt.opengl/.project
    bundles/org.eclipse.swt.opengl/META-INF/MANIFEST.MF
    bundles/org.eclipse.swt.opengl/about.html
    bundles/org.eclipse.swt.opengl/carbon/library/agl.c
    bundles/org.eclipse.swt.opengl/carbon/library/agl.h
    bundles/org.eclipse.swt.opengl/carbon/library/agl_stats.c
    bundles/org.eclipse.swt.opengl/carbon/library/agl_stats.h
    bundles/org.eclipse.swt.opengl/carbon/library/agl_structs.h
    bundles/org.eclipse.swt.opengl/carbon/org/eclipse/swt/internal/opengl/carbon/AGL.java
    bundles/org.eclipse.swt.opengl/carbon/org/eclipse/swt/opengl/GLCanvas.java
    bundles/org.eclipse.swt.opengl/common/library/gl.c
    bundles/org.eclipse.swt.opengl/common/library/gl.h
    bundles/org.eclipse.swt.opengl/common/library/gl_stats.c
    bundles/org.eclipse.swt.opengl/common/library/gl_stats.h
    bundles/org.eclipse.swt.opengl/common/library/gl_structs.c
    bundles/org.eclipse.swt.opengl/common/library/gl_structs.h
    bundles/org.eclipse.swt.opengl/common/library/glu.c
    bundles/org.eclipse.swt.opengl/common/library/glu.h
    bundles/org.eclipse.swt.opengl/common/library/glu_stats.c
    bundles/org.eclipse.swt.opengl/common/library/glu_stats.h
    bundles/org.eclipse.swt.opengl/common/library/glu_structs.c
    bundles/org.eclipse.swt.opengl/common/library/glu_structs.h
    bundles/org.eclipse.swt.opengl/common/library/swt.c
    bundles/org.eclipse.swt.opengl/common/library/swt.h
    bundles/org.eclipse.swt.opengl/common/org/eclipse/opengl/GL.java
    bundles/org.eclipse.swt.opengl/common/org/eclipse/opengl/GLU.java
    bundles/org.eclipse.swt.opengl/common/org/eclipse/swt/opengl/GLData.java
    bundles/org.eclipse.swt.opengl/common/org/eclipse/swt/opengl/ImageDataUtil.java
    bundles/org.eclipse.swt.opengl/common/org/eclipse/swt/opengl/Library.java
    bundles/org.eclipse.swt.opengl/gtk/library/build.sh
    bundles/org.eclipse.swt.opengl/gtk/library/glx.c
    bundles/org.eclipse.swt.opengl/gtk/library/glx.h
    bundles/org.eclipse.swt.opengl/gtk/library/glx_stats.c
    bundles/org.eclipse.swt.opengl/gtk/library/glx_stats.h
    bundles/org.eclipse.swt.opengl/gtk/library/glx_structs.c
    bundles/org.eclipse.swt.opengl/gtk/library/glx_structs.h
    bundles/org.eclipse.swt.opengl/gtk/library/make_linux.mak
    bundles/org.eclipse.swt.opengl/gtk/library/structs.c
    bundles/org.eclipse.swt.opengl/gtk/library/structs.h
    bundles/org.eclipse.swt.opengl/gtk/org/eclipse/swt/internal/opengl/gtk/GLX.java
    bundles/org.eclipse.swt.opengl/gtk/org/eclipse/swt/internal/opengl/gtk/XVisualInfo.java
    bundles/org.eclipse.swt.opengl/gtk/org/eclipse/swt/opengl/GLCanvas.java
    bundles/org.eclipse.swt.opengl/motif/library/build.sh
    bundles/org.eclipse.swt.opengl/motif/library/glx.c
    bundles/org.eclipse.swt.opengl/motif/library/make_aix.mak
    bundles/org.eclipse.swt.opengl/motif/library/make_hpux.mak
    bundles/org.eclipse.swt.opengl/motif/library/make_linux.mak
    bundles/org.eclipse.swt.opengl/motif/library/make_solaris.mak
    bundles/org.eclipse.swt.opengl/motif/library/structs.c
    bundles/org.eclipse.swt.opengl/motif/library/structs.h
    bundles/org.eclipse.swt.opengl/motif/org/eclipse/swt/opengl/GLContext.java
    bundles/org.eclipse.swt.opengl/motif/org/eclipse/swt/opengl/internal/motif/XGL.java
    bundles/org.eclipse.swt.opengl/motif/org/eclipse/swt/opengl/internal/motif/XVisualInfo.java
    bundles/org.eclipse.swt.opengl/plugin.properties
    bundles/org.eclipse.swt.opengl/plugin.xml
    bundles/org.eclipse.swt.opengl/win32/library/build.bat
    bundles/org.eclipse.swt.opengl/win32/library/glw.c
    bundles/org.eclipse.swt.opengl/win32/library/make_win32.mak
    bundles/org.eclipse.swt.opengl/win32/library/structs.c
    bundles/org.eclipse.swt.opengl/win32/library/structs.h
    bundles/org.eclipse.swt.opengl/win32/library/swt.rc
    bundles/org.eclipse.swt.opengl/win32/org/eclipse/swt/opengl/GLCanvas.java
    bundles/org.eclipse.swt.opengl/win32/org/eclipse/swt/opengl/internal/win32/LAYERPLANEDESCRIPTOR.java
    bundles/org.eclipse.swt.opengl/win32/org/eclipse/swt/opengl/internal/win32/PIXELFORMATDESCRIPTOR.java
    bundles/org.eclipse.swt.opengl/win32/org/eclipse/swt/opengl/internal/win32/WGL.java
    examples/org.eclipse.swt.examples.browser.demos/.classpath
    examples/org.eclipse.swt.examples.browser.demos/.project
    examples/org.eclipse.swt.examples.browser.demos/.settings/org.eclipse.jdt.core.prefs
    examples/org.eclipse.swt.examples.browser.demos/about.html
    examples/org.eclipse.swt.examples.browser.demos/build.properties
    examples/org.eclipse.swt.examples.browser.demos/css1/back1.jpg
    examples/org.eclipse.swt.examples.browser.demos/css1/back2.jpg
    examples/org.eclipse.swt.examples.browser.demos/css1/black.gif
    examples/org.eclipse.swt.examples.browser.demos/css1/board1.jpg
    examples/org.eclipse.swt.examples.browser.demos/css1/empty.gif
    examples/org.eclipse.swt.examples.browser.demos/css1/line1.gif
    examples/org.eclipse.swt.examples.browser.demos/css1/style.css
    examples/org.eclipse.swt.examples.browser.demos/css1/wall.gif
    examples/org.eclipse.swt.examples.browser.demos/css1/welcome.html
    examples/org.eclipse.swt.examples.browser.demos/css1/white.gif
    examples/org.eclipse.swt.examples.browser.demos/css2/Back640x440.gif
    examples/org.eclipse.swt.examples.browser.demos/css2/black_chip.gif
    examples/org.eclipse.swt.examples.browser.demos/css2/line1.gif
    examples/org.eclipse.swt.examples.browser.demos/css2/style.css
    examples/org.eclipse.swt.examples.browser.demos/css2/texture_cells.gif
    examples/org.eclipse.swt.examples.browser.demos/css2/wall_chip.gif
    examples/org.eclipse.swt.examples.browser.demos/css2/welcome.html
    examples/org.eclipse.swt.examples.browser.demos/css2/white_chip.gif
    examples/org.eclipse.swt.examples.browser.demos/css3/Back640x440.gif
    examples/org.eclipse.swt.examples.browser.demos/css3/black_pawn.gif
    examples/org.eclipse.swt.examples.browser.demos/css3/line1.gif
    examples/org.eclipse.swt.examples.browser.demos/css3/style.css
    examples/org.eclipse.swt.examples.browser.demos/css3/texture_cells.gif
    examples/org.eclipse.swt.examples.browser.demos/css3/wall_pawn.gif
    examples/org.eclipse.swt.examples.browser.demos/css3/welcome.html
    examples/org.eclipse.swt.examples.browser.demos/css3/white_pawn.gif
    examples/org.eclipse.swt.examples.browser.demos/css4/Back640x440.gif
    examples/org.eclipse.swt.examples.browser.demos/css4/blue_people.gif
    examples/org.eclipse.swt.examples.browser.demos/css4/gold_people.gif
    examples/org.eclipse.swt.examples.browser.demos/css4/line1.gif
    examples/org.eclipse.swt.examples.browser.demos/css4/style.css
    examples/org.eclipse.swt.examples.browser.demos/css4/texture_cells.gif
    examples/org.eclipse.swt.examples.browser.demos/css4/wall_people.gif
    examples/org.eclipse.swt.examples.browser.demos/css4/welcome.html
    examples/org.eclipse.swt.examples.browser.demos/doc-html/swt_browser_demos_ex.html
    examples/org.eclipse.swt.examples.browser.demos/icons/pawn.gif
    examples/org.eclipse.swt.examples.browser.demos/plugin.properties
    examples/org.eclipse.swt.examples.browser.demos/plugin.xml
    examples/org.eclipse.swt.examples.browser.demos/src/org/eclipse/swt/examples/browser/demos/BrowserDemoPlugin.java
    examples/org.eclipse.swt.examples.browser.demos/src/org/eclipse/swt/examples/browser/demos/Pawns.java
    examples/org.eclipse.swt.examples.browser.demos/src/org/eclipse/swt/examples/browser/demos/views/BrowserDemoView.java
    examples/org.eclipse.swt.examples.browser.demos/src/org/eclipse/swt/examples/browser/demos/views/EditorTab.java
    examples/org.eclipse.swt.examples.browser.demos/src/org/eclipse/swt/examples/browser/demos/views/PawnTab.java
    examples/org.eclipse.swt.examples.browser/.classpath
    examples/org.eclipse.swt.examples.browser/.cvsignore
    examples/org.eclipse.swt.examples.browser/.project
    examples/org.eclipse.swt.examples.browser/.settings/org.eclipse.jdt.core.prefs
    examples/org.eclipse.swt.examples.browser/about.html
    examples/org.eclipse.swt.examples.browser/build.properties
    examples/org.eclipse.swt.examples.browser/doc-html/swt_browser_ex.html
    examples/org.eclipse.swt.examples.browser/icons/browser_example.gif
    examples/org.eclipse.swt.examples.browser/plugin.properties
    examples/org.eclipse.swt.examples.browser/plugin.xml
    examples/org.eclipse.swt.examples.browser/src/import.properties
    examples/org.eclipse.swt.examples.browser/src/org/eclipse/swt/examples/browserexample/BrowserPlugin.java
    examples/org.eclipse.swt.examples.browser/src/org/eclipse/swt/examples/browserexample/BrowserView.java
    examples/org.eclipse.swt.examples.controls/.classpath
    examples/org.eclipse.swt.examples.controls/.cvsignore
    examples/org.eclipse.swt.examples.controls/.project
    examples/org.eclipse.swt.examples.controls/.settings/org.eclipse.jdt.core.prefs
    examples/org.eclipse.swt.examples.controls/about.html
    examples/org.eclipse.swt.examples.controls/build.properties
    examples/org.eclipse.swt.examples.controls/doc-html/swt_controls_ex.html
    examples/org.eclipse.swt.examples.controls/doc-html/swt_customcontrols_ex.html
    examples/org.eclipse.swt.examples.controls/icons/controls_example.gif
    examples/org.eclipse.swt.examples.controls/plugin.properties
    examples/org.eclipse.swt.examples.controls/plugin.xml
    examples/org.eclipse.swt.examples.controls/src/import.properties
    examples/org.eclipse.swt.examples.controls/src/org/eclipse/swt/examples/controls/ControlPlugin.java
    examples/org.eclipse.swt.examples.controls/src/org/eclipse/swt/examples/controls/ControlView.java
    examples/org.eclipse.swt.examples.controls/src/org/eclipse/swt/examples/controls/CustomControlView.java
    examples/org.eclipse.swt.examples.launcher/.classpath
    examples/org.eclipse.swt.examples.launcher/.cvsignore
    examples/org.eclipse.swt.examples.launcher/.project
    examples/org.eclipse.swt.examples.launcher/.settings/org.eclipse.jdt.core.prefs
    examples/org.eclipse.swt.examples.launcher/about.html
    examples/org.eclipse.swt.examples.launcher/build.properties
    examples/org.eclipse.swt.examples.launcher/doc-html/swt_launcher_ex.html
    examples/org.eclipse.swt.examples.launcher/doc/org.eclipse.swt.examples.launcher.launchItems.html
    examples/org.eclipse.swt.examples.launcher/icons/closedFolder.gif
    examples/org.eclipse.swt.examples.launcher/icons/generic_example.gif
    examples/org.eclipse.swt.examples.launcher/icons/launcher_example.gif
    examples/org.eclipse.swt.examples.launcher/icons/openFolder.gif
    examples/org.eclipse.swt.examples.launcher/plugin.properties
    examples/org.eclipse.swt.examples.launcher/plugin.xml
    examples/org.eclipse.swt.examples.launcher/schema/org.eclipse.swt.examples.launcher.launchItems.exsd
    examples/org.eclipse.swt.examples.launcher/src/import.properties
    examples/org.eclipse.swt.examples.launcher/src/org/eclipse/swt/examples/launcher/ItemDescriptor.java
    examples/org.eclipse.swt.examples.launcher/src/org/eclipse/swt/examples/launcher/ItemTreeNode.java
    examples/org.eclipse.swt.examples.launcher/src/org/eclipse/swt/examples/launcher/LauncherPlugin.java
    examples/org.eclipse.swt.examples.launcher/src/org/eclipse/swt/examples/launcher/LauncherView.java
    examples/org.eclipse.swt.examples.launcher/src/org/eclipse/swt/examples/launcher/SplitLayout.java
    examples/org.eclipse.swt.examples.layouts/.classpath
    examples/org.eclipse.swt.examples.layouts/.cvsignore
    examples/org.eclipse.swt.examples.layouts/.project
    examples/org.eclipse.swt.examples.layouts/.settings/org.eclipse.jdt.core.prefs
    examples/org.eclipse.swt.examples.layouts/about.html
    examples/org.eclipse.swt.examples.layouts/build.properties
    examples/org.eclipse.swt.examples.layouts/doc-html/swt_layout_ex.html
    examples/org.eclipse.swt.examples.layouts/icons/layouts_example.gif
    examples/org.eclipse.swt.examples.layouts/plugin.properties
    examples/org.eclipse.swt.examples.layouts/plugin.xml
    examples/org.eclipse.swt.examples.layouts/src/import.properties
    examples/org.eclipse.swt.examples.layouts/src/org/eclipse/swt/examples/layouts/LayoutPlugin.java
    examples/org.eclipse.swt.examples.layouts/src/org/eclipse/swt/examples/layouts/LayoutView.java
    examples/org.eclipse.swt.examples.ole.win32/.classpath
    examples/org.eclipse.swt.examples.ole.win32/.cvsignore
    examples/org.eclipse.swt.examples.ole.win32/.project
    examples/org.eclipse.swt.examples.ole.win32/.settings/org.eclipse.jdt.core.prefs
    examples/org.eclipse.swt.examples.ole.win32/about.html
    examples/org.eclipse.swt.examples.ole.win32/build.properties
    examples/org.eclipse.swt.examples.ole.win32/doc-html/swt_ole_ex.html
    examples/org.eclipse.swt.examples.ole.win32/icons/backward_nav.gif
    examples/org.eclipse.swt.examples.ole.win32/icons/forward_nav.gif
    examples/org.eclipse.swt.examples.ole.win32/icons/home_nav.gif
    examples/org.eclipse.swt.examples.ole.win32/icons/refresh_nav.gif
    examples/org.eclipse.swt.examples.ole.win32/icons/search_nav.gif
    examples/org.eclipse.swt.examples.ole.win32/icons/stop_nav.gif
    examples/org.eclipse.swt.examples.ole.win32/icons/webbrowser_example.gif
    examples/org.eclipse.swt.examples.ole.win32/plugin.properties
    examples/org.eclipse.swt.examples.ole.win32/plugin.xml
    examples/org.eclipse.swt.examples.ole.win32/src/import.properties
    examples/org.eclipse.swt.examples.ole.win32/src/org/eclipse/swt/examples/ole/win32/OLEExample.java
    examples/org.eclipse.swt.examples.ole.win32/src/org/eclipse/swt/examples/ole/win32/OleBrowserView.java
    examples/org.eclipse.swt.examples.ole.win32/src/org/eclipse/swt/examples/ole/win32/OlePlugin.java
    examples/org.eclipse.swt.examples.ole.win32/src/org/eclipse/swt/examples/ole/win32/OleWebBrowser.java
    examples/org.eclipse.swt.examples.paint/.classpath
    examples/org.eclipse.swt.examples.paint/.cvsignore
    examples/org.eclipse.swt.examples.paint/.project
    examples/org.eclipse.swt.examples.paint/.settings/org.eclipse.jdt.core.prefs
    examples/org.eclipse.swt.examples.paint/about.html
    examples/org.eclipse.swt.examples.paint/build.properties
    examples/org.eclipse.swt.examples.paint/doc-html/swt_paint_ex.html
    examples/org.eclipse.swt.examples.paint/icons/paint_example.gif
    examples/org.eclipse.swt.examples.paint/plugin.properties
    examples/org.eclipse.swt.examples.paint/plugin.xml
    examples/org.eclipse.swt.examples.paint/src/import.properties
    examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintPlugin.java
    examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintView.java
    examples/org.eclipse.swt.examples/.classpath
    examples/org.eclipse.swt.examples/.cvsignore
    examples/org.eclipse.swt.examples/.project
    examples/org.eclipse.swt.examples/.settings/org.eclipse.jdt.core.prefs
    examples/org.eclipse.swt.examples/.settings/org.eclipse.pde.prefs
    examples/org.eclipse.swt.examples/about.html
    examples/org.eclipse.swt.examples/build.properties
    examples/org.eclipse.swt.examples/doc-html/swt_addressbook_ex.html
    examples/org.eclipse.swt.examples/doc-html/swt_browser_ex.html
    examples/org.eclipse.swt.examples/doc-html/swt_clipboard_ex.html
    examples/org.eclipse.swt.examples/doc-html/swt_controls_ex.html
    examples/org.eclipse.swt.examples/doc-html/swt_customcontrols_ex.html
    examples/org.eclipse.swt.examples/doc-html/swt_dnd_ex.html
    examples/org.eclipse.swt.examples/doc-html/swt_fileviewer_ex.html
    examples/org.eclipse.swt.examples/doc-html/swt_helloworld_ex.html
    examples/org.eclipse.swt.examples/doc-html/swt_hoverhelp_ex.html
    examples/org.eclipse.swt.examples/doc-html/swt_imageanalyzer_ex.html
    examples/org.eclipse.swt.examples/doc-html/swt_javaviewer_ex.html
    examples/org.eclipse.swt.examples/doc-html/swt_launcher_ex.html
    examples/org.eclipse.swt.examples/doc-html/swt_layout_ex.html
    examples/org.eclipse.swt.examples/doc-html/swt_manual_setup.html
    examples/org.eclipse.swt.examples/doc-html/swt_paint_ex.html
    examples/org.eclipse.swt.examples/doc-html/swt_texteditor_ex.html
    examples/org.eclipse.swt.examples/plugin.properties
    examples/org.eclipse.swt.examples/plugin.xml
    examples/org.eclipse.swt.examples/src/examples_addressbook.properties
    examples/org.eclipse.swt.examples/src/examples_browser.properties
    examples/org.eclipse.swt.examples/src/examples_control.properties
    examples/org.eclipse.swt.examples/src/examples_fileviewer.properties
    examples/org.eclipse.swt.examples/src/examples_graphics.properties
    examples/org.eclipse.swt.examples/src/examples_helloworld.properties
    examples/org.eclipse.swt.examples/src/examples_hoverhelp.properties
    examples/org.eclipse.swt.examples/src/examples_images.properties
    examples/org.eclipse.swt.examples/src/examples_javaviewer.properties
    examples/org.eclipse.swt.examples/src/examples_layout.properties
    examples/org.eclipse.swt.examples/src/examples_paint.properties
    examples/org.eclipse.swt.examples/src/examples_texteditor.properties
    examples/org.eclipse.swt.examples/src/import.properties
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/addressbook/AddressBook.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/addressbook/DataEntryDialog.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/addressbook/FindListener.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/addressbook/SearchDialog.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/browserexample/BrowserExample.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/browserexample/document.gif
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/browserexample/eclipse01.bmp
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/browserexample/eclipse02.bmp
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/browserexample/eclipse03.bmp
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/browserexample/eclipse04.bmp
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/browserexample/eclipse05.bmp
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/browserexample/eclipse06.bmp
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/browserexample/eclipse07.bmp
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/browserexample/eclipse08.bmp
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/browserexample/eclipse09.bmp
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/browserexample/eclipse10.bmp
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/browserexample/eclipse11.bmp
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/browserexample/eclipse12.bmp
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/clipboard/ClipboardExample.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/clipboard/MyType.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/clipboard/MyTypeTransfer.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/AlignableTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/BrowserTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ButtonTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/CComboTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/CLabelTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/CTabFolderTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/CanvasTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ComboTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ControlExample.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/CoolBarTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/CustomControlExample.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/DateTimeTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/DialogTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ExpandBarTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/GroupTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/LabelTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/LinkTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ListTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/MenuTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ProgressBarTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/RangeTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/SashFormTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/SashTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ScaleTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ScrollableTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ShellTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/SliderTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/SpinnerTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/StyledTextTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/Tab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/TabFolderTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/TableTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/TextTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ToolBarTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ToolTipTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/TreeTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/backgroundImage.png
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/bold.bmp
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/bold_mask.bmp
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/browser-content.html
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/closedFolder.gif
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/italic.bmp
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/italic_mask.bmp
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/openFolder.gif
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/parentBackgroundImage.png
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/red.bmp
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/red_mask.bmp
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/strikeout.bmp
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/strikeout_mask.bmp
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/target.gif
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/underline.bmp
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/underline_mask.bmp
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/yellow.bmp
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/yellow_mask.bmp
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/dnd/DNDExample.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/dnd/ImageTransfer.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/FileViewer.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/IconCache.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/cmd_Copy.gif
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/cmd_Cut.gif
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/cmd_Delete.gif
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/cmd_Parent.gif
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/cmd_Paste.gif
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/cmd_Print.gif
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/cmd_Refresh.gif
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/cmd_Rename.gif
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/cmd_Search.gif
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/generic_example.gif
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/icon_ClosedDrive.gif
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/icon_ClosedFolder.gif
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/icon_File.gif
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/icon_OpenDrive.gif
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/icon_OpenFolder.gif
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/AdvancedGraphics.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/AlphaTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/AnimatedGraphicsTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/BallTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/BlackHoleTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/CardsTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ColorListener.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ColorMenu.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/CountDownTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/CurvesSWTTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/CurvesTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/CustomAlphaTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/CustomFontTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/FontBounceTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/GradientDialog.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/GradientTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/GraphicAntialiasTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/GraphicsBackground.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/GraphicsExample.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/GraphicsTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ImageFlipTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ImageScaleTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ImageTransformTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/InterpolationTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/IntroTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/LineCapTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/LineJoinTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/LineStyleTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/LineTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/MazeTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/PathClippingAnimTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/PathClippingTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/PathTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/RGBTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/RegionClippingTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ShapesTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/SpiralTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/StarPolyTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/TextAntialiasTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ace_club.jpg
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ace_diamond.jpg
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ace_hearts.jpg
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ace_spade.jpg
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/alpha_img1.png
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/alpha_img2.png
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/back.gif
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/cube.png
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/db.gif
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/font.gif
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/help.gif
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/home_nav.gif
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/houses.png
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/irmaos.jpg
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/maze.bmp
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/next.gif
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ovals.png
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/pattern1.jpg
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/pattern2.jpg
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/pattern3.jpg
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/pause.gif
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/play.gif
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/swap.gif
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/swt.png
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/task.gif
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/helloworld/HelloWorld1.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/helloworld/HelloWorld2.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/helloworld/HelloWorld3.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/helloworld/HelloWorld4.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/helloworld/HelloWorld5.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/hoverhelp/HoverHelp.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/hoverhelp/information.gif
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/hoverhelp/warning.gif
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/imageanalyzer/ImageAnalyzer.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/javaviewer/JavaLineStyler.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/javaviewer/JavaViewer.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/layoutexample/FillLayoutTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/layoutexample/FormLayoutTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/layoutexample/GridLayoutTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/layoutexample/LayoutExample.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/layoutexample/RowLayoutTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/layoutexample/StackLayoutTab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/layoutexample/Tab.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/AirbrushTool.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/BasicPaintSession.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/ContainerFigure.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/ContinuousPaintSession.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/DragPaintSession.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/EllipseFigure.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/EllipseTool.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/Figure.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/FigureDrawContext.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/LineFigure.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/LineTool.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/PaintExample.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/PaintSession.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/PaintSurface.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/PaintTool.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/PencilTool.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/PointFigure.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/PolyLineTool.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/RectangleFigure.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/RectangleTool.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/RoundedRectangleFigure.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/RoundedRectangleTool.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/SegmentedPaintSession.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/SolidEllipseFigure.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/SolidPolygonFigure.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/SolidRectangleFigure.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/SolidRoundedRectangleFigure.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/TextFigure.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/TextTool.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/Tool.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/ToolSettings.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/fill_none.gif
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/fill_outline.gif
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/fill_solid.gif
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/linestyle_dash.gif
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/linestyle_dashdot.gif
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/linestyle_dot.gif
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/linestyle_solid.gif
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/options_font.gif
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/tool_airbrush.gif
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/tool_ellipse.gif
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/tool_line.gif
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/tool_pencil.gif
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/tool_polyline.gif
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/tool_rectangle.gif
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/tool_roundedrectangle.gif
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/tool_text.gif
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/Images.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/TextEditor.java
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/blue.bmp
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/blue_mask.bmp
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/bold.bmp
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/bold_mask.bmp
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/erase.bmp
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/erase_mask.bmp
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/green.bmp
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/green_mask.bmp
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/italic.bmp
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/italic_mask.bmp
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/red.bmp
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/red_mask.bmp
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/strikeout.bmp
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/strikeout_mask.bmp
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/underline.bmp
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/underline_mask.bmp
    examples/org.eclipse.swt.opengl.examples/.classpath
    examples/org.eclipse.swt.opengl.examples/.cvsignore
    examples/org.eclipse.swt.opengl.examples/.project
    examples/org.eclipse.swt.opengl.examples/about.html
    examples/org.eclipse.swt.opengl.examples/build.properties
    examples/org.eclipse.swt.opengl.examples/plugin.properties
    examples/org.eclipse.swt.opengl.examples/plugin.xml
    examples/org.eclipse.swt.opengl.examples/src/examples_opengl.properties
    examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/AntialiasingTab.java
    examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/AreaTab.java
    examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/ColorSelectionGroup.java
    examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/FogTab.java
    examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/GradientTab.java
    examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/IColorSelectionListener.java
    examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/ImageDataUtil.java
    examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/LWJGLExample.java
    examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/LightTab.java
    examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/NurbTab.java
    examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/ObjectsTab.java
    examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/OpenGLExample.java
    examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/OpenGLTab.java
    examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/ReflectionTab.java
    examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/StencilTab.java
    examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/TextureTab.java
    examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/TransparencyTab.java
    examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/images/Ball.jpg
    examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/images/Box.bmp
    examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/images/Floor.jpg
    examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/images/splash.bmp
    examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/images/untitled.jpg
    examples/org.eclipse.swt.snippets/.classpath
    examples/org.eclipse.swt.snippets/.cvsignore
    examples/org.eclipse.swt.snippets/.project
    examples/org.eclipse.swt.snippets/about.html
    examples/org.eclipse.swt.snippets/build.properties
    examples/org.eclipse.swt.snippets/plugin.properties
    examples/org.eclipse.swt.snippets/plugin.xml
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet1.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet10.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet100.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet101.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet102.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet103.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet104.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet105.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet106.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet107.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet108.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet109.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet11.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet110.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet111.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet112.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet113.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet114.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet115.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet116.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet117.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet118.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet119.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet12.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet120.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet121.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet122.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet123.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet124.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet125.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet126.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet127.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet128.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet129.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet13.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet130.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet131.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet132.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet133.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet134.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet135.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet136.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet137.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet138.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet139.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet14.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet140.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet141.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet142.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet143.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet144.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet145.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet146.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet147.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet148.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet149.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet15.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet150.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet151.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet152.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet153.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet154.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet155.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet156.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet157.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet158.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet159.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet16.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet160.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet161.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet162.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet163.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet164.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet165.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet166.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet167.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet168.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet169.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet17.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet170.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet171.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet172.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet173.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet174.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet175.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet176.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet177.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet178.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet179.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet18.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet180.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet181.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet182.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet183.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet184.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet185.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet186.html
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet186.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet187.html
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet187.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet188.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet189.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet19.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet190.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet191.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet192.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet193.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet194.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet195.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet196.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet197.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet198.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet199.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet2.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet20.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet200.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet201.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet202.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet203.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet204.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet205.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet206.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet207.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet208.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet209.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet21.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet210.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet211.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet212.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet213.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet214.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet215.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet216.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet217.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet218.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet219.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet22.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet220.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet221.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet222.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet223.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet224.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet225.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet226.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet227.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet228.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet229.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet23.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet230.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet231.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet232.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet233.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet234.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet235.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet236.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet237.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet238.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet239.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet24.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet240.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet241.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet242.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet243.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet244.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet245.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet246.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet247.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet248.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet249.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet25.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet250.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet251.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet252.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet253.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet256.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet257.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet258.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet259.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet26.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet260.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet261.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet262.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet263.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet264.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet265.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet266.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet267.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet268.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet269.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet27.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet270.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet271.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet272.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet273.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet274.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet275.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet276.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet277.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet278.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet279.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet28.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet280.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet281.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet282.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet283.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet284.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet285.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet286.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet287.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet288.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet289.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet29.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet290.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet291.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet292.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet293.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet294.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet295.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet296.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet297.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet3.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet30.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet31.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet32.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet33.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet34.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet35.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet36.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet37.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet38.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet39.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet4.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet40.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet41.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet42.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet43.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet44.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet45.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet46.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet47.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet48.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet49.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet5.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet50.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet51.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet52.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet53.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet54.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet55.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet56.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet57.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet58.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet59.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet6.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet60.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet61.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet62.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet63.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet64.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet65.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet66.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet67.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet68.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet69.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet7.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet70.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet71.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet72.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet73.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet74.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet75.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet76.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet77.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet78.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet79.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet8.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet80.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet81.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet82.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet83.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet84.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet85.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet86.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet87.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet88.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet89.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet9.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet90.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet91.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet92.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet93.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet94.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet95.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet96.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet97.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet98.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet99.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/SnippetLauncher.java
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/cancel.gif
    examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/eclipse.png
diff --git a/bundles/org.eclipse.swt.opengl/.classpath_carbon b/bundles/org.eclipse.swt.opengl/.classpath_carbon
deleted file mode 100755
index 027aa0d..0000000
--- a/bundles/org.eclipse.swt.opengl/.classpath_carbon
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry sourcepath="JRE_SRC" kind="var" path="JRE_LIB"/>
-	<classpathentry kind="src" path="common"/>
-	<classpathentry kind="src" path="carbon">
-	    <attributes>
-			<attribute value="org.eclipse.swt.opengl.carbon" name="org.eclipse.jdt.launching.CLASSPATH_ATTR_LIBRARY_PATH_ENTRY"/>
-		</attributes>
-	</classpathentry>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="/org.eclipse.swt"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt.opengl/.classpath_gtk b/bundles/org.eclipse.swt.opengl/.classpath_gtk
deleted file mode 100644
index f310079..0000000
--- a/bundles/org.eclipse.swt.opengl/.classpath_gtk
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry sourcepath="JRE_SRC" kind="var" path="JRE_LIB"/>
-	<classpathentry kind="src" path="common"/>
-	<classpathentry kind="src" path="gtk">
-	    <attributes>
-			<attribute value="org.eclipse.swt.opengl.gtk/os/linux/x86" name="org.eclipse.jdt.launching.CLASSPATH_ATTR_LIBRARY_PATH_ENTRY"/>
-		</attributes>
-	</classpathentry>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="/org.eclipse.swt"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt.opengl/.classpath_motif b/bundles/org.eclipse.swt.opengl/.classpath_motif
deleted file mode 100644
index 75b5fe1..0000000
--- a/bundles/org.eclipse.swt.opengl/.classpath_motif
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry sourcepath="JRE_SRC" kind="var" path="JRE_LIB"/>
-	<classpathentry kind="src" path="common"/>
-	<classpathentry kind="src" path="motif"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="/org.eclipse.swt"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt.opengl/.classpath_win32 b/bundles/org.eclipse.swt.opengl/.classpath_win32
deleted file mode 100644
index 478159e..0000000
--- a/bundles/org.eclipse.swt.opengl/.classpath_win32
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry sourcepath="JRE_SRC" kind="var" path="JRE_LIB"/>
-	<classpathentry kind="src" path="common"/>
-	<classpathentry kind="src" path="win32">
-	    <attributes>
-			<attribute value="org.eclipse.swt.opengl.win32/os/win32/x86" name="org.eclipse.jdt.launching.CLASSPATH_ATTR_LIBRARY_PATH_ENTRY"/>
-		</attributes>
-	</classpathentry>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="/org.eclipse.swt"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.swt.opengl/.cvsignore b/bundles/org.eclipse.swt.opengl/.cvsignore
deleted file mode 100644
index 661113b..0000000
--- a/bundles/org.eclipse.swt.opengl/.cvsignore
+++ /dev/null
@@ -1,3 +0,0 @@
-bin
-.classpath
-ws
diff --git a/bundles/org.eclipse.swt.opengl/.project b/bundles/org.eclipse.swt.opengl/.project
deleted file mode 100644
index 577537a..0000000
--- a/bundles/org.eclipse.swt.opengl/.project
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.swt.opengl</name>
-	<comment></comment>
-	<projects>
-		<project>org.eclipse.swt</project>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.team.cvs.core.cvsnature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.swt.opengl/META-INF/MANIFEST.MF b/bundles/org.eclipse.swt.opengl/META-INF/MANIFEST.MF
deleted file mode 100644
index 8da336d..0000000
--- a/bundles/org.eclipse.swt.opengl/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,9 +0,0 @@
-Manifest-Version: 1.0
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-SymbolicName: org.eclipse.swt.opengl; singleton=true
-Bundle-Version: 3.1.0
-Bundle-ClassPath: $ws$/opengl.jar
-Bundle-Localization: plugin
-Provide-Package: 
-  org.eclipse.swt.opengl
diff --git a/bundles/org.eclipse.swt.opengl/about.html b/bundles/org.eclipse.swt.opengl/about.html
deleted file mode 100644
index 6f6b96c..0000000
--- a/bundles/org.eclipse.swt.opengl/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/bundles/org.eclipse.swt.opengl/carbon/library/agl.c b/bundles/org.eclipse.swt.opengl/carbon/library/agl.c
deleted file mode 100644
index 6b612c0..0000000
--- a/bundles/org.eclipse.swt.opengl/carbon/library/agl.c
+++ /dev/null
@@ -1,193 +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
-*******************************************************************************/
-
-#include "swt.h"
-#include "agl_structs.h"
-#include "agl_stats.h"
-
-#define AGL_NATIVE(func) Java_org_eclipse_swt_internal_opengl_carbon_AGL_##func
-
-#ifndef NO_aglChoosePixelFormat
-JNIEXPORT jint JNICALL AGL_NATIVE(aglChoosePixelFormat)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	jint rc = 0;
-	AGL_NATIVE_ENTER(env, that, aglChoosePixelFormat_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)aglChoosePixelFormat(arg0, arg1, lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	AGL_NATIVE_EXIT(env, that, aglChoosePixelFormat_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_aglCreateContext
-JNIEXPORT jint JNICALL AGL_NATIVE(aglCreateContext)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	AGL_NATIVE_ENTER(env, that, aglCreateContext_FUNC);
-	rc = (jint)aglCreateContext(arg0, arg1);
-	AGL_NATIVE_EXIT(env, that, aglCreateContext_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_aglDescribePixelFormat
-JNIEXPORT jboolean JNICALL AGL_NATIVE(aglDescribePixelFormat)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	jboolean rc = 0;
-	AGL_NATIVE_ENTER(env, that, aglDescribePixelFormat_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jboolean)aglDescribePixelFormat(arg0, arg1, lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	AGL_NATIVE_EXIT(env, that, aglDescribePixelFormat_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_aglDestroyContext
-JNIEXPORT jboolean JNICALL AGL_NATIVE(aglDestroyContext)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	AGL_NATIVE_ENTER(env, that, aglDestroyContext_FUNC);
-	rc = (jboolean)aglDestroyContext(arg0);
-	AGL_NATIVE_EXIT(env, that, aglDestroyContext_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_aglDestroyPixelFormat
-JNIEXPORT void JNICALL AGL_NATIVE(aglDestroyPixelFormat)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	AGL_NATIVE_ENTER(env, that, aglDestroyPixelFormat_FUNC);
-	aglDestroyPixelFormat(arg0);
-	AGL_NATIVE_EXIT(env, that, aglDestroyPixelFormat_FUNC);
-}
-#endif
-
-#ifndef NO_aglEnable
-JNIEXPORT jboolean JNICALL AGL_NATIVE(aglEnable)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jboolean rc = 0;
-	AGL_NATIVE_ENTER(env, that, aglEnable_FUNC);
-	rc = (jboolean)aglEnable(arg0, arg1);
-	AGL_NATIVE_EXIT(env, that, aglEnable_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_aglGetCurrentContext
-JNIEXPORT jint JNICALL AGL_NATIVE(aglGetCurrentContext)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	AGL_NATIVE_ENTER(env, that, aglGetCurrentContext_FUNC);
-	rc = (jint)aglGetCurrentContext();
-	AGL_NATIVE_EXIT(env, that, aglGetCurrentContext_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_aglGetDrawable
-JNIEXPORT jint JNICALL AGL_NATIVE(aglGetDrawable)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	AGL_NATIVE_ENTER(env, that, aglGetDrawable_FUNC);
-	rc = (jint)aglGetDrawable(arg0);
-	AGL_NATIVE_EXIT(env, that, aglGetDrawable_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_aglSetCurrentContext
-JNIEXPORT jboolean JNICALL AGL_NATIVE(aglSetCurrentContext)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	AGL_NATIVE_ENTER(env, that, aglSetCurrentContext_FUNC);
-	rc = (jboolean)aglSetCurrentContext(arg0);
-	AGL_NATIVE_EXIT(env, that, aglSetCurrentContext_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_aglSetDrawable
-JNIEXPORT jboolean JNICALL AGL_NATIVE(aglSetDrawable)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jboolean rc = 0;
-	AGL_NATIVE_ENTER(env, that, aglSetDrawable_FUNC);
-	rc = (jboolean)aglSetDrawable(arg0, arg1);
-	AGL_NATIVE_EXIT(env, that, aglSetDrawable_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_aglSetInteger__III
-JNIEXPORT jboolean JNICALL AGL_NATIVE(aglSetInteger__III)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jboolean rc = 0;
-	AGL_NATIVE_ENTER(env, that, aglSetInteger__III_FUNC);
-	rc = (jboolean)aglSetInteger(arg0, arg1, arg2);
-	AGL_NATIVE_EXIT(env, that, aglSetInteger__III_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_aglSetInteger__II_3I
-JNIEXPORT jboolean JNICALL AGL_NATIVE(aglSetInteger__II_3I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	jboolean rc = 0;
-	AGL_NATIVE_ENTER(env, that, aglSetInteger__II_3I_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jboolean)aglSetInteger(arg0, arg1, lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	AGL_NATIVE_EXIT(env, that, aglSetInteger__II_3I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_aglSwapBuffers
-JNIEXPORT void JNICALL AGL_NATIVE(aglSwapBuffers)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	AGL_NATIVE_ENTER(env, that, aglSwapBuffers_FUNC);
-	aglSwapBuffers(arg0);
-	AGL_NATIVE_EXIT(env, that, aglSwapBuffers_FUNC);
-}
-#endif
-
-#ifndef NO_aglUpdateContext
-JNIEXPORT jboolean JNICALL AGL_NATIVE(aglUpdateContext)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	AGL_NATIVE_ENTER(env, that, aglUpdateContext_FUNC);
-	rc = (jboolean)aglUpdateContext(arg0);
-	AGL_NATIVE_EXIT(env, that, aglUpdateContext_FUNC);
-	return rc;
-}
-#endif
-
diff --git a/bundles/org.eclipse.swt.opengl/carbon/library/agl.h b/bundles/org.eclipse.swt.opengl/carbon/library/agl.h
deleted file mode 100644
index 9a87d42..0000000
--- a/bundles/org.eclipse.swt.opengl/carbon/library/agl.h
+++ /dev/null
@@ -1,3 +0,0 @@
-
-#include <OpenGL/gl.h>
-
diff --git a/bundles/org.eclipse.swt.opengl/carbon/library/agl_stats.c b/bundles/org.eclipse.swt.opengl/carbon/library/agl_stats.c
deleted file mode 100644
index c1f0167..0000000
--- a/bundles/org.eclipse.swt.opengl/carbon/library/agl_stats.c
+++ /dev/null
@@ -1,56 +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
-*******************************************************************************/
-
-#include "swt.h"
-#include "agl_stats.h"
-
-#ifdef NATIVE_STATS
-
-int AGL_nativeFunctionCount = 14;
-int AGL_nativeFunctionCallCount[14];
-char * AGL_nativeFunctionNames[] = {
-	"aglChoosePixelFormat",
-	"aglCreateContext",
-	"aglDescribePixelFormat",
-	"aglDestroyContext",
-	"aglDestroyPixelFormat",
-	"aglEnable",
-	"aglGetCurrentContext",
-	"aglGetDrawable",
-	"aglSetCurrentContext",
-	"aglSetDrawable",
-	"aglSetInteger__III",
-	"aglSetInteger__II_3I",
-	"aglSwapBuffers",
-	"aglUpdateContext",
-};
-
-#define STATS_NATIVE(func) Java_org_eclipse_swt_tools_internal_NativeStats_##func
-
-JNIEXPORT jint JNICALL STATS_NATIVE(AGL_1GetFunctionCount)
-	(JNIEnv *env, jclass that)
-{
-	return AGL_nativeFunctionCount;
-}
-
-JNIEXPORT jstring JNICALL STATS_NATIVE(AGL_1GetFunctionName)
-	(JNIEnv *env, jclass that, jint index)
-{
-	return (*env)->NewStringUTF(env, AGL_nativeFunctionNames[index]);
-}
-
-JNIEXPORT jint JNICALL STATS_NATIVE(AGL_1GetFunctionCallCount)
-	(JNIEnv *env, jclass that, jint index)
-{
-	return AGL_nativeFunctionCallCount[index];
-}
-
-#endif
diff --git a/bundles/org.eclipse.swt.opengl/carbon/library/agl_stats.h b/bundles/org.eclipse.swt.opengl/carbon/library/agl_stats.h
deleted file mode 100644
index fc359af..0000000
--- a/bundles/org.eclipse.swt.opengl/carbon/library/agl_stats.h
+++ /dev/null
@@ -1,38 +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
-*******************************************************************************/
-
-#ifdef NATIVE_STATS
-extern int AGL_nativeFunctionCount;
-extern int AGL_nativeFunctionCallCount[];
-extern char* AGL_nativeFunctionNames[];
-#define AGL_NATIVE_ENTER(env, that, func) AGL_nativeFunctionCallCount[func]++;
-#define AGL_NATIVE_EXIT(env, that, func) 
-#else
-#define AGL_NATIVE_ENTER(env, that, func) 
-#define AGL_NATIVE_EXIT(env, that, func) 
-#endif
-
-typedef enum {
-	aglChoosePixelFormat_FUNC,
-	aglCreateContext_FUNC,
-	aglDescribePixelFormat_FUNC,
-	aglDestroyContext_FUNC,
-	aglDestroyPixelFormat_FUNC,
-	aglEnable_FUNC,
-	aglGetCurrentContext_FUNC,
-	aglGetDrawable_FUNC,
-	aglSetCurrentContext_FUNC,
-	aglSetDrawable_FUNC,
-	aglSetInteger__III_FUNC,
-	aglSetInteger__II_3I_FUNC,
-	aglSwapBuffers_FUNC,
-	aglUpdateContext_FUNC,
-} AGL_FUNCS;
diff --git a/bundles/org.eclipse.swt.opengl/carbon/library/agl_structs.h b/bundles/org.eclipse.swt.opengl/carbon/library/agl_structs.h
deleted file mode 100644
index 36531f5..0000000
--- a/bundles/org.eclipse.swt.opengl/carbon/library/agl_structs.h
+++ /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
-*******************************************************************************/
-
-#include "agl.h"
-
diff --git a/bundles/org.eclipse.swt.opengl/carbon/org/eclipse/swt/internal/opengl/carbon/AGL.java b/bundles/org.eclipse.swt.opengl/carbon/org/eclipse/swt/internal/opengl/carbon/AGL.java
deleted file mode 100644
index 3c1339e..0000000
--- a/bundles/org.eclipse.swt.opengl/carbon/org/eclipse/swt/internal/opengl/carbon/AGL.java
+++ /dev/null
@@ -1,63 +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.swt.internal.opengl.carbon;
-
-import org.eclipse.swt.opengl.Library;
-
-public class AGL {
-
-static {
-	Library.loadLibrary("gl");
-}
-
-/* Attributes */
-public static final int AGL_NONE = 0;
-public static final int AGL_BUFFER_SIZE = 2;
-public static final int AGL_LEVEL = 3;
-public static final int AGL_RGBA = 4;
-public static final int AGL_DOUBLEBUFFER = 5;
-public static final int AGL_STEREO = 6;
-public static final int AGL_AUX_BUFFERS = 7;
-public static final int AGL_RED_SIZE = 8;
-public static final int AGL_GREEN_SIZE = 9;
-public static final int AGL_BLUE_SIZE = 10;
-public static final int AGL_ALPHA_SIZE = 11;
-public static final int AGL_DEPTH_SIZE = 12;
-public static final int AGL_STENCIL_SIZE = 13;
-public static final int AGL_ACCUM_RED_SIZE = 14;
-public static final int AGL_ACCUM_GREEN_SIZE = 15;
-public static final int AGL_ACCUM_BLUE_SIZE = 16;
-public static final int AGL_ACCUM_ALPHA_SIZE = 17;
-
-public static final int AGL_SAMPLE_BUFFERS_ARB = 55;
-public static final int AGL_SAMPLES_ARB = 56;
-
-/* Integer parameters */
-public static final int AGL_BUFFER_RECT = 202;
-public static final int AGL_SWAP_INTERVAL = 222;
-public static final int AGL_BUFFER_NAME = 231;
-public static final int AGL_CLIP_REGION = 254;
-
-public static final native int aglChoosePixelFormat(int gdevs, int ndev, int[] attribs);
-public static final native int aglCreateContext(int pix, int share);
-public static final native boolean aglDescribePixelFormat(int pix, int attrib, int[] value);
-public static final native boolean aglDestroyContext(int ctx);
-public static final native void aglDestroyPixelFormat(int pix);
-public static final native boolean aglEnable(int ctx, int pname);
-public static final native int aglGetCurrentContext();
-public static final native int aglGetDrawable(int ctx);
-public static final native boolean aglSetCurrentContext(int ctx);
-public static final native boolean aglSetDrawable(int ctx, int draw);
-public static final native boolean aglSetInteger(int ctx, int pname, int[] params);
-public static final native boolean aglSetInteger(int ctx, int pname, int param);
-public static final native void aglSwapBuffers(int ctx);
-public static final native boolean aglUpdateContext(int ctx);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt.opengl/carbon/org/eclipse/swt/opengl/GLCanvas.java b/bundles/org.eclipse.swt.opengl/carbon/org/eclipse/swt/opengl/GLCanvas.java
deleted file mode 100755
index ebfc775..0000000
--- a/bundles/org.eclipse.swt.opengl/carbon/org/eclipse/swt/opengl/GLCanvas.java
+++ /dev/null
@@ -1,255 +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.swt.opengl;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.internal.carbon.*;
-import org.eclipse.swt.internal.opengl.carbon.*;
-
-/**
- * GLCanvas is a widget capable of displaying OpenGL content.
- */
-
-public class GLCanvas extends Canvas {	
-	int context;
-	int pixelFormat;
-	static final int MAX_ATTRIBUTES = 32;
-
-/**
- * Create a GLCanvas widget using the attributes described in the GLData
- * object provided.
- *
- * @param parent a composite widget
- * @param style the bitwise OR'ing of widget styles
- * @param data the requested attributes of the GLCanvas
- *
- * @exception IllegalArgumentException
- * <ul><li>ERROR_NULL_ARGUMENT when the data is null
- *     <li>ERROR_UNSUPPORTED_DEPTH when the requested attributes cannot be provided</ul> 
- * @exception SWTException
- * <ul><li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread
- *     <li>ERROR_CANNOT_CREATE_OBJECT when failed to create OLE Object
- *     <li>ERROR_CANNOT_OPEN_FILE when failed to open file
- *     <li>ERROR_INTERFACE_NOT_FOUND when unable to create callbacks for OLE Interfaces
- *     <li>ERROR_INVALID_CLASSID
- * </ul>
- */
-public GLCanvas (Composite parent, int style, GLData data) {
-	super (parent, style);
-	if (data == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-	int aglAttrib [] = new int [MAX_ATTRIBUTES];
-	int pos = 0;
-	aglAttrib [pos++] = AGL.AGL_RGBA;
-	if (data.doubleBuffer) aglAttrib [pos++] = AGL.AGL_DOUBLEBUFFER;
-	if (data.stereo) aglAttrib [pos++] = AGL.AGL_STEREO;
-	if (data.redSize > 0) {
-		aglAttrib [pos++] = AGL.AGL_RED_SIZE;
-		aglAttrib [pos++] = data.redSize;
-	}
-	if (data.greenSize > 0) {
-		aglAttrib [pos++] = AGL.AGL_GREEN_SIZE;
-		aglAttrib [pos++] = data.greenSize;
-	}
-	if (data.blueSize > 0) {
-		aglAttrib [pos++] = AGL.AGL_BLUE_SIZE;
-		aglAttrib [pos++] = data.blueSize;
-	}
-	if (data.alphaSize > 0) {
-		aglAttrib [pos++] = AGL.AGL_ALPHA_SIZE;
-		aglAttrib [pos++] = data.alphaSize;
-	}
-	if (data.depthSize > 0) {
-		aglAttrib [pos++] = AGL.AGL_DEPTH_SIZE;
-		aglAttrib [pos++] = data.depthSize;
-	}
-	if (data.stencilSize > 0) {
-		aglAttrib [pos++] = AGL.AGL_STENCIL_SIZE;
-		aglAttrib [pos++] = data.stencilSize;
-	}
-	if (data.accumRedSize > 0) {
-		aglAttrib [pos++] = AGL.AGL_ACCUM_RED_SIZE;
-		aglAttrib [pos++] = data.accumRedSize;
-	}
-	if (data.accumGreenSize > 0) {
-		aglAttrib [pos++] = AGL.AGL_ACCUM_GREEN_SIZE;
-		aglAttrib [pos++] = data.accumGreenSize;
-	}
-	if (data.accumBlueSize > 0) {
-		aglAttrib [pos++] = AGL.AGL_ACCUM_BLUE_SIZE;
-		aglAttrib [pos++] = data.accumBlueSize;
-	}
-	if (data.accumAlphaSize > 0) {
-		aglAttrib [pos++] = AGL.AGL_ACCUM_ALPHA_SIZE;
-		aglAttrib [pos++] = data.accumAlphaSize;
-	}
-	if (data.sampleBuffers > 0) {
-		aglAttrib [pos++] = AGL.AGL_SAMPLE_BUFFERS_ARB;
-		aglAttrib [pos++] = data.sampleBuffers;
-	}
-	if (data.samples > 0) {
-		aglAttrib [pos++] = AGL.AGL_SAMPLES_ARB;
-		aglAttrib [pos++] = data.samples;
-	}
-	aglAttrib [pos++] = AGL.AGL_NONE;
-	pixelFormat = AGL.aglChoosePixelFormat (0, 0, aglAttrib);
-//	context = AGL.aglCreateContext (pixelFormat, share == null ? 0 : share.context);
-	context = AGL.aglCreateContext (pixelFormat, 0);
-	int window = OS.GetControlOwner (handle);
-	int port = OS.GetWindowPort (window);
-	AGL.aglSetDrawable (context, port);
-
-	Listener listener = new Listener () {
-		public void handleEvent (Event event) {
-			switch (event.type) {
-			case SWT.Dispose:
-				AGL.aglDestroyContext (context);
-				AGL.aglDestroyPixelFormat (pixelFormat);
-				break;
-			case SWT.Resize:
-			case SWT.Hide:
-			case SWT.Show:
-				getDisplay().asyncExec(new Runnable() {
-					public void run() {
-						fixBounds();
-					}
-				});
-				break;
-			}
-		}
-	};
-	addListener (SWT.Resize, listener);
-	Shell shell = getShell();
-	shell.addListener(SWT.Resize, listener);
-	shell.addListener(SWT.Show, listener);
-	shell.addListener(SWT.Hide, listener);
-	Control c = this;
-	do {
-		c.addListener(SWT.Show, listener);
-		c.addListener(SWT.Hide, listener);
-		c = c.getParent();
-	} while (c != shell);
-	addListener (SWT.Dispose, listener);
-}
-
-void fixBounds () {
-	GCData data = new GCData ();
-	int gc = internal_new_GC (data);
-	Rect bounds = new Rect ();
-	OS.GetRegionBounds (data.visibleRgn, bounds);
-	int width = bounds.right - bounds.left;
-	int height = bounds.bottom - bounds.top;
-	Rect rect = new Rect ();
-	int window = OS.GetControlOwner (handle);
-	int port = OS.GetWindowPort (window);
-	OS.GetPortBounds (port, rect);
-	int [] glbounds = new int [4];
-	glbounds[0] = bounds.left;
-	glbounds[1] = rect.bottom - rect.top - bounds.top - height;
-	glbounds[2] = width;
-	glbounds[3] = height;
-	AGL.aglSetInteger (context, AGL.AGL_BUFFER_RECT, glbounds);
-	AGL.aglEnable (context, AGL.AGL_BUFFER_RECT);
-	AGL.aglSetInteger (context, AGL.AGL_CLIP_REGION, data.visibleRgn);
-	AGL.aglUpdateContext (context);
-	internal_dispose_GC (gc, data);
-}
-
-/**
- * Returns a GLData object describing the created context.
- *  
- * @return GLData description of the OpenGL context attributes
- * @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 GLData getGLData () {
-	checkWidget ();
-	GLData data = new GLData ();
-	int [] value = new int [1];
-	AGL.aglDescribePixelFormat (pixelFormat, AGL.AGL_DOUBLEBUFFER, value);
-	data.doubleBuffer = value [0] != 0;
-	AGL.aglDescribePixelFormat (pixelFormat, AGL.AGL_STEREO, value);
-	data.stereo = value [0] != 0;
-	AGL.aglDescribePixelFormat (pixelFormat, AGL.AGL_RED_SIZE, value);
-	data.redSize = value [0];
-	AGL.aglDescribePixelFormat (pixelFormat, AGL.AGL_GREEN_SIZE, value);
-	data.greenSize = value [0];
-	AGL.aglDescribePixelFormat (pixelFormat, AGL.AGL_BLUE_SIZE, value);
-	data.blueSize = value [0];
-	AGL.aglDescribePixelFormat (pixelFormat, AGL.AGL_ALPHA_SIZE, value);
-	data.alphaSize = value [0];
-	AGL.aglDescribePixelFormat (pixelFormat, AGL.AGL_DEPTH_SIZE, value);
-	data.depthSize = value [0];
-	AGL.aglDescribePixelFormat (pixelFormat, AGL.AGL_STENCIL_SIZE, value);
-	data.stencilSize = value [0];
-	AGL.aglDescribePixelFormat (pixelFormat, AGL.AGL_ACCUM_RED_SIZE, value);
-	data.accumRedSize = value [0];
-	AGL.aglDescribePixelFormat (pixelFormat, AGL.AGL_ACCUM_GREEN_SIZE, value);
-	data.accumGreenSize = value [0];
-	AGL.aglDescribePixelFormat (pixelFormat, AGL.AGL_ACCUM_BLUE_SIZE, value);
-	data.accumBlueSize = value [0];
-	AGL.aglDescribePixelFormat (pixelFormat, AGL.AGL_ACCUM_ALPHA_SIZE, value);
-	data.accumAlphaSize = value [0];
-	AGL.aglDescribePixelFormat (pixelFormat, AGL.AGL_SAMPLE_BUFFERS_ARB, value);
-	data.sampleBuffers = value [0];
-	AGL.aglDescribePixelFormat (pixelFormat, AGL.AGL_SAMPLES_ARB, value);
-	data.samples = value [0];
-	return data;
-}
-
-/**
- * Returns a boolean indicating whether the receiver's OpenGL context
- * is the current context.
- *  
- * @return true if the receiver holds the current OpenGL context,
- * false otherwise
- * @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 isCurrent () {
-	checkWidget ();
-	return AGL.aglGetCurrentContext () == context;
-}
-
-/**
- * Sets the OpenGL context associated with this GLCanvas to be the
- * current GL context.
- * 
- * @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 setCurrent () {
-	checkWidget ();
-	if (AGL.aglGetCurrentContext () != context) {
-		AGL.aglSetCurrentContext (context);
-	}
-}
-
-/**
- * Swaps the front and back color buffers.
- * 
- * @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 swapBuffers () {
-	checkWidget ();
-	AGL.aglSwapBuffers (context);
-}
-}
diff --git a/bundles/org.eclipse.swt.opengl/common/library/gl.c b/bundles/org.eclipse.swt.opengl/common/library/gl.c
deleted file mode 100644
index 18b5e9f..0000000
--- a/bundles/org.eclipse.swt.opengl/common/library/gl.c
+++ /dev/null
@@ -1,5927 +0,0 @@
-#include "swt.h"
-#include "gl_structs.h"
-#include "gl_stats.h"
-
-#define GL_NATIVE(func) Java_org_eclipse_opengl_GL_##func
-
-#ifndef NO_glAccum
-JNIEXPORT void JNICALL GL_NATIVE(glAccum)
-	(JNIEnv *env, jclass that, jint arg0, jfloat arg1)
-{
-	GL_NATIVE_ENTER(env, that, glAccum_FUNC);
-	glAccum(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glAccum_FUNC);
-}
-#endif
-
-#ifndef NO_glAlphaFunc
-JNIEXPORT void JNICALL GL_NATIVE(glAlphaFunc)
-	(JNIEnv *env, jclass that, jint arg0, jfloat arg1)
-{
-	GL_NATIVE_ENTER(env, that, glAlphaFunc_FUNC);
-	glAlphaFunc(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glAlphaFunc_FUNC);
-}
-#endif
-
-#ifndef NO_glAreTexturesResident
-JNIEXPORT jboolean JNICALL GL_NATIVE(glAreTexturesResident)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jbooleanArray arg2)
-{
-	jint *lparg1=NULL;
-	jboolean *lparg2=NULL;
-	jboolean rc;
-	GL_NATIVE_ENTER(env, that, glAreTexturesResident_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL);
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg1) lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL);
-		if (arg2) lparg2 = (*env)->GetBooleanArrayElements(env, arg2, NULL);
-	}
-	rc = (jboolean)glAreTexturesResident(arg0, (const GLuint *)lparg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-		if (arg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseBooleanArrayElements(env, arg2, lparg2, 0);
-		if (arg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glAreTexturesResident_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_glArrayElement
-JNIEXPORT void JNICALL GL_NATIVE(glArrayElement)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GL_NATIVE_ENTER(env, that, glArrayElement_FUNC);
-	glArrayElement(arg0);
-	GL_NATIVE_EXIT(env, that, glArrayElement_FUNC);
-}
-#endif
-
-#ifndef NO_glBegin
-JNIEXPORT void JNICALL GL_NATIVE(glBegin)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GL_NATIVE_ENTER(env, that, glBegin_FUNC);
-	glBegin(arg0);
-	GL_NATIVE_EXIT(env, that, glBegin_FUNC);
-}
-#endif
-
-#ifndef NO_glBindTexture
-JNIEXPORT void JNICALL GL_NATIVE(glBindTexture)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	GL_NATIVE_ENTER(env, that, glBindTexture_FUNC);
-	glBindTexture(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glBindTexture_FUNC);
-}
-#endif
-
-#ifndef NO_glBitmap
-JNIEXPORT void JNICALL GL_NATIVE(glBitmap)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloat arg2, jfloat arg3, jfloat arg4, jfloat arg5, jbyteArray arg6)
-{
-	jbyte *lparg6=NULL;
-	GL_NATIVE_ENTER(env, that, glBitmap_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg6) lparg6 = (*env)->GetPrimitiveArrayCritical(env, arg6, NULL);
-	} else
-#endif
-	{
-		if (arg6) lparg6 = (*env)->GetByteArrayElements(env, arg6, NULL);
-	}
-	glBitmap(arg0, arg1, arg2, arg3, arg4, arg5, (const GLubyte *)lparg6);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg6) (*env)->ReleasePrimitiveArrayCritical(env, arg6, lparg6, 0);
-	} else
-#endif
-	{
-		if (arg6) (*env)->ReleaseByteArrayElements(env, arg6, lparg6, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glBitmap_FUNC);
-}
-#endif
-
-#ifndef NO_glBlendFunc
-JNIEXPORT void JNICALL GL_NATIVE(glBlendFunc)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	GL_NATIVE_ENTER(env, that, glBlendFunc_FUNC);
-	glBlendFunc(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glBlendFunc_FUNC);
-}
-#endif
-
-#ifndef NO_glCallList
-JNIEXPORT void JNICALL GL_NATIVE(glCallList)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GL_NATIVE_ENTER(env, that, glCallList_FUNC);
-	glCallList(arg0);
-	GL_NATIVE_EXIT(env, that, glCallList_FUNC);
-}
-#endif
-
-#ifndef NO_glCallLists__II_3B
-JNIEXPORT void JNICALL GL_NATIVE(glCallLists__II_3B)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jbyteArray arg2)
-{
-	jbyte *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glCallLists__II_3B_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetByteArrayElements(env, arg2, NULL);
-	}
-	glCallLists(arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseByteArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glCallLists__II_3B_FUNC);
-}
-#endif
-
-#ifndef NO_glCallLists__II_3C
-JNIEXPORT void JNICALL GL_NATIVE(glCallLists__II_3C)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jcharArray arg2)
-{
-	jchar *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glCallLists__II_3C_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetCharArrayElements(env, arg2, NULL);
-	}
-	glCallLists(arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseCharArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glCallLists__II_3C_FUNC);
-}
-#endif
-
-#ifndef NO_glCallLists__II_3I
-JNIEXPORT void JNICALL GL_NATIVE(glCallLists__II_3I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glCallLists__II_3I_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
-	}
-	glCallLists(arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glCallLists__II_3I_FUNC);
-}
-#endif
-
-#ifndef NO_glClear
-JNIEXPORT void JNICALL GL_NATIVE(glClear)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GL_NATIVE_ENTER(env, that, glClear_FUNC);
-	glClear(arg0);
-	GL_NATIVE_EXIT(env, that, glClear_FUNC);
-}
-#endif
-
-#ifndef NO_glClearAccum
-JNIEXPORT void JNICALL GL_NATIVE(glClearAccum)
-	(JNIEnv *env, jclass that, jfloat arg0, jfloat arg1, jfloat arg2, jfloat arg3)
-{
-	GL_NATIVE_ENTER(env, that, glClearAccum_FUNC);
-	glClearAccum(arg0, arg1, arg2, arg3);
-	GL_NATIVE_EXIT(env, that, glClearAccum_FUNC);
-}
-#endif
-
-#ifndef NO_glClearColor
-JNIEXPORT void JNICALL GL_NATIVE(glClearColor)
-	(JNIEnv *env, jclass that, jfloat arg0, jfloat arg1, jfloat arg2, jfloat arg3)
-{
-	GL_NATIVE_ENTER(env, that, glClearColor_FUNC);
-	glClearColor(arg0, arg1, arg2, arg3);
-	GL_NATIVE_EXIT(env, that, glClearColor_FUNC);
-}
-#endif
-
-#ifndef NO_glClearDepth
-JNIEXPORT void JNICALL GL_NATIVE(glClearDepth)
-	(JNIEnv *env, jclass that, jdouble arg0)
-{
-	GL_NATIVE_ENTER(env, that, glClearDepth_FUNC);
-	glClearDepth(arg0);
-	GL_NATIVE_EXIT(env, that, glClearDepth_FUNC);
-}
-#endif
-
-#ifndef NO_glClearIndex
-JNIEXPORT void JNICALL GL_NATIVE(glClearIndex)
-	(JNIEnv *env, jclass that, jfloat arg0)
-{
-	GL_NATIVE_ENTER(env, that, glClearIndex_FUNC);
-	glClearIndex(arg0);
-	GL_NATIVE_EXIT(env, that, glClearIndex_FUNC);
-}
-#endif
-
-#ifndef NO_glClearStencil
-JNIEXPORT void JNICALL GL_NATIVE(glClearStencil)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GL_NATIVE_ENTER(env, that, glClearStencil_FUNC);
-	glClearStencil(arg0);
-	GL_NATIVE_EXIT(env, that, glClearStencil_FUNC);
-}
-#endif
-
-#ifndef NO_glClipPlane
-JNIEXPORT void JNICALL GL_NATIVE(glClipPlane)
-	(JNIEnv *env, jclass that, jint arg0, jdoubleArray arg1)
-{
-	jdouble *lparg1=NULL;
-	GL_NATIVE_ENTER(env, that, glClipPlane_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL);
-	} else
-#endif
-	{
-		if (arg1) lparg1 = (*env)->GetDoubleArrayElements(env, arg1, NULL);
-	}
-	glClipPlane(arg0, lparg1);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, 0);
-	} else
-#endif
-	{
-		if (arg1) (*env)->ReleaseDoubleArrayElements(env, arg1, lparg1, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glClipPlane_FUNC);
-}
-#endif
-
-#ifndef NO_glColor3b
-JNIEXPORT void JNICALL GL_NATIVE(glColor3b)
-	(JNIEnv *env, jclass that, jbyte arg0, jbyte arg1, jbyte arg2)
-{
-	GL_NATIVE_ENTER(env, that, glColor3b_FUNC);
-	glColor3b(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glColor3b_FUNC);
-}
-#endif
-
-#ifndef NO_glColor3bv
-JNIEXPORT void JNICALL GL_NATIVE(glColor3bv)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glColor3bv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL);
-	}
-	glColor3bv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glColor3bv_FUNC);
-}
-#endif
-
-#ifndef NO_glColor3d
-JNIEXPORT void JNICALL GL_NATIVE(glColor3d)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1, jdouble arg2)
-{
-	GL_NATIVE_ENTER(env, that, glColor3d_FUNC);
-	glColor3d(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glColor3d_FUNC);
-}
-#endif
-
-#ifndef NO_glColor3dv
-JNIEXPORT void JNICALL GL_NATIVE(glColor3dv)
-	(JNIEnv *env, jclass that, jdoubleArray arg0)
-{
-	jdouble *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glColor3dv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL);
-	}
-	glColor3dv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glColor3dv_FUNC);
-}
-#endif
-
-#ifndef NO_glColor3f
-JNIEXPORT void JNICALL GL_NATIVE(glColor3f)
-	(JNIEnv *env, jclass that, jfloat arg0, jfloat arg1, jfloat arg2)
-{
-	GL_NATIVE_ENTER(env, that, glColor3f_FUNC);
-	glColor3f(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glColor3f_FUNC);
-}
-#endif
-
-#ifndef NO_glColor3fv
-JNIEXPORT void JNICALL GL_NATIVE(glColor3fv)
-	(JNIEnv *env, jclass that, jfloatArray arg0)
-{
-	jfloat *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glColor3fv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL);
-	}
-	glColor3fv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glColor3fv_FUNC);
-}
-#endif
-
-#ifndef NO_glColor3i
-JNIEXPORT void JNICALL GL_NATIVE(glColor3i)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	GL_NATIVE_ENTER(env, that, glColor3i_FUNC);
-	glColor3i(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glColor3i_FUNC);
-}
-#endif
-
-#ifndef NO_glColor3iv
-JNIEXPORT void JNICALL GL_NATIVE(glColor3iv)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glColor3iv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL);
-	}
-	glColor3iv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glColor3iv_FUNC);
-}
-#endif
-
-#ifndef NO_glColor3s
-JNIEXPORT void JNICALL GL_NATIVE(glColor3s)
-	(JNIEnv *env, jclass that, jshort arg0, jshort arg1, jshort arg2)
-{
-	GL_NATIVE_ENTER(env, that, glColor3s_FUNC);
-	glColor3s(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glColor3s_FUNC);
-}
-#endif
-
-#ifndef NO_glColor3sv
-JNIEXPORT void JNICALL GL_NATIVE(glColor3sv)
-	(JNIEnv *env, jclass that, jshortArray arg0)
-{
-	jshort *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glColor3sv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetShortArrayElements(env, arg0, NULL);
-	}
-	glColor3sv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseShortArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glColor3sv_FUNC);
-}
-#endif
-
-#ifndef NO_glColor3ub
-JNIEXPORT void JNICALL GL_NATIVE(glColor3ub)
-	(JNIEnv *env, jclass that, jbyte arg0, jbyte arg1, jbyte arg2)
-{
-	GL_NATIVE_ENTER(env, that, glColor3ub_FUNC);
-	glColor3ub(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glColor3ub_FUNC);
-}
-#endif
-
-#ifndef NO_glColor3ubv
-JNIEXPORT void JNICALL GL_NATIVE(glColor3ubv)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glColor3ubv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL);
-	}
-	glColor3ubv((const GLubyte *)lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glColor3ubv_FUNC);
-}
-#endif
-
-#ifndef NO_glColor3ui
-JNIEXPORT void JNICALL GL_NATIVE(glColor3ui)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	GL_NATIVE_ENTER(env, that, glColor3ui_FUNC);
-	glColor3ui(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glColor3ui_FUNC);
-}
-#endif
-
-#ifndef NO_glColor3uiv
-JNIEXPORT void JNICALL GL_NATIVE(glColor3uiv)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glColor3uiv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL);
-	}
-	glColor3uiv((const GLuint *)lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glColor3uiv_FUNC);
-}
-#endif
-
-#ifndef NO_glColor3us
-JNIEXPORT void JNICALL GL_NATIVE(glColor3us)
-	(JNIEnv *env, jclass that, jshort arg0, jshort arg1, jshort arg2)
-{
-	GL_NATIVE_ENTER(env, that, glColor3us_FUNC);
-	glColor3us(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glColor3us_FUNC);
-}
-#endif
-
-#ifndef NO_glColor3usv
-JNIEXPORT void JNICALL GL_NATIVE(glColor3usv)
-	(JNIEnv *env, jclass that, jshortArray arg0)
-{
-	jshort *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glColor3usv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetShortArrayElements(env, arg0, NULL);
-	}
-	glColor3usv((const GLushort *)lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseShortArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glColor3usv_FUNC);
-}
-#endif
-
-#ifndef NO_glColor4b
-JNIEXPORT void JNICALL GL_NATIVE(glColor4b)
-	(JNIEnv *env, jclass that, jbyte arg0, jbyte arg1, jbyte arg2, jbyte arg3)
-{
-	GL_NATIVE_ENTER(env, that, glColor4b_FUNC);
-	glColor4b(arg0, arg1, arg2, arg3);
-	GL_NATIVE_EXIT(env, that, glColor4b_FUNC);
-}
-#endif
-
-#ifndef NO_glColor4bv
-JNIEXPORT void JNICALL GL_NATIVE(glColor4bv)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glColor4bv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL);
-	}
-	glColor4bv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glColor4bv_FUNC);
-}
-#endif
-
-#ifndef NO_glColor4d
-JNIEXPORT void JNICALL GL_NATIVE(glColor4d)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1, jdouble arg2, jdouble arg3)
-{
-	GL_NATIVE_ENTER(env, that, glColor4d_FUNC);
-	glColor4d(arg0, arg1, arg2, arg3);
-	GL_NATIVE_EXIT(env, that, glColor4d_FUNC);
-}
-#endif
-
-#ifndef NO_glColor4dv
-JNIEXPORT void JNICALL GL_NATIVE(glColor4dv)
-	(JNIEnv *env, jclass that, jdoubleArray arg0)
-{
-	jdouble *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glColor4dv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL);
-	}
-	glColor4dv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glColor4dv_FUNC);
-}
-#endif
-
-#ifndef NO_glColor4f
-JNIEXPORT void JNICALL GL_NATIVE(glColor4f)
-	(JNIEnv *env, jclass that, jfloat arg0, jfloat arg1, jfloat arg2, jfloat arg3)
-{
-	GL_NATIVE_ENTER(env, that, glColor4f_FUNC);
-	glColor4f(arg0, arg1, arg2, arg3);
-	GL_NATIVE_EXIT(env, that, glColor4f_FUNC);
-}
-#endif
-
-#ifndef NO_glColor4fv
-JNIEXPORT void JNICALL GL_NATIVE(glColor4fv)
-	(JNIEnv *env, jclass that, jfloatArray arg0)
-{
-	jfloat *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glColor4fv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL);
-	}
-	glColor4fv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glColor4fv_FUNC);
-}
-#endif
-
-#ifndef NO_glColor4i
-JNIEXPORT void JNICALL GL_NATIVE(glColor4i)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	GL_NATIVE_ENTER(env, that, glColor4i_FUNC);
-	glColor4i(arg0, arg1, arg2, arg3);
-	GL_NATIVE_EXIT(env, that, glColor4i_FUNC);
-}
-#endif
-
-#ifndef NO_glColor4iv
-JNIEXPORT void JNICALL GL_NATIVE(glColor4iv)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glColor4iv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL);
-	}
-	glColor4iv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glColor4iv_FUNC);
-}
-#endif
-
-#ifndef NO_glColor4s
-JNIEXPORT void JNICALL GL_NATIVE(glColor4s)
-	(JNIEnv *env, jclass that, jshort arg0, jshort arg1, jshort arg2, jshort arg3)
-{
-	GL_NATIVE_ENTER(env, that, glColor4s_FUNC);
-	glColor4s(arg0, arg1, arg2, arg3);
-	GL_NATIVE_EXIT(env, that, glColor4s_FUNC);
-}
-#endif
-
-#ifndef NO_glColor4ub
-JNIEXPORT void JNICALL GL_NATIVE(glColor4ub)
-	(JNIEnv *env, jclass that, jbyte arg0, jbyte arg1, jbyte arg2, jbyte arg3)
-{
-	GL_NATIVE_ENTER(env, that, glColor4ub_FUNC);
-	glColor4ub(arg0, arg1, arg2, arg3);
-	GL_NATIVE_EXIT(env, that, glColor4ub_FUNC);
-}
-#endif
-
-#ifndef NO_glColor4ubv
-JNIEXPORT void JNICALL GL_NATIVE(glColor4ubv)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glColor4ubv_FUNC);
-	if (arg0) lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL);
-	glColor4ubv((const GLubyte *)lparg0);
-	if (arg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	GL_NATIVE_EXIT(env, that, glColor4ubv_FUNC);
-}
-#endif
-
-#ifndef NO_glColor4ui
-JNIEXPORT void JNICALL GL_NATIVE(glColor4ui)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	GL_NATIVE_ENTER(env, that, glColor4ui_FUNC);
-	glColor4ui(arg0, arg1, arg2, arg3);
-	GL_NATIVE_EXIT(env, that, glColor4ui_FUNC);
-}
-#endif
-
-#ifndef NO_glColor4uiv
-JNIEXPORT void JNICALL GL_NATIVE(glColor4uiv)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glColor4uiv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL);
-	}
-	glColor4uiv((const GLuint *)lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glColor4uiv_FUNC);
-}
-#endif
-
-#ifndef NO_glColor4us
-JNIEXPORT void JNICALL GL_NATIVE(glColor4us)
-	(JNIEnv *env, jclass that, jshort arg0, jshort arg1, jshort arg2, jshort arg3)
-{
-	GL_NATIVE_ENTER(env, that, glColor4us_FUNC);
-	glColor4us(arg0, arg1, arg2, arg3);
-	GL_NATIVE_EXIT(env, that, glColor4us_FUNC);
-}
-#endif
-
-#ifndef NO_glColor4usv
-JNIEXPORT void JNICALL GL_NATIVE(glColor4usv)
-	(JNIEnv *env, jclass that, jshortArray arg0)
-{
-	jshort *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glColor4usv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetShortArrayElements(env, arg0, NULL);
-	}
-	glColor4usv((const GLushort *)lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseShortArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glColor4usv_FUNC);
-}
-#endif
-
-#ifndef NO_glColorMask
-JNIEXPORT void JNICALL GL_NATIVE(glColorMask)
-	(JNIEnv *env, jclass that, jboolean arg0, jboolean arg1, jboolean arg2, jboolean arg3)
-{
-	GL_NATIVE_ENTER(env, that, glColorMask_FUNC);
-	glColorMask(arg0, arg1, arg2, arg3);
-	GL_NATIVE_EXIT(env, that, glColorMask_FUNC);
-}
-#endif
-
-#ifndef NO_glColorMaterial
-JNIEXPORT void JNICALL GL_NATIVE(glColorMaterial)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	GL_NATIVE_ENTER(env, that, glColorMaterial_FUNC);
-	glColorMaterial(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glColorMaterial_FUNC);
-}
-#endif
-
-#ifndef NO_glColorPointer
-JNIEXPORT void JNICALL GL_NATIVE(glColorPointer)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jintArray arg3)
-{
-	jint *lparg3=NULL;
-	GL_NATIVE_ENTER(env, that, glColorPointer_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg3) lparg3 = (*env)->GetPrimitiveArrayCritical(env, arg3, NULL);
-	} else
-#endif
-	{
-		if (arg3) lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL);
-	}
-	glColorPointer(arg0, arg1, arg2, lparg3);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg3) (*env)->ReleasePrimitiveArrayCritical(env, arg3, lparg3, 0);
-	} else
-#endif
-	{
-		if (arg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glColorPointer_FUNC);
-}
-#endif
-
-#ifndef NO_glCopyPixels
-JNIEXPORT void JNICALL GL_NATIVE(glCopyPixels)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4)
-{
-	GL_NATIVE_ENTER(env, that, glCopyPixels_FUNC);
-	glCopyPixels(arg0, arg1, arg2, arg3, arg4);
-	GL_NATIVE_EXIT(env, that, glCopyPixels_FUNC);
-}
-#endif
-
-#ifndef NO_glCopyTexImage1D
-JNIEXPORT void JNICALL GL_NATIVE(glCopyTexImage1D)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6)
-{
-	GL_NATIVE_ENTER(env, that, glCopyTexImage1D_FUNC);
-	glCopyTexImage1D(arg0, arg1, arg2, arg3, arg4, arg5, arg6);
-	GL_NATIVE_EXIT(env, that, glCopyTexImage1D_FUNC);
-}
-#endif
-
-#ifndef NO_glCopyTexImage2D
-JNIEXPORT void JNICALL GL_NATIVE(glCopyTexImage2D)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6, jint arg7)
-{
-	GL_NATIVE_ENTER(env, that, glCopyTexImage2D_FUNC);
-	glCopyTexImage2D(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
-	GL_NATIVE_EXIT(env, that, glCopyTexImage2D_FUNC);
-}
-#endif
-
-#ifndef NO_glCopyTexSubImage1D
-JNIEXPORT void JNICALL GL_NATIVE(glCopyTexSubImage1D)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5)
-{
-	GL_NATIVE_ENTER(env, that, glCopyTexSubImage1D_FUNC);
-	glCopyTexSubImage1D(arg0, arg1, arg2, arg3, arg4, arg5);
-	GL_NATIVE_EXIT(env, that, glCopyTexSubImage1D_FUNC);
-}
-#endif
-
-#ifndef NO_glCopyTexSubImage2D
-JNIEXPORT void JNICALL GL_NATIVE(glCopyTexSubImage2D)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6, jint arg7)
-{
-	GL_NATIVE_ENTER(env, that, glCopyTexSubImage2D_FUNC);
-	glCopyTexSubImage2D(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
-	GL_NATIVE_EXIT(env, that, glCopyTexSubImage2D_FUNC);
-}
-#endif
-
-#ifndef NO_glCullFace
-JNIEXPORT void JNICALL GL_NATIVE(glCullFace)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GL_NATIVE_ENTER(env, that, glCullFace_FUNC);
-	glCullFace(arg0);
-	GL_NATIVE_EXIT(env, that, glCullFace_FUNC);
-}
-#endif
-
-#ifndef NO_glDeleteLists
-JNIEXPORT void JNICALL GL_NATIVE(glDeleteLists)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	GL_NATIVE_ENTER(env, that, glDeleteLists_FUNC);
-	glDeleteLists(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glDeleteLists_FUNC);
-}
-#endif
-
-#ifndef NO_glDeleteTextures
-JNIEXPORT void JNICALL GL_NATIVE(glDeleteTextures)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-	GL_NATIVE_ENTER(env, that, glDeleteTextures_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL);
-	} else
-#endif
-	{
-		if (arg1) lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL);
-	}
-	glDeleteTextures(arg0, (const GLuint *)lparg1);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, 0);
-	} else
-#endif
-	{
-		if (arg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glDeleteTextures_FUNC);
-}
-#endif
-
-#ifndef NO_glDepthFunc
-JNIEXPORT void JNICALL GL_NATIVE(glDepthFunc)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GL_NATIVE_ENTER(env, that, glDepthFunc_FUNC);
-	glDepthFunc(arg0);
-	GL_NATIVE_EXIT(env, that, glDepthFunc_FUNC);
-}
-#endif
-
-#ifndef NO_glDepthMask
-JNIEXPORT void JNICALL GL_NATIVE(glDepthMask)
-	(JNIEnv *env, jclass that, jboolean arg0)
-{
-	GL_NATIVE_ENTER(env, that, glDepthMask_FUNC);
-	glDepthMask(arg0);
-	GL_NATIVE_EXIT(env, that, glDepthMask_FUNC);
-}
-#endif
-
-#ifndef NO_glDepthRange
-JNIEXPORT void JNICALL GL_NATIVE(glDepthRange)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1)
-{
-	GL_NATIVE_ENTER(env, that, glDepthRange_FUNC);
-	glDepthRange(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glDepthRange_FUNC);
-}
-#endif
-
-#ifndef NO_glDisable
-JNIEXPORT void JNICALL GL_NATIVE(glDisable)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GL_NATIVE_ENTER(env, that, glDisable_FUNC);
-	glDisable(arg0);
-	GL_NATIVE_EXIT(env, that, glDisable_FUNC);
-}
-#endif
-
-#ifndef NO_glDisableClientState
-JNIEXPORT void JNICALL GL_NATIVE(glDisableClientState)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GL_NATIVE_ENTER(env, that, glDisableClientState_FUNC);
-	glDisableClientState(arg0);
-	GL_NATIVE_EXIT(env, that, glDisableClientState_FUNC);
-}
-#endif
-
-#ifndef NO_glDrawArrays
-JNIEXPORT void JNICALL GL_NATIVE(glDrawArrays)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	GL_NATIVE_ENTER(env, that, glDrawArrays_FUNC);
-	glDrawArrays(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glDrawArrays_FUNC);
-}
-#endif
-
-#ifndef NO_glDrawBuffer
-JNIEXPORT void JNICALL GL_NATIVE(glDrawBuffer)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GL_NATIVE_ENTER(env, that, glDrawBuffer_FUNC);
-	glDrawBuffer(arg0);
-	GL_NATIVE_EXIT(env, that, glDrawBuffer_FUNC);
-}
-#endif
-
-#ifndef NO_glDrawElements
-JNIEXPORT void JNICALL GL_NATIVE(glDrawElements)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jintArray arg3)
-{
-	jint *lparg3=NULL;
-	GL_NATIVE_ENTER(env, that, glDrawElements_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg3) lparg3 = (*env)->GetPrimitiveArrayCritical(env, arg3, NULL);
-	} else
-#endif
-	{
-		if (arg3) lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL);
-	}
-	glDrawElements(arg0, arg1, arg2, lparg3);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg3) (*env)->ReleasePrimitiveArrayCritical(env, arg3, lparg3, 0);
-	} else
-#endif
-	{
-		if (arg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glDrawElements_FUNC);
-}
-#endif
-
-#ifndef NO_glDrawPixels
-JNIEXPORT void JNICALL GL_NATIVE(glDrawPixels)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jintArray arg4)
-{
-	jint *lparg4=NULL;
-	GL_NATIVE_ENTER(env, that, glDrawPixels_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg4) lparg4 = (*env)->GetPrimitiveArrayCritical(env, arg4, NULL);
-	} else
-#endif
-	{
-		if (arg4) lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL);
-	}
-	glDrawPixels(arg0, arg1, arg2, arg3, lparg4);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg4) (*env)->ReleasePrimitiveArrayCritical(env, arg4, lparg4, 0);
-	} else
-#endif
-	{
-		if (arg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glDrawPixels_FUNC);
-}
-#endif
-
-#ifndef NO_glEdgeFlag
-JNIEXPORT void JNICALL GL_NATIVE(glEdgeFlag)
-	(JNIEnv *env, jclass that, jboolean arg0)
-{
-	GL_NATIVE_ENTER(env, that, glEdgeFlag_FUNC);
-	glEdgeFlag(arg0);
-	GL_NATIVE_EXIT(env, that, glEdgeFlag_FUNC);
-}
-#endif
-
-#ifndef NO_glEdgeFlagPointer
-JNIEXPORT void JNICALL GL_NATIVE(glEdgeFlagPointer)
-	(JNIEnv *env, jclass that, jint arg0, jbooleanArray arg1)
-{
-	jboolean *lparg1=NULL;
-	GL_NATIVE_ENTER(env, that, glEdgeFlagPointer_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL);
-	} else
-#endif
-	{
-		if (arg1) lparg1 = (*env)->GetBooleanArrayElements(env, arg1, NULL);
-	}
-	glEdgeFlagPointer(arg0, lparg1);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, 0);
-	} else
-#endif
-	{
-		if (arg1) (*env)->ReleaseBooleanArrayElements(env, arg1, lparg1, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glEdgeFlagPointer_FUNC);
-}
-#endif
-
-#ifndef NO_glEdgeFlagv
-JNIEXPORT void JNICALL GL_NATIVE(glEdgeFlagv)
-	(JNIEnv *env, jclass that, jbooleanArray arg0)
-{
-	jboolean *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glEdgeFlagv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetBooleanArrayElements(env, arg0, NULL);
-	}
-	glEdgeFlagv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseBooleanArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glEdgeFlagv_FUNC);
-}
-#endif
-
-#ifndef NO_glEnable
-JNIEXPORT void JNICALL GL_NATIVE(glEnable)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GL_NATIVE_ENTER(env, that, glEnable_FUNC);
-	glEnable(arg0);
-	GL_NATIVE_EXIT(env, that, glEnable_FUNC);
-}
-#endif
-
-#ifndef NO_glEnableClientState
-JNIEXPORT void JNICALL GL_NATIVE(glEnableClientState)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GL_NATIVE_ENTER(env, that, glEnableClientState_FUNC);
-	glEnableClientState(arg0);
-	GL_NATIVE_EXIT(env, that, glEnableClientState_FUNC);
-}
-#endif
-
-#ifndef NO_glEnd
-JNIEXPORT void JNICALL GL_NATIVE(glEnd)
-	(JNIEnv *env, jclass that)
-{
-	GL_NATIVE_ENTER(env, that, glEnd_FUNC);
-	glEnd();
-	GL_NATIVE_EXIT(env, that, glEnd_FUNC);
-}
-#endif
-
-#ifndef NO_glEndList
-JNIEXPORT void JNICALL GL_NATIVE(glEndList)
-	(JNIEnv *env, jclass that)
-{
-	GL_NATIVE_ENTER(env, that, glEndList_FUNC);
-	glEndList();
-	GL_NATIVE_EXIT(env, that, glEndList_FUNC);
-}
-#endif
-
-#ifndef NO_glEvalCoord1d
-JNIEXPORT void JNICALL GL_NATIVE(glEvalCoord1d)
-	(JNIEnv *env, jclass that, jdouble arg0)
-{
-	GL_NATIVE_ENTER(env, that, glEvalCoord1d_FUNC);
-	glEvalCoord1d(arg0);
-	GL_NATIVE_EXIT(env, that, glEvalCoord1d_FUNC);
-}
-#endif
-
-#ifndef NO_glEvalCoord1dv
-JNIEXPORT void JNICALL GL_NATIVE(glEvalCoord1dv)
-	(JNIEnv *env, jclass that, jdoubleArray arg0)
-{
-	jdouble *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glEvalCoord1dv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL);
-	}
-	glEvalCoord1dv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glEvalCoord1dv_FUNC);
-}
-#endif
-
-#ifndef NO_glEvalCoord1f
-JNIEXPORT void JNICALL GL_NATIVE(glEvalCoord1f)
-	(JNIEnv *env, jclass that, jfloat arg0)
-{
-	GL_NATIVE_ENTER(env, that, glEvalCoord1f_FUNC);
-	glEvalCoord1f(arg0);
-	GL_NATIVE_EXIT(env, that, glEvalCoord1f_FUNC);
-}
-#endif
-
-#ifndef NO_glEvalCoord1fv
-JNIEXPORT void JNICALL GL_NATIVE(glEvalCoord1fv)
-	(JNIEnv *env, jclass that, jfloatArray arg0)
-{
-	jfloat *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glEvalCoord1fv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL);
-	}
-	glEvalCoord1fv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glEvalCoord1fv_FUNC);
-}
-#endif
-
-#ifndef NO_glEvalCoord2d
-JNIEXPORT void JNICALL GL_NATIVE(glEvalCoord2d)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1)
-{
-	GL_NATIVE_ENTER(env, that, glEvalCoord2d_FUNC);
-	glEvalCoord2d(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glEvalCoord2d_FUNC);
-}
-#endif
-
-#ifndef NO_glEvalCoord2dv
-JNIEXPORT void JNICALL GL_NATIVE(glEvalCoord2dv)
-	(JNIEnv *env, jclass that, jdoubleArray arg0)
-{
-	jdouble *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glEvalCoord2dv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL);
-	}
-	glEvalCoord2dv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glEvalCoord2dv_FUNC);
-}
-#endif
-
-#ifndef NO_glEvalCoord2f
-JNIEXPORT void JNICALL GL_NATIVE(glEvalCoord2f)
-	(JNIEnv *env, jclass that, jfloat arg0, jfloat arg1)
-{
-	GL_NATIVE_ENTER(env, that, glEvalCoord2f_FUNC);
-	glEvalCoord2f(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glEvalCoord2f_FUNC);
-}
-#endif
-
-#ifndef NO_glEvalCoord2fv
-JNIEXPORT void JNICALL GL_NATIVE(glEvalCoord2fv)
-	(JNIEnv *env, jclass that, jfloatArray arg0)
-{
-	jfloat *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glEvalCoord2fv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL);
-	}
-	glEvalCoord2fv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glEvalCoord2fv_FUNC);
-}
-#endif
-
-#ifndef NO_glEvalMesh1
-JNIEXPORT void JNICALL GL_NATIVE(glEvalMesh1)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	GL_NATIVE_ENTER(env, that, glEvalMesh1_FUNC);
-	glEvalMesh1(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glEvalMesh1_FUNC);
-}
-#endif
-
-#ifndef NO_glEvalMesh2
-JNIEXPORT void JNICALL GL_NATIVE(glEvalMesh2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4)
-{
-	GL_NATIVE_ENTER(env, that, glEvalMesh2_FUNC);
-	glEvalMesh2(arg0, arg1, arg2, arg3, arg4);
-	GL_NATIVE_EXIT(env, that, glEvalMesh2_FUNC);
-}
-#endif
-
-#ifndef NO_glEvalPoint1
-JNIEXPORT void JNICALL GL_NATIVE(glEvalPoint1)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GL_NATIVE_ENTER(env, that, glEvalPoint1_FUNC);
-	glEvalPoint1(arg0);
-	GL_NATIVE_EXIT(env, that, glEvalPoint1_FUNC);
-}
-#endif
-
-#ifndef NO_glEvalPoint2
-JNIEXPORT void JNICALL GL_NATIVE(glEvalPoint2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	GL_NATIVE_ENTER(env, that, glEvalPoint2_FUNC);
-	glEvalPoint2(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glEvalPoint2_FUNC);
-}
-#endif
-
-#ifndef NO_glFeedbackBuffer
-JNIEXPORT void JNICALL GL_NATIVE(glFeedbackBuffer)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloatArray arg2)
-{
-	jfloat *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glFeedbackBuffer_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetFloatArrayElements(env, arg2, NULL);
-	}
-	glFeedbackBuffer(arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseFloatArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glFeedbackBuffer_FUNC);
-}
-#endif
-
-#ifndef NO_glFinish
-JNIEXPORT void JNICALL GL_NATIVE(glFinish)
-	(JNIEnv *env, jclass that)
-{
-	GL_NATIVE_ENTER(env, that, glFinish_FUNC);
-	glFinish();
-	GL_NATIVE_EXIT(env, that, glFinish_FUNC);
-}
-#endif
-
-#ifndef NO_glFlush
-JNIEXPORT void JNICALL GL_NATIVE(glFlush)
-	(JNIEnv *env, jclass that)
-{
-	GL_NATIVE_ENTER(env, that, glFlush_FUNC);
-	glFlush();
-	GL_NATIVE_EXIT(env, that, glFlush_FUNC);
-}
-#endif
-
-#ifndef NO_glFogf
-JNIEXPORT void JNICALL GL_NATIVE(glFogf)
-	(JNIEnv *env, jclass that, jint arg0, jfloat arg1)
-{
-	GL_NATIVE_ENTER(env, that, glFogf_FUNC);
-	glFogf(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glFogf_FUNC);
-}
-#endif
-
-#ifndef NO_glFogfv
-JNIEXPORT void JNICALL GL_NATIVE(glFogfv)
-	(JNIEnv *env, jclass that, jint arg0, jfloatArray arg1)
-{
-	jfloat *lparg1=NULL;
-	GL_NATIVE_ENTER(env, that, glFogfv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL);
-	} else
-#endif
-	{
-		if (arg1) lparg1 = (*env)->GetFloatArrayElements(env, arg1, NULL);
-	}
-	glFogfv(arg0, lparg1);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, 0);
-	} else
-#endif
-	{
-		if (arg1) (*env)->ReleaseFloatArrayElements(env, arg1, lparg1, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glFogfv_FUNC);
-}
-#endif
-
-#ifndef NO_glFogi
-JNIEXPORT void JNICALL GL_NATIVE(glFogi)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	GL_NATIVE_ENTER(env, that, glFogi_FUNC);
-	glFogi(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glFogi_FUNC);
-}
-#endif
-
-#ifndef NO_glFogiv
-JNIEXPORT void JNICALL GL_NATIVE(glFogiv)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-	GL_NATIVE_ENTER(env, that, glFogiv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL);
-	} else
-#endif
-	{
-		if (arg1) lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL);
-	}
-	glFogiv(arg0, lparg1);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, 0);
-	} else
-#endif
-	{
-		if (arg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glFogiv_FUNC);
-}
-#endif
-
-#ifndef NO_glFrontFace
-JNIEXPORT void JNICALL GL_NATIVE(glFrontFace)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GL_NATIVE_ENTER(env, that, glFrontFace_FUNC);
-	glFrontFace(arg0);
-	GL_NATIVE_EXIT(env, that, glFrontFace_FUNC);
-}
-#endif
-
-#ifndef NO_glFrustum
-JNIEXPORT void JNICALL GL_NATIVE(glFrustum)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1, jdouble arg2, jdouble arg3, jdouble arg4, jdouble arg5)
-{
-	GL_NATIVE_ENTER(env, that, glFrustum_FUNC);
-	glFrustum(arg0, arg1, arg2, arg3, arg4, arg5);
-	GL_NATIVE_EXIT(env, that, glFrustum_FUNC);
-}
-#endif
-
-#ifndef NO_glGenLists
-JNIEXPORT jint JNICALL GL_NATIVE(glGenLists)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc;
-	GL_NATIVE_ENTER(env, that, glGenLists_FUNC);
-	rc = (jint)glGenLists(arg0);
-	GL_NATIVE_EXIT(env, that, glGenLists_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_glGenTextures
-JNIEXPORT void JNICALL GL_NATIVE(glGenTextures)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-	GL_NATIVE_ENTER(env, that, glGenTextures_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL);
-	} else
-#endif
-	{
-		if (arg1) lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL);
-	}
-	glGenTextures(arg0, (GLuint *)lparg1);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, 0);
-	} else
-#endif
-	{
-		if (arg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glGenTextures_FUNC);
-}
-#endif
-
-#ifndef NO_glGetBooleanv
-JNIEXPORT void JNICALL GL_NATIVE(glGetBooleanv)
-	(JNIEnv *env, jclass that, jint arg0, jbooleanArray arg1)
-{
-	jboolean *lparg1=NULL;
-	GL_NATIVE_ENTER(env, that, glGetBooleanv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL);
-	} else
-#endif
-	{
-		if (arg1) lparg1 = (*env)->GetBooleanArrayElements(env, arg1, NULL);
-	}
-	glGetBooleanv(arg0, lparg1);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, 0);
-	} else
-#endif
-	{
-		if (arg1) (*env)->ReleaseBooleanArrayElements(env, arg1, lparg1, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glGetBooleanv_FUNC);
-}
-#endif
-
-#ifndef NO_glGetClipPlane
-JNIEXPORT void JNICALL GL_NATIVE(glGetClipPlane)
-	(JNIEnv *env, jclass that, jint arg0, jdoubleArray arg1)
-{
-	jdouble *lparg1=NULL;
-	GL_NATIVE_ENTER(env, that, glGetClipPlane_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL);
-	} else
-#endif
-	{
-		if (arg1) lparg1 = (*env)->GetDoubleArrayElements(env, arg1, NULL);
-	}
-	glGetClipPlane(arg0, lparg1);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, 0);
-	} else
-#endif
-	{
-		if (arg1) (*env)->ReleaseDoubleArrayElements(env, arg1, lparg1, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glGetClipPlane_FUNC);
-}
-#endif
-
-#ifndef NO_glGetDoublev
-JNIEXPORT void JNICALL GL_NATIVE(glGetDoublev)
-	(JNIEnv *env, jclass that, jint arg0, jdoubleArray arg1)
-{
-	jdouble *lparg1=NULL;
-	GL_NATIVE_ENTER(env, that, glGetDoublev_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL);
-	} else
-#endif
-	{
-		if (arg1) lparg1 = (*env)->GetDoubleArrayElements(env, arg1, NULL);
-	}
-	glGetDoublev(arg0, lparg1);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, 0);
-	} else
-#endif
-	{
-		if (arg1) (*env)->ReleaseDoubleArrayElements(env, arg1, lparg1, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glGetDoublev_FUNC);
-}
-#endif
-
-#ifndef NO_glGetError
-JNIEXPORT jint JNICALL GL_NATIVE(glGetError)
-	(JNIEnv *env, jclass that)
-{
-	jint rc;
-	GL_NATIVE_ENTER(env, that, glGetError_FUNC);
-	rc = (jint)glGetError();
-	GL_NATIVE_EXIT(env, that, glGetError_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_glGetFloatv
-JNIEXPORT void JNICALL GL_NATIVE(glGetFloatv)
-	(JNIEnv *env, jclass that, jint arg0, jfloatArray arg1)
-{
-	jfloat *lparg1=NULL;
-	GL_NATIVE_ENTER(env, that, glGetFloatv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL);
-	} else
-#endif
-	{
-		if (arg1) lparg1 = (*env)->GetFloatArrayElements(env, arg1, NULL);
-	}
-	glGetFloatv(arg0, lparg1);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, 0);
-	} else
-#endif
-	{
-		if (arg1) (*env)->ReleaseFloatArrayElements(env, arg1, lparg1, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glGetFloatv_FUNC);
-}
-#endif
-
-#ifndef NO_glGetIntegerv
-JNIEXPORT void JNICALL GL_NATIVE(glGetIntegerv)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-	GL_NATIVE_ENTER(env, that, glGetIntegerv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL);
-	} else
-#endif
-	{
-		if (arg1) lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL);
-	}
-	glGetIntegerv(arg0, lparg1);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, 0);
-	} else
-#endif
-	{
-		if (arg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glGetIntegerv_FUNC);
-}
-#endif
-
-#ifndef NO_glGetLightfv
-JNIEXPORT void JNICALL GL_NATIVE(glGetLightfv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloatArray arg2)
-{
-	jfloat *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glGetLightfv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetFloatArrayElements(env, arg2, NULL);
-	}
-	glGetLightfv(arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseFloatArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glGetLightfv_FUNC);
-}
-#endif
-
-#ifndef NO_glGetLightiv
-JNIEXPORT void JNICALL GL_NATIVE(glGetLightiv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glGetLightiv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
-	}
-	glGetLightiv(arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glGetLightiv_FUNC);
-}
-#endif
-
-#ifndef NO_glGetMapdv
-JNIEXPORT void JNICALL GL_NATIVE(glGetMapdv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jdoubleArray arg2)
-{
-	jdouble *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glGetMapdv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetDoubleArrayElements(env, arg2, NULL);
-	}
-	glGetMapdv(arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseDoubleArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glGetMapdv_FUNC);
-}
-#endif
-
-#ifndef NO_glGetMapfv
-JNIEXPORT void JNICALL GL_NATIVE(glGetMapfv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloatArray arg2)
-{
-	jfloat *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glGetMapfv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetFloatArrayElements(env, arg2, NULL);
-	}
-	glGetMapfv(arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseFloatArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glGetMapfv_FUNC);
-}
-#endif
-
-#ifndef NO_glGetMapiv
-JNIEXPORT void JNICALL GL_NATIVE(glGetMapiv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glGetMapiv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
-	}
-	glGetMapiv(arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glGetMapiv_FUNC);
-}
-#endif
-
-#ifndef NO_glGetMaterialfv
-JNIEXPORT void JNICALL GL_NATIVE(glGetMaterialfv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloatArray arg2)
-{
-	jfloat *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glGetMaterialfv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetFloatArrayElements(env, arg2, NULL);
-	}
-	glGetMaterialfv(arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseFloatArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glGetMaterialfv_FUNC);
-}
-#endif
-
-#ifndef NO_glGetMaterialiv
-JNIEXPORT void JNICALL GL_NATIVE(glGetMaterialiv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glGetMaterialiv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
-	}
-	glGetMaterialiv(arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glGetMaterialiv_FUNC);
-}
-#endif
-
-#ifndef NO_glGetPixelMapfv
-JNIEXPORT void JNICALL GL_NATIVE(glGetPixelMapfv)
-	(JNIEnv *env, jclass that, jint arg0, jfloatArray arg1)
-{
-	jfloat *lparg1=NULL;
-	GL_NATIVE_ENTER(env, that, glGetPixelMapfv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL);
-	} else
-#endif
-	{
-		if (arg1) lparg1 = (*env)->GetFloatArrayElements(env, arg1, NULL);
-	}
-	glGetPixelMapfv(arg0, lparg1);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, 0);
-	} else
-#endif
-	{
-		if (arg1) (*env)->ReleaseFloatArrayElements(env, arg1, lparg1, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glGetPixelMapfv_FUNC);
-}
-#endif
-
-#ifndef NO_glGetPixelMapuiv
-JNIEXPORT void JNICALL GL_NATIVE(glGetPixelMapuiv)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-	GL_NATIVE_ENTER(env, that, glGetPixelMapuiv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL);
-	} else
-#endif
-	{
-		if (arg1) lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL);
-	}
-	glGetPixelMapuiv(arg0, (GLuint *)lparg1);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, 0);
-	} else
-#endif
-	{
-		if (arg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glGetPixelMapuiv_FUNC);
-}
-#endif
-
-#ifndef NO_glGetPixelMapusv
-JNIEXPORT void JNICALL GL_NATIVE(glGetPixelMapusv)
-	(JNIEnv *env, jclass that, jint arg0, jshortArray arg1)
-{
-	jshort *lparg1=NULL;
-	GL_NATIVE_ENTER(env, that, glGetPixelMapusv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL);
-	} else
-#endif
-	{
-		if (arg1) lparg1 = (*env)->GetShortArrayElements(env, arg1, NULL);
-	}
-	glGetPixelMapusv(arg0, (GLushort *)lparg1);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, 0);
-	} else
-#endif
-	{
-		if (arg1) (*env)->ReleaseShortArrayElements(env, arg1, lparg1, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glGetPixelMapusv_FUNC);
-}
-#endif
-
-#ifndef NO_glGetPointerv
-JNIEXPORT void JNICALL GL_NATIVE(glGetPointerv)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-	GL_NATIVE_ENTER(env, that, glGetPointerv_FUNC);
-	if (arg1) lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL);
-	glGetPointerv(arg0, (GLvoid **)lparg1);
-	if (arg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	GL_NATIVE_EXIT(env, that, glGetPointerv_FUNC);
-}
-#endif
-
-#ifndef NO_glGetPolygonStipple
-JNIEXPORT void JNICALL GL_NATIVE(glGetPolygonStipple)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glGetPolygonStipple_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL);
-	}
-	glGetPolygonStipple((GLubyte *)lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glGetPolygonStipple_FUNC);
-}
-#endif
-
-#ifndef NO_glGetString
-JNIEXPORT jint JNICALL GL_NATIVE(glGetString)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc;
-	GL_NATIVE_ENTER(env, that, glGetString_FUNC);
-	rc = (jint)glGetString(arg0);
-	GL_NATIVE_EXIT(env, that, glGetString_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_glGetTexEnvfv
-JNIEXPORT void JNICALL GL_NATIVE(glGetTexEnvfv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloatArray arg2)
-{
-	jfloat *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glGetTexEnvfv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetFloatArrayElements(env, arg2, NULL);
-	}
-	glGetTexEnvfv(arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseFloatArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glGetTexEnvfv_FUNC);
-}
-#endif
-
-#ifndef NO_glGetTexEnviv
-JNIEXPORT void JNICALL GL_NATIVE(glGetTexEnviv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glGetTexEnviv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
-	}
-	glGetTexEnviv(arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glGetTexEnviv_FUNC);
-}
-#endif
-
-#ifndef NO_glGetTexGendv
-JNIEXPORT void JNICALL GL_NATIVE(glGetTexGendv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jdoubleArray arg2)
-{
-	jdouble *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glGetTexGendv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetDoubleArrayElements(env, arg2, NULL);
-	}
-	glGetTexGendv(arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseDoubleArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glGetTexGendv_FUNC);
-}
-#endif
-
-#ifndef NO_glGetTexGenfv
-JNIEXPORT void JNICALL GL_NATIVE(glGetTexGenfv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloatArray arg2)
-{
-	jfloat *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glGetTexGenfv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetFloatArrayElements(env, arg2, NULL);
-	}
-	glGetTexGenfv(arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseFloatArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glGetTexGenfv_FUNC);
-}
-#endif
-
-#ifndef NO_glGetTexGeniv
-JNIEXPORT void JNICALL GL_NATIVE(glGetTexGeniv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glGetTexGeniv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
-	}
-	glGetTexGeniv(arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glGetTexGeniv_FUNC);
-}
-#endif
-
-#ifndef NO_glGetTexImage
-JNIEXPORT void JNICALL GL_NATIVE(glGetTexImage)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jintArray arg4)
-{
-	jint *lparg4=NULL;
-	GL_NATIVE_ENTER(env, that, glGetTexImage_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg4) lparg4 = (*env)->GetPrimitiveArrayCritical(env, arg4, NULL);
-	} else
-#endif
-	{
-		if (arg4) lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL);
-	}
-	glGetTexImage(arg0, arg1, arg2, arg3, lparg4);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg4) (*env)->ReleasePrimitiveArrayCritical(env, arg4, lparg4, 0);
-	} else
-#endif
-	{
-		if (arg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glGetTexImage_FUNC);
-}
-#endif
-
-#ifndef NO_glGetTexLevelParameterfv
-JNIEXPORT void JNICALL GL_NATIVE(glGetTexLevelParameterfv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jfloatArray arg3)
-{
-	jfloat *lparg3=NULL;
-	GL_NATIVE_ENTER(env, that, glGetTexLevelParameterfv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg3) lparg3 = (*env)->GetPrimitiveArrayCritical(env, arg3, NULL);
-	} else
-#endif
-	{
-		if (arg3) lparg3 = (*env)->GetFloatArrayElements(env, arg3, NULL);
-	}
-	glGetTexLevelParameterfv(arg0, arg1, arg2, lparg3);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg3) (*env)->ReleasePrimitiveArrayCritical(env, arg3, lparg3, 0);
-	} else
-#endif
-	{
-		if (arg3) (*env)->ReleaseFloatArrayElements(env, arg3, lparg3, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glGetTexLevelParameterfv_FUNC);
-}
-#endif
-
-#ifndef NO_glGetTexLevelParameteriv
-JNIEXPORT void JNICALL GL_NATIVE(glGetTexLevelParameteriv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jintArray arg3)
-{
-	jint *lparg3=NULL;
-	GL_NATIVE_ENTER(env, that, glGetTexLevelParameteriv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg3) lparg3 = (*env)->GetPrimitiveArrayCritical(env, arg3, NULL);
-	} else
-#endif
-	{
-		if (arg3) lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL);
-	}
-	glGetTexLevelParameteriv(arg0, arg1, arg2, lparg3);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg3) (*env)->ReleasePrimitiveArrayCritical(env, arg3, lparg3, 0);
-	} else
-#endif
-	{
-		if (arg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glGetTexLevelParameteriv_FUNC);
-}
-#endif
-
-#ifndef NO_glGetTexParameterfv
-JNIEXPORT void JNICALL GL_NATIVE(glGetTexParameterfv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloatArray arg2)
-{
-	jfloat *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glGetTexParameterfv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetFloatArrayElements(env, arg2, NULL);
-	}
-	glGetTexParameterfv(arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseFloatArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glGetTexParameterfv_FUNC);
-}
-#endif
-
-#ifndef NO_glGetTexParameteriv
-JNIEXPORT void JNICALL GL_NATIVE(glGetTexParameteriv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glGetTexParameteriv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
-	}
-	glGetTexParameteriv(arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glGetTexParameteriv_FUNC);
-}
-#endif
-
-#ifndef NO_glHint
-JNIEXPORT void JNICALL GL_NATIVE(glHint)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	GL_NATIVE_ENTER(env, that, glHint_FUNC);
-	glHint(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glHint_FUNC);
-}
-#endif
-
-#ifndef NO_glIndexMask
-JNIEXPORT void JNICALL GL_NATIVE(glIndexMask)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GL_NATIVE_ENTER(env, that, glIndexMask_FUNC);
-	glIndexMask(arg0);
-	GL_NATIVE_EXIT(env, that, glIndexMask_FUNC);
-}
-#endif
-
-#ifndef NO_glIndexPointer
-JNIEXPORT void JNICALL GL_NATIVE(glIndexPointer)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glIndexPointer_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
-	}
-	glIndexPointer(arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glIndexPointer_FUNC);
-}
-#endif
-
-#ifndef NO_glIndexd
-JNIEXPORT void JNICALL GL_NATIVE(glIndexd)
-	(JNIEnv *env, jclass that, jdouble arg0)
-{
-	GL_NATIVE_ENTER(env, that, glIndexd_FUNC);
-	glIndexd(arg0);
-	GL_NATIVE_EXIT(env, that, glIndexd_FUNC);
-}
-#endif
-
-#ifndef NO_glIndexdv
-JNIEXPORT void JNICALL GL_NATIVE(glIndexdv)
-	(JNIEnv *env, jclass that, jdoubleArray arg0)
-{
-	jdouble *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glIndexdv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL);
-	}
-	glIndexdv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glIndexdv_FUNC);
-}
-#endif
-
-#ifndef NO_glIndexf
-JNIEXPORT void JNICALL GL_NATIVE(glIndexf)
-	(JNIEnv *env, jclass that, jfloat arg0)
-{
-	GL_NATIVE_ENTER(env, that, glIndexf_FUNC);
-	glIndexf(arg0);
-	GL_NATIVE_EXIT(env, that, glIndexf_FUNC);
-}
-#endif
-
-#ifndef NO_glIndexfv
-JNIEXPORT void JNICALL GL_NATIVE(glIndexfv)
-	(JNIEnv *env, jclass that, jfloatArray arg0)
-{
-	jfloat *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glIndexfv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL);
-	}
-	glIndexfv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glIndexfv_FUNC);
-}
-#endif
-
-#ifndef NO_glIndexi
-JNIEXPORT void JNICALL GL_NATIVE(glIndexi)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GL_NATIVE_ENTER(env, that, glIndexi_FUNC);
-	glIndexi(arg0);
-	GL_NATIVE_EXIT(env, that, glIndexi_FUNC);
-}
-#endif
-
-#ifndef NO_glIndexiv
-JNIEXPORT void JNICALL GL_NATIVE(glIndexiv)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glIndexiv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL);
-	}
-	glIndexiv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glIndexiv_FUNC);
-}
-#endif
-
-#ifndef NO_glIndexs
-JNIEXPORT void JNICALL GL_NATIVE(glIndexs)
-	(JNIEnv *env, jclass that, jshort arg0)
-{
-	GL_NATIVE_ENTER(env, that, glIndexs_FUNC);
-	glIndexs(arg0);
-	GL_NATIVE_EXIT(env, that, glIndexs_FUNC);
-}
-#endif
-
-#ifndef NO_glIndexsv
-JNIEXPORT void JNICALL GL_NATIVE(glIndexsv)
-	(JNIEnv *env, jclass that, jshortArray arg0)
-{
-	jshort *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glIndexsv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetShortArrayElements(env, arg0, NULL);
-	}
-	glIndexsv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseShortArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glIndexsv_FUNC);
-}
-#endif
-
-#ifndef NO_glInitNames
-JNIEXPORT void JNICALL GL_NATIVE(glInitNames)
-	(JNIEnv *env, jclass that)
-{
-	GL_NATIVE_ENTER(env, that, glInitNames_FUNC);
-	glInitNames();
-	GL_NATIVE_EXIT(env, that, glInitNames_FUNC);
-}
-#endif
-
-#ifndef NO_glInterleavedArrays
-JNIEXPORT void JNICALL GL_NATIVE(glInterleavedArrays)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glInterleavedArrays_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
-	}
-	glInterleavedArrays(arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glInterleavedArrays_FUNC);
-}
-#endif
-
-#ifndef NO_glIsEnabled
-JNIEXPORT jboolean JNICALL GL_NATIVE(glIsEnabled)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc;
-	GL_NATIVE_ENTER(env, that, glIsEnabled_FUNC);
-	rc = (jboolean)glIsEnabled(arg0);
-	GL_NATIVE_EXIT(env, that, glIsEnabled_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_glIsList
-JNIEXPORT jboolean JNICALL GL_NATIVE(glIsList)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc;
-	GL_NATIVE_ENTER(env, that, glIsList_FUNC);
-	rc = (jboolean)glIsList(arg0);
-	GL_NATIVE_EXIT(env, that, glIsList_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_glIsTexture
-JNIEXPORT jboolean JNICALL GL_NATIVE(glIsTexture)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc;
-	GL_NATIVE_ENTER(env, that, glIsTexture_FUNC);
-	rc = (jboolean)glIsTexture(arg0);
-	GL_NATIVE_EXIT(env, that, glIsTexture_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_glLightModelf
-JNIEXPORT void JNICALL GL_NATIVE(glLightModelf)
-	(JNIEnv *env, jclass that, jint arg0, jfloat arg1)
-{
-	GL_NATIVE_ENTER(env, that, glLightModelf_FUNC);
-	glLightModelf(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glLightModelf_FUNC);
-}
-#endif
-
-#ifndef NO_glLightModelfv
-JNIEXPORT void JNICALL GL_NATIVE(glLightModelfv)
-	(JNIEnv *env, jclass that, jint arg0, jfloatArray arg1)
-{
-	jfloat *lparg1=NULL;
-	GL_NATIVE_ENTER(env, that, glLightModelfv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL);
-	} else
-#endif
-	{
-		if (arg1) lparg1 = (*env)->GetFloatArrayElements(env, arg1, NULL);
-	}
-	glLightModelfv(arg0, lparg1);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, 0);
-	} else
-#endif
-	{
-		if (arg1) (*env)->ReleaseFloatArrayElements(env, arg1, lparg1, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glLightModelfv_FUNC);
-}
-#endif
-
-#ifndef NO_glLightModeli
-JNIEXPORT void JNICALL GL_NATIVE(glLightModeli)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	GL_NATIVE_ENTER(env, that, glLightModeli_FUNC);
-	glLightModeli(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glLightModeli_FUNC);
-}
-#endif
-
-#ifndef NO_glLightModeliv
-JNIEXPORT void JNICALL GL_NATIVE(glLightModeliv)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-	GL_NATIVE_ENTER(env, that, glLightModeliv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL);
-	} else
-#endif
-	{
-		if (arg1) lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL);
-	}
-	glLightModeliv(arg0, lparg1);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, 0);
-	} else
-#endif
-	{
-		if (arg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glLightModeliv_FUNC);
-}
-#endif
-
-#ifndef NO_glLightf
-JNIEXPORT void JNICALL GL_NATIVE(glLightf)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloat arg2)
-{
-	GL_NATIVE_ENTER(env, that, glLightf_FUNC);
-	glLightf(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glLightf_FUNC);
-}
-#endif
-
-#ifndef NO_glLightfv
-JNIEXPORT void JNICALL GL_NATIVE(glLightfv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloatArray arg2)
-{
-	jfloat *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glLightfv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetFloatArrayElements(env, arg2, NULL);
-	}
-	glLightfv(arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseFloatArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glLightfv_FUNC);
-}
-#endif
-
-#ifndef NO_glLighti
-JNIEXPORT void JNICALL GL_NATIVE(glLighti)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	GL_NATIVE_ENTER(env, that, glLighti_FUNC);
-	glLighti(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glLighti_FUNC);
-}
-#endif
-
-#ifndef NO_glLightiv
-JNIEXPORT void JNICALL GL_NATIVE(glLightiv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glLightiv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
-	}
-	glLightiv(arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glLightiv_FUNC);
-}
-#endif
-
-#ifndef NO_glLineStipple
-JNIEXPORT void JNICALL GL_NATIVE(glLineStipple)
-	(JNIEnv *env, jclass that, jint arg0, jshort arg1)
-{
-	GL_NATIVE_ENTER(env, that, glLineStipple_FUNC);
-	glLineStipple(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glLineStipple_FUNC);
-}
-#endif
-
-#ifndef NO_glLineWidth
-JNIEXPORT void JNICALL GL_NATIVE(glLineWidth)
-	(JNIEnv *env, jclass that, jfloat arg0)
-{
-	GL_NATIVE_ENTER(env, that, glLineWidth_FUNC);
-	glLineWidth(arg0);
-	GL_NATIVE_EXIT(env, that, glLineWidth_FUNC);
-}
-#endif
-
-#ifndef NO_glListBase
-JNIEXPORT void JNICALL GL_NATIVE(glListBase)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GL_NATIVE_ENTER(env, that, glListBase_FUNC);
-	glListBase(arg0);
-	GL_NATIVE_EXIT(env, that, glListBase_FUNC);
-}
-#endif
-
-#ifndef NO_glLoadIdentity
-JNIEXPORT void JNICALL GL_NATIVE(glLoadIdentity)
-	(JNIEnv *env, jclass that)
-{
-	GL_NATIVE_ENTER(env, that, glLoadIdentity_FUNC);
-	glLoadIdentity();
-	GL_NATIVE_EXIT(env, that, glLoadIdentity_FUNC);
-}
-#endif
-
-#ifndef NO_glLoadMatrixd
-JNIEXPORT void JNICALL GL_NATIVE(glLoadMatrixd)
-	(JNIEnv *env, jclass that, jdoubleArray arg0)
-{
-	jdouble *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glLoadMatrixd_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL);
-	}
-	glLoadMatrixd(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glLoadMatrixd_FUNC);
-}
-#endif
-
-#ifndef NO_glLoadMatrixf
-JNIEXPORT void JNICALL GL_NATIVE(glLoadMatrixf)
-	(JNIEnv *env, jclass that, jfloatArray arg0)
-{
-	jfloat *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glLoadMatrixf_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL);
-	}
-	glLoadMatrixf(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glLoadMatrixf_FUNC);
-}
-#endif
-
-#ifndef NO_glLoadName
-JNIEXPORT void JNICALL GL_NATIVE(glLoadName)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GL_NATIVE_ENTER(env, that, glLoadName_FUNC);
-	glLoadName(arg0);
-	GL_NATIVE_EXIT(env, that, glLoadName_FUNC);
-}
-#endif
-
-#ifndef NO_glLogicOp
-JNIEXPORT void JNICALL GL_NATIVE(glLogicOp)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GL_NATIVE_ENTER(env, that, glLogicOp_FUNC);
-	glLogicOp(arg0);
-	GL_NATIVE_EXIT(env, that, glLogicOp_FUNC);
-}
-#endif
-
-#ifndef NO_glMap1d
-JNIEXPORT void JNICALL GL_NATIVE(glMap1d)
-	(JNIEnv *env, jclass that, jint arg0, jdouble arg1, jdouble arg2, jint arg3, jint arg4, jdoubleArray arg5)
-{
-	jdouble *lparg5=NULL;
-	GL_NATIVE_ENTER(env, that, glMap1d_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg5) lparg5 = (*env)->GetPrimitiveArrayCritical(env, arg5, NULL);
-	} else
-#endif
-	{
-		if (arg5) lparg5 = (*env)->GetDoubleArrayElements(env, arg5, NULL);
-	}
-	glMap1d(arg0, arg1, arg2, arg3, arg4, lparg5);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg5) (*env)->ReleasePrimitiveArrayCritical(env, arg5, lparg5, 0);
-	} else
-#endif
-	{
-		if (arg5) (*env)->ReleaseDoubleArrayElements(env, arg5, lparg5, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glMap1d_FUNC);
-}
-#endif
-
-#ifndef NO_glMap1f
-JNIEXPORT void JNICALL GL_NATIVE(glMap1f)
-	(JNIEnv *env, jclass that, jint arg0, jfloat arg1, jfloat arg2, jint arg3, jint arg4, jfloatArray arg5)
-{
-	jfloat *lparg5=NULL;
-	GL_NATIVE_ENTER(env, that, glMap1f_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg5) lparg5 = (*env)->GetPrimitiveArrayCritical(env, arg5, NULL);
-	} else
-#endif
-	{
-		if (arg5) lparg5 = (*env)->GetFloatArrayElements(env, arg5, NULL);
-	}
-	glMap1f(arg0, arg1, arg2, arg3, arg4, lparg5);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg5) (*env)->ReleasePrimitiveArrayCritical(env, arg5, lparg5, 0);
-	} else
-#endif
-	{
-		if (arg5) (*env)->ReleaseFloatArrayElements(env, arg5, lparg5, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glMap1f_FUNC);
-}
-#endif
-
-#ifndef NO_glMap2d
-JNIEXPORT void JNICALL GL_NATIVE(glMap2d)
-	(JNIEnv *env, jclass that, jint arg0, jdouble arg1, jdouble arg2, jint arg3, jint arg4, jdouble arg5, jdouble arg6, jint arg7, jint arg8, jdoubleArray arg9)
-{
-	jdouble *lparg9=NULL;
-	GL_NATIVE_ENTER(env, that, glMap2d_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg9) lparg9 = (*env)->GetPrimitiveArrayCritical(env, arg9, NULL);
-	} else
-#endif
-	{
-		if (arg9) lparg9 = (*env)->GetDoubleArrayElements(env, arg9, NULL);
-	}
-	glMap2d(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, lparg9);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg9) (*env)->ReleasePrimitiveArrayCritical(env, arg9, lparg9, 0);
-	} else
-#endif
-	{
-		if (arg9) (*env)->ReleaseDoubleArrayElements(env, arg9, lparg9, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glMap2d_FUNC);
-}
-#endif
-
-#ifndef NO_glMap2f
-JNIEXPORT void JNICALL GL_NATIVE(glMap2f)
-	(JNIEnv *env, jclass that, jint arg0, jfloat arg1, jfloat arg2, jint arg3, jint arg4, jfloat arg5, jfloat arg6, jint arg7, jint arg8, jfloatArray arg9)
-{
-	jfloat *lparg9=NULL;
-	GL_NATIVE_ENTER(env, that, glMap2f_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg9) lparg9 = (*env)->GetPrimitiveArrayCritical(env, arg9, NULL);
-	} else
-#endif
-	{
-		if (arg9) lparg9 = (*env)->GetFloatArrayElements(env, arg9, NULL);
-	}
-	glMap2f(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, lparg9);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg9) (*env)->ReleasePrimitiveArrayCritical(env, arg9, lparg9, 0);
-	} else
-#endif
-	{
-		if (arg9) (*env)->ReleaseFloatArrayElements(env, arg9, lparg9, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glMap2f_FUNC);
-}
-#endif
-
-#ifndef NO_glMapGrid1d
-JNIEXPORT void JNICALL GL_NATIVE(glMapGrid1d)
-	(JNIEnv *env, jclass that, jint arg0, jdouble arg1, jdouble arg2)
-{
-	GL_NATIVE_ENTER(env, that, glMapGrid1d_FUNC);
-	glMapGrid1d(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glMapGrid1d_FUNC);
-}
-#endif
-
-#ifndef NO_glMapGrid1f
-JNIEXPORT void JNICALL GL_NATIVE(glMapGrid1f)
-	(JNIEnv *env, jclass that, jint arg0, jfloat arg1, jfloat arg2)
-{
-	GL_NATIVE_ENTER(env, that, glMapGrid1f_FUNC);
-	glMapGrid1f(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glMapGrid1f_FUNC);
-}
-#endif
-
-#ifndef NO_glMapGrid2d
-JNIEXPORT void JNICALL GL_NATIVE(glMapGrid2d)
-	(JNIEnv *env, jclass that, jint arg0, jdouble arg1, jdouble arg2, jint arg3, jdouble arg4, jdouble arg5)
-{
-	GL_NATIVE_ENTER(env, that, glMapGrid2d_FUNC);
-	glMapGrid2d(arg0, arg1, arg2, arg3, arg4, arg5);
-	GL_NATIVE_EXIT(env, that, glMapGrid2d_FUNC);
-}
-#endif
-
-#ifndef NO_glMapGrid2f
-JNIEXPORT void JNICALL GL_NATIVE(glMapGrid2f)
-	(JNIEnv *env, jclass that, jint arg0, jfloat arg1, jfloat arg2, jint arg3, jfloat arg4, jfloat arg5)
-{
-	GL_NATIVE_ENTER(env, that, glMapGrid2f_FUNC);
-	glMapGrid2f(arg0, arg1, arg2, arg3, arg4, arg5);
-	GL_NATIVE_EXIT(env, that, glMapGrid2f_FUNC);
-}
-#endif
-
-#ifndef NO_glMaterialf
-JNIEXPORT void JNICALL GL_NATIVE(glMaterialf)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloat arg2)
-{
-	GL_NATIVE_ENTER(env, that, glMaterialf_FUNC);
-	glMaterialf(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glMaterialf_FUNC);
-}
-#endif
-
-#ifndef NO_glMaterialfv
-JNIEXPORT void JNICALL GL_NATIVE(glMaterialfv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloatArray arg2)
-{
-	jfloat *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glMaterialfv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetFloatArrayElements(env, arg2, NULL);
-	}
-	glMaterialfv(arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseFloatArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glMaterialfv_FUNC);
-}
-#endif
-
-#ifndef NO_glMateriali
-JNIEXPORT void JNICALL GL_NATIVE(glMateriali)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	GL_NATIVE_ENTER(env, that, glMateriali_FUNC);
-	glMateriali(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glMateriali_FUNC);
-}
-#endif
-
-#ifndef NO_glMaterialiv
-JNIEXPORT void JNICALL GL_NATIVE(glMaterialiv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glMaterialiv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
-	}
-	glMaterialiv(arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glMaterialiv_FUNC);
-}
-#endif
-
-#ifndef NO_glMatrixMode
-JNIEXPORT void JNICALL GL_NATIVE(glMatrixMode)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GL_NATIVE_ENTER(env, that, glMatrixMode_FUNC);
-	glMatrixMode(arg0);
-	GL_NATIVE_EXIT(env, that, glMatrixMode_FUNC);
-}
-#endif
-
-#ifndef NO_glMultMatrixd
-JNIEXPORT void JNICALL GL_NATIVE(glMultMatrixd)
-	(JNIEnv *env, jclass that, jdoubleArray arg0)
-{
-	jdouble *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glMultMatrixd_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL);
-	}
-	glMultMatrixd(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glMultMatrixd_FUNC);
-}
-#endif
-
-#ifndef NO_glMultMatrixf
-JNIEXPORT void JNICALL GL_NATIVE(glMultMatrixf)
-	(JNIEnv *env, jclass that, jfloatArray arg0)
-{
-	jfloat *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glMultMatrixf_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL);
-	}
-	glMultMatrixf(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glMultMatrixf_FUNC);
-}
-#endif
-
-#ifndef NO_glNewList
-JNIEXPORT void JNICALL GL_NATIVE(glNewList)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	GL_NATIVE_ENTER(env, that, glNewList_FUNC);
-	glNewList(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glNewList_FUNC);
-}
-#endif
-
-#ifndef NO_glNormal3b
-JNIEXPORT void JNICALL GL_NATIVE(glNormal3b)
-	(JNIEnv *env, jclass that, jbyte arg0, jbyte arg1, jbyte arg2)
-{
-	GL_NATIVE_ENTER(env, that, glNormal3b_FUNC);
-	glNormal3b(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glNormal3b_FUNC);
-}
-#endif
-
-#ifndef NO_glNormal3bv
-JNIEXPORT void JNICALL GL_NATIVE(glNormal3bv)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glNormal3bv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL);
-	}
-	glNormal3bv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glNormal3bv_FUNC);
-}
-#endif
-
-#ifndef NO_glNormal3d
-JNIEXPORT void JNICALL GL_NATIVE(glNormal3d)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1, jdouble arg2)
-{
-	GL_NATIVE_ENTER(env, that, glNormal3d_FUNC);
-	glNormal3d(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glNormal3d_FUNC);
-}
-#endif
-
-#ifndef NO_glNormal3dv
-JNIEXPORT void JNICALL GL_NATIVE(glNormal3dv)
-	(JNIEnv *env, jclass that, jdoubleArray arg0)
-{
-	jdouble *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glNormal3dv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL);
-	}
-	glNormal3dv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glNormal3dv_FUNC);
-}
-#endif
-
-#ifndef NO_glNormal3f
-JNIEXPORT void JNICALL GL_NATIVE(glNormal3f)
-	(JNIEnv *env, jclass that, jfloat arg0, jfloat arg1, jfloat arg2)
-{
-	GL_NATIVE_ENTER(env, that, glNormal3f_FUNC);
-	glNormal3f(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glNormal3f_FUNC);
-}
-#endif
-
-#ifndef NO_glNormal3fv
-JNIEXPORT void JNICALL GL_NATIVE(glNormal3fv)
-	(JNIEnv *env, jclass that, jfloatArray arg0)
-{
-	jfloat *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glNormal3fv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL);
-	}
-	glNormal3fv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glNormal3fv_FUNC);
-}
-#endif
-
-#ifndef NO_glNormal3i
-JNIEXPORT void JNICALL GL_NATIVE(glNormal3i)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	GL_NATIVE_ENTER(env, that, glNormal3i_FUNC);
-	glNormal3i(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glNormal3i_FUNC);
-}
-#endif
-
-#ifndef NO_glNormal3iv
-JNIEXPORT void JNICALL GL_NATIVE(glNormal3iv)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glNormal3iv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL);
-	}
-	glNormal3iv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glNormal3iv_FUNC);
-}
-#endif
-
-#ifndef NO_glNormal3s
-JNIEXPORT void JNICALL GL_NATIVE(glNormal3s)
-	(JNIEnv *env, jclass that, jshort arg0, jshort arg1, jshort arg2)
-{
-	GL_NATIVE_ENTER(env, that, glNormal3s_FUNC);
-	glNormal3s(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glNormal3s_FUNC);
-}
-#endif
-
-#ifndef NO_glNormal3sv
-JNIEXPORT void JNICALL GL_NATIVE(glNormal3sv)
-	(JNIEnv *env, jclass that, jshortArray arg0)
-{
-	jshort *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glNormal3sv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetShortArrayElements(env, arg0, NULL);
-	}
-	glNormal3sv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseShortArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glNormal3sv_FUNC);
-}
-#endif
-
-#ifndef NO_glNormalPointer
-JNIEXPORT void JNICALL GL_NATIVE(glNormalPointer)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glNormalPointer_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
-	}
-	glNormalPointer(arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glNormalPointer_FUNC);
-}
-#endif
-
-#ifndef NO_glOrtho
-JNIEXPORT void JNICALL GL_NATIVE(glOrtho)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1, jdouble arg2, jdouble arg3, jdouble arg4, jdouble arg5)
-{
-	GL_NATIVE_ENTER(env, that, glOrtho_FUNC);
-	glOrtho(arg0, arg1, arg2, arg3, arg4, arg5);
-	GL_NATIVE_EXIT(env, that, glOrtho_FUNC);
-}
-#endif
-
-#ifndef NO_glPassThrough
-JNIEXPORT void JNICALL GL_NATIVE(glPassThrough)
-	(JNIEnv *env, jclass that, jfloat arg0)
-{
-	GL_NATIVE_ENTER(env, that, glPassThrough_FUNC);
-	glPassThrough(arg0);
-	GL_NATIVE_EXIT(env, that, glPassThrough_FUNC);
-}
-#endif
-
-#ifndef NO_glPixelMapfv
-JNIEXPORT void JNICALL GL_NATIVE(glPixelMapfv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloatArray arg2)
-{
-	jfloat *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glPixelMapfv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetFloatArrayElements(env, arg2, NULL);
-	}
-	glPixelMapfv(arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseFloatArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glPixelMapfv_FUNC);
-}
-#endif
-
-#ifndef NO_glPixelMapuiv
-JNIEXPORT void JNICALL GL_NATIVE(glPixelMapuiv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glPixelMapuiv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
-	}
-	glPixelMapuiv(arg0, arg1, (const GLuint *)lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glPixelMapuiv_FUNC);
-}
-#endif
-
-#ifndef NO_glPixelMapusv
-JNIEXPORT void JNICALL GL_NATIVE(glPixelMapusv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jshortArray arg2)
-{
-	jshort *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glPixelMapusv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetShortArrayElements(env, arg2, NULL);
-	}
-	glPixelMapusv(arg0, arg1, (const GLushort *)lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseShortArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glPixelMapusv_FUNC);
-}
-#endif
-
-#ifndef NO_glPixelStoref
-JNIEXPORT void JNICALL GL_NATIVE(glPixelStoref)
-	(JNIEnv *env, jclass that, jint arg0, jfloat arg1)
-{
-	GL_NATIVE_ENTER(env, that, glPixelStoref_FUNC);
-	glPixelStoref(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glPixelStoref_FUNC);
-}
-#endif
-
-#ifndef NO_glPixelStorei
-JNIEXPORT void JNICALL GL_NATIVE(glPixelStorei)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	GL_NATIVE_ENTER(env, that, glPixelStorei_FUNC);
-	glPixelStorei(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glPixelStorei_FUNC);
-}
-#endif
-
-#ifndef NO_glPixelTransferf
-JNIEXPORT void JNICALL GL_NATIVE(glPixelTransferf)
-	(JNIEnv *env, jclass that, jint arg0, jfloat arg1)
-{
-	GL_NATIVE_ENTER(env, that, glPixelTransferf_FUNC);
-	glPixelTransferf(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glPixelTransferf_FUNC);
-}
-#endif
-
-#ifndef NO_glPixelTransferi
-JNIEXPORT void JNICALL GL_NATIVE(glPixelTransferi)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	GL_NATIVE_ENTER(env, that, glPixelTransferi_FUNC);
-	glPixelTransferi(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glPixelTransferi_FUNC);
-}
-#endif
-
-#ifndef NO_glPixelZoom
-JNIEXPORT void JNICALL GL_NATIVE(glPixelZoom)
-	(JNIEnv *env, jclass that, jfloat arg0, jfloat arg1)
-{
-	GL_NATIVE_ENTER(env, that, glPixelZoom_FUNC);
-	glPixelZoom(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glPixelZoom_FUNC);
-}
-#endif
-
-#ifndef NO_glPointSize
-JNIEXPORT void JNICALL GL_NATIVE(glPointSize)
-	(JNIEnv *env, jclass that, jfloat arg0)
-{
-	GL_NATIVE_ENTER(env, that, glPointSize_FUNC);
-	glPointSize(arg0);
-	GL_NATIVE_EXIT(env, that, glPointSize_FUNC);
-}
-#endif
-
-#ifndef NO_glPolygonMode
-JNIEXPORT void JNICALL GL_NATIVE(glPolygonMode)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	GL_NATIVE_ENTER(env, that, glPolygonMode_FUNC);
-	glPolygonMode(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glPolygonMode_FUNC);
-}
-#endif
-
-#ifndef NO_glPolygonOffset
-JNIEXPORT void JNICALL GL_NATIVE(glPolygonOffset)
-	(JNIEnv *env, jclass that, jfloat arg0, jfloat arg1)
-{
-	GL_NATIVE_ENTER(env, that, glPolygonOffset_FUNC);
-	glPolygonOffset(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glPolygonOffset_FUNC);
-}
-#endif
-
-#ifndef NO_glPolygonStipple
-JNIEXPORT void JNICALL GL_NATIVE(glPolygonStipple)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glPolygonStipple_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL);
-	}
-	glPolygonStipple((GLubyte *)lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glPolygonStipple_FUNC);
-}
-#endif
-
-#ifndef NO_glPopAttrib
-JNIEXPORT void JNICALL GL_NATIVE(glPopAttrib)
-	(JNIEnv *env, jclass that)
-{
-	GL_NATIVE_ENTER(env, that, glPopAttrib_FUNC);
-	glPopAttrib();
-	GL_NATIVE_EXIT(env, that, glPopAttrib_FUNC);
-}
-#endif
-
-#ifndef NO_glPopClientAttrib
-JNIEXPORT void JNICALL GL_NATIVE(glPopClientAttrib)
-	(JNIEnv *env, jclass that)
-{
-	GL_NATIVE_ENTER(env, that, glPopClientAttrib_FUNC);
-	glPopClientAttrib();
-	GL_NATIVE_EXIT(env, that, glPopClientAttrib_FUNC);
-}
-#endif
-
-#ifndef NO_glPopMatrix
-JNIEXPORT void JNICALL GL_NATIVE(glPopMatrix)
-	(JNIEnv *env, jclass that)
-{
-	GL_NATIVE_ENTER(env, that, glPopMatrix_FUNC);
-	glPopMatrix();
-	GL_NATIVE_EXIT(env, that, glPopMatrix_FUNC);
-}
-#endif
-
-#ifndef NO_glPopName
-JNIEXPORT void JNICALL GL_NATIVE(glPopName)
-	(JNIEnv *env, jclass that)
-{
-	GL_NATIVE_ENTER(env, that, glPopName_FUNC);
-	glPopName();
-	GL_NATIVE_EXIT(env, that, glPopName_FUNC);
-}
-#endif
-
-#ifndef NO_glPrioritizeTextures
-JNIEXPORT void JNICALL GL_NATIVE(glPrioritizeTextures)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jfloatArray arg2)
-{
-	jint *lparg1=NULL;
-	jfloat *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glPrioritizeTextures_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL);
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg1) lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL);
-		if (arg2) lparg2 = (*env)->GetFloatArrayElements(env, arg2, NULL);
-	}
-	glPrioritizeTextures(arg0, (const GLuint *)lparg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-		if (arg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseFloatArrayElements(env, arg2, lparg2, 0);
-		if (arg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glPrioritizeTextures_FUNC);
-}
-#endif
-
-#ifndef NO_glPushAttrib
-JNIEXPORT void JNICALL GL_NATIVE(glPushAttrib)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GL_NATIVE_ENTER(env, that, glPushAttrib_FUNC);
-	glPushAttrib(arg0);
-	GL_NATIVE_EXIT(env, that, glPushAttrib_FUNC);
-}
-#endif
-
-#ifndef NO_glPushClientAttrib
-JNIEXPORT void JNICALL GL_NATIVE(glPushClientAttrib)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GL_NATIVE_ENTER(env, that, glPushClientAttrib_FUNC);
-	glPushClientAttrib(arg0);
-	GL_NATIVE_EXIT(env, that, glPushClientAttrib_FUNC);
-}
-#endif
-
-#ifndef NO_glPushMatrix
-JNIEXPORT void JNICALL GL_NATIVE(glPushMatrix)
-	(JNIEnv *env, jclass that)
-{
-	GL_NATIVE_ENTER(env, that, glPushMatrix_FUNC);
-	glPushMatrix();
-	GL_NATIVE_EXIT(env, that, glPushMatrix_FUNC);
-}
-#endif
-
-#ifndef NO_glPushName
-JNIEXPORT void JNICALL GL_NATIVE(glPushName)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GL_NATIVE_ENTER(env, that, glPushName_FUNC);
-	glPushName(arg0);
-	GL_NATIVE_EXIT(env, that, glPushName_FUNC);
-}
-#endif
-
-#ifndef NO_glRasterPos2d
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos2d)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1)
-{
-	GL_NATIVE_ENTER(env, that, glRasterPos2d_FUNC);
-	glRasterPos2d(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glRasterPos2d_FUNC);
-}
-#endif
-
-#ifndef NO_glRasterPos2dv
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos2dv)
-	(JNIEnv *env, jclass that, jdoubleArray arg0)
-{
-	jdouble *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glRasterPos2dv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL);
-	}
-	glRasterPos2dv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glRasterPos2dv_FUNC);
-}
-#endif
-
-#ifndef NO_glRasterPos2f
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos2f)
-	(JNIEnv *env, jclass that, jfloat arg0, jfloat arg1)
-{
-	GL_NATIVE_ENTER(env, that, glRasterPos2f_FUNC);
-	glRasterPos2f(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glRasterPos2f_FUNC);
-}
-#endif
-
-#ifndef NO_glRasterPos2fv
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos2fv)
-	(JNIEnv *env, jclass that, jfloatArray arg0)
-{
-	jfloat *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glRasterPos2fv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL);
-	}
-	glRasterPos2fv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glRasterPos2fv_FUNC);
-}
-#endif
-
-#ifndef NO_glRasterPos2i
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos2i)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	GL_NATIVE_ENTER(env, that, glRasterPos2i_FUNC);
-	glRasterPos2i(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glRasterPos2i_FUNC);
-}
-#endif
-
-#ifndef NO_glRasterPos2iv
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos2iv)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glRasterPos2iv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL);
-	}
-	glRasterPos2iv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glRasterPos2iv_FUNC);
-}
-#endif
-
-#ifndef NO_glRasterPos2s
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos2s)
-	(JNIEnv *env, jclass that, jshort arg0, jshort arg1)
-{
-	GL_NATIVE_ENTER(env, that, glRasterPos2s_FUNC);
-	glRasterPos2s(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glRasterPos2s_FUNC);
-}
-#endif
-
-#ifndef NO_glRasterPos2sv
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos2sv)
-	(JNIEnv *env, jclass that, jshortArray arg0)
-{
-	jshort *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glRasterPos2sv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetShortArrayElements(env, arg0, NULL);
-	}
-	glRasterPos2sv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseShortArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glRasterPos2sv_FUNC);
-}
-#endif
-
-#ifndef NO_glRasterPos3d
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos3d)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1, jdouble arg2)
-{
-	GL_NATIVE_ENTER(env, that, glRasterPos3d_FUNC);
-	glRasterPos3d(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glRasterPos3d_FUNC);
-}
-#endif
-
-#ifndef NO_glRasterPos3dv
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos3dv)
-	(JNIEnv *env, jclass that, jdoubleArray arg0)
-{
-	jdouble *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glRasterPos3dv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL);
-	}
-	glRasterPos3dv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glRasterPos3dv_FUNC);
-}
-#endif
-
-#ifndef NO_glRasterPos3f
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos3f)
-	(JNIEnv *env, jclass that, jfloat arg0, jfloat arg1, jfloat arg2)
-{
-	GL_NATIVE_ENTER(env, that, glRasterPos3f_FUNC);
-	glRasterPos3f(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glRasterPos3f_FUNC);
-}
-#endif
-
-#ifndef NO_glRasterPos3fv
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos3fv)
-	(JNIEnv *env, jclass that, jfloatArray arg0)
-{
-	jfloat *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glRasterPos3fv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL);
-	}
-	glRasterPos3fv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glRasterPos3fv_FUNC);
-}
-#endif
-
-#ifndef NO_glRasterPos3i
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos3i)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	GL_NATIVE_ENTER(env, that, glRasterPos3i_FUNC);
-	glRasterPos3i(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glRasterPos3i_FUNC);
-}
-#endif
-
-#ifndef NO_glRasterPos3iv
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos3iv)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glRasterPos3iv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL);
-	}
-	glRasterPos3iv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glRasterPos3iv_FUNC);
-}
-#endif
-
-#ifndef NO_glRasterPos3s
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos3s)
-	(JNIEnv *env, jclass that, jshort arg0, jshort arg1, jshort arg2)
-{
-	GL_NATIVE_ENTER(env, that, glRasterPos3s_FUNC);
-	glRasterPos3s(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glRasterPos3s_FUNC);
-}
-#endif
-
-#ifndef NO_glRasterPos3sv
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos3sv)
-	(JNIEnv *env, jclass that, jshortArray arg0)
-{
-	jshort *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glRasterPos3sv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetShortArrayElements(env, arg0, NULL);
-	}
-	glRasterPos3sv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseShortArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glRasterPos3sv_FUNC);
-}
-#endif
-
-#ifndef NO_glRasterPos4d
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos4d)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1, jdouble arg2, jdouble arg3)
-{
-	GL_NATIVE_ENTER(env, that, glRasterPos4d_FUNC);
-	glRasterPos4d(arg0, arg1, arg2, arg3);
-	GL_NATIVE_EXIT(env, that, glRasterPos4d_FUNC);
-}
-#endif
-
-#ifndef NO_glRasterPos4dv
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos4dv)
-	(JNIEnv *env, jclass that, jdoubleArray arg0)
-{
-	jdouble *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glRasterPos4dv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL);
-	}
-	glRasterPos4dv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glRasterPos4dv_FUNC);
-}
-#endif
-
-#ifndef NO_glRasterPos4f
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos4f)
-	(JNIEnv *env, jclass that, jfloat arg0, jfloat arg1, jfloat arg2, jfloat arg3)
-{
-	GL_NATIVE_ENTER(env, that, glRasterPos4f_FUNC);
-	glRasterPos4f(arg0, arg1, arg2, arg3);
-	GL_NATIVE_EXIT(env, that, glRasterPos4f_FUNC);
-}
-#endif
-
-#ifndef NO_glRasterPos4fv
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos4fv)
-	(JNIEnv *env, jclass that, jfloatArray arg0)
-{
-	jfloat *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glRasterPos4fv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL);
-	}
-	glRasterPos4fv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glRasterPos4fv_FUNC);
-}
-#endif
-
-#ifndef NO_glRasterPos4i
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos4i)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	GL_NATIVE_ENTER(env, that, glRasterPos4i_FUNC);
-	glRasterPos4i(arg0, arg1, arg2, arg3);
-	GL_NATIVE_EXIT(env, that, glRasterPos4i_FUNC);
-}
-#endif
-
-#ifndef NO_glRasterPos4iv
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos4iv)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glRasterPos4iv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL);
-	}
-	glRasterPos4iv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glRasterPos4iv_FUNC);
-}
-#endif
-
-#ifndef NO_glRasterPos4s
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos4s)
-	(JNIEnv *env, jclass that, jshort arg0, jshort arg1, jshort arg2, jshort arg3)
-{
-	GL_NATIVE_ENTER(env, that, glRasterPos4s_FUNC);
-	glRasterPos4s(arg0, arg1, arg2, arg3);
-	GL_NATIVE_EXIT(env, that, glRasterPos4s_FUNC);
-}
-#endif
-
-#ifndef NO_glRasterPos4sv
-JNIEXPORT void JNICALL GL_NATIVE(glRasterPos4sv)
-	(JNIEnv *env, jclass that, jshortArray arg0)
-{
-	jshort *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glRasterPos4sv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetShortArrayElements(env, arg0, NULL);
-	}
-	glRasterPos4sv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseShortArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glRasterPos4sv_FUNC);
-}
-#endif
-
-#ifndef NO_glReadBuffer
-JNIEXPORT void JNICALL GL_NATIVE(glReadBuffer)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GL_NATIVE_ENTER(env, that, glReadBuffer_FUNC);
-	glReadBuffer(arg0);
-	GL_NATIVE_EXIT(env, that, glReadBuffer_FUNC);
-}
-#endif
-
-#ifndef NO_glReadPixels
-JNIEXPORT void JNICALL GL_NATIVE(glReadPixels)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jintArray arg6)
-{
-	jint *lparg6=NULL;
-	GL_NATIVE_ENTER(env, that, glReadPixels_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg6) lparg6 = (*env)->GetPrimitiveArrayCritical(env, arg6, NULL);
-	} else
-#endif
-	{
-		if (arg6) lparg6 = (*env)->GetIntArrayElements(env, arg6, NULL);
-	}
-	glReadPixels(arg0, arg1, arg2, arg3, arg4, arg5, lparg6);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg6) (*env)->ReleasePrimitiveArrayCritical(env, arg6, lparg6, 0);
-	} else
-#endif
-	{
-		if (arg6) (*env)->ReleaseIntArrayElements(env, arg6, lparg6, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glReadPixels_FUNC);
-}
-#endif
-
-#ifndef NO_glRectd
-JNIEXPORT void JNICALL GL_NATIVE(glRectd)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1, jdouble arg2, jdouble arg3)
-{
-	GL_NATIVE_ENTER(env, that, glRectd_FUNC);
-	glRectd(arg0, arg1, arg2, arg3);
-	GL_NATIVE_EXIT(env, that, glRectd_FUNC);
-}
-#endif
-
-#ifndef NO_glRectdv
-JNIEXPORT void JNICALL GL_NATIVE(glRectdv)
-	(JNIEnv *env, jclass that, jdoubleArray arg0, jdoubleArray arg1)
-{
-	jdouble *lparg0=NULL;
-	jdouble *lparg1=NULL;
-	GL_NATIVE_ENTER(env, that, glRectdv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-		if (arg1) lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL);
-		if (arg1) lparg1 = (*env)->GetDoubleArrayElements(env, arg1, NULL);
-	}
-	glRectdv(lparg0, lparg1);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, 0);
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg1) (*env)->ReleaseDoubleArrayElements(env, arg1, lparg1, 0);
-		if (arg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glRectdv_FUNC);
-}
-#endif
-
-#ifndef NO_glRectf
-JNIEXPORT void JNICALL GL_NATIVE(glRectf)
-	(JNIEnv *env, jclass that, jfloat arg0, jfloat arg1, jfloat arg2, jfloat arg3)
-{
-	GL_NATIVE_ENTER(env, that, glRectf_FUNC);
-	glRectf(arg0, arg1, arg2, arg3);
-	GL_NATIVE_EXIT(env, that, glRectf_FUNC);
-}
-#endif
-
-#ifndef NO_glRectfv
-JNIEXPORT void JNICALL GL_NATIVE(glRectfv)
-	(JNIEnv *env, jclass that, jfloatArray arg0, jfloatArray arg1)
-{
-	jfloat *lparg0=NULL;
-	jfloat *lparg1=NULL;
-	GL_NATIVE_ENTER(env, that, glRectfv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-		if (arg1) lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL);
-		if (arg1) lparg1 = (*env)->GetFloatArrayElements(env, arg1, NULL);
-	}
-	glRectfv(lparg0, lparg1);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, 0);
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg1) (*env)->ReleaseFloatArrayElements(env, arg1, lparg1, 0);
-		if (arg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glRectfv_FUNC);
-}
-#endif
-
-#ifndef NO_glRecti
-JNIEXPORT void JNICALL GL_NATIVE(glRecti)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	GL_NATIVE_ENTER(env, that, glRecti_FUNC);
-	glRecti(arg0, arg1, arg2, arg3);
-	GL_NATIVE_EXIT(env, that, glRecti_FUNC);
-}
-#endif
-
-#ifndef NO_glRectiv
-JNIEXPORT void JNICALL GL_NATIVE(glRectiv)
-	(JNIEnv *env, jclass that, jintArray arg0, jintArray arg1)
-{
-	jint *lparg0=NULL;
-	jint *lparg1=NULL;
-	GL_NATIVE_ENTER(env, that, glRectiv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-		if (arg1) lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL);
-		if (arg1) lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL);
-	}
-	glRectiv(lparg0, lparg1);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, 0);
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-		if (arg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glRectiv_FUNC);
-}
-#endif
-
-#ifndef NO_glRects
-JNIEXPORT void JNICALL GL_NATIVE(glRects)
-	(JNIEnv *env, jclass that, jshort arg0, jshort arg1, jshort arg2, jshort arg3)
-{
-	GL_NATIVE_ENTER(env, that, glRects_FUNC);
-	glRects(arg0, arg1, arg2, arg3);
-	GL_NATIVE_EXIT(env, that, glRects_FUNC);
-}
-#endif
-
-#ifndef NO_glRectsv
-JNIEXPORT void JNICALL GL_NATIVE(glRectsv)
-	(JNIEnv *env, jclass that, jshortArray arg0, jshortArray arg1)
-{
-	jshort *lparg0=NULL;
-	jshort *lparg1=NULL;
-	GL_NATIVE_ENTER(env, that, glRectsv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-		if (arg1) lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetShortArrayElements(env, arg0, NULL);
-		if (arg1) lparg1 = (*env)->GetShortArrayElements(env, arg1, NULL);
-	}
-	glRectsv(lparg0, lparg1);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, 0);
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg1) (*env)->ReleaseShortArrayElements(env, arg1, lparg1, 0);
-		if (arg0) (*env)->ReleaseShortArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glRectsv_FUNC);
-}
-#endif
-
-#ifndef NO_glRenderMode
-JNIEXPORT jint JNICALL GL_NATIVE(glRenderMode)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc;
-	GL_NATIVE_ENTER(env, that, glRenderMode_FUNC);
-	rc = (jint)glRenderMode(arg0);
-	GL_NATIVE_EXIT(env, that, glRenderMode_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_glRotated
-JNIEXPORT void JNICALL GL_NATIVE(glRotated)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1, jdouble arg2, jdouble arg3)
-{
-	GL_NATIVE_ENTER(env, that, glRotated_FUNC);
-	glRotated(arg0, arg1, arg2, arg3);
-	GL_NATIVE_EXIT(env, that, glRotated_FUNC);
-}
-#endif
-
-#ifndef NO_glRotatef
-JNIEXPORT void JNICALL GL_NATIVE(glRotatef)
-	(JNIEnv *env, jclass that, jfloat arg0, jfloat arg1, jfloat arg2, jfloat arg3)
-{
-	GL_NATIVE_ENTER(env, that, glRotatef_FUNC);
-	glRotatef(arg0, arg1, arg2, arg3);
-	GL_NATIVE_EXIT(env, that, glRotatef_FUNC);
-}
-#endif
-
-#ifndef NO_glScaled
-JNIEXPORT void JNICALL GL_NATIVE(glScaled)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1, jdouble arg2)
-{
-	GL_NATIVE_ENTER(env, that, glScaled_FUNC);
-	glScaled(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glScaled_FUNC);
-}
-#endif
-
-#ifndef NO_glScalef
-JNIEXPORT void JNICALL GL_NATIVE(glScalef)
-	(JNIEnv *env, jclass that, jfloat arg0, jfloat arg1, jfloat arg2)
-{
-	GL_NATIVE_ENTER(env, that, glScalef_FUNC);
-	glScalef(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glScalef_FUNC);
-}
-#endif
-
-#ifndef NO_glScissor
-JNIEXPORT void JNICALL GL_NATIVE(glScissor)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	GL_NATIVE_ENTER(env, that, glScissor_FUNC);
-	glScissor(arg0, arg1, arg2, arg3);
-	GL_NATIVE_EXIT(env, that, glScissor_FUNC);
-}
-#endif
-
-#ifndef NO_glSelectBuffer
-JNIEXPORT void JNICALL GL_NATIVE(glSelectBuffer)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	GL_NATIVE_ENTER(env, that, glSelectBuffer_FUNC);
-	glSelectBuffer(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glSelectBuffer_FUNC);
-}
-#endif
-
-#ifndef NO_glShadeModel
-JNIEXPORT void JNICALL GL_NATIVE(glShadeModel)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GL_NATIVE_ENTER(env, that, glShadeModel_FUNC);
-	glShadeModel(arg0);
-	GL_NATIVE_EXIT(env, that, glShadeModel_FUNC);
-}
-#endif
-
-#ifndef NO_glStencilFunc
-JNIEXPORT void JNICALL GL_NATIVE(glStencilFunc)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	GL_NATIVE_ENTER(env, that, glStencilFunc_FUNC);
-	glStencilFunc(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glStencilFunc_FUNC);
-}
-#endif
-
-#ifndef NO_glStencilMask
-JNIEXPORT void JNICALL GL_NATIVE(glStencilMask)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GL_NATIVE_ENTER(env, that, glStencilMask_FUNC);
-	glStencilMask(arg0);
-	GL_NATIVE_EXIT(env, that, glStencilMask_FUNC);
-}
-#endif
-
-#ifndef NO_glStencilOp
-JNIEXPORT void JNICALL GL_NATIVE(glStencilOp)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	GL_NATIVE_ENTER(env, that, glStencilOp_FUNC);
-	glStencilOp(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glStencilOp_FUNC);
-}
-#endif
-
-#ifndef NO_glTexCoord1d
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord1d)
-	(JNIEnv *env, jclass that, jdouble arg0)
-{
-	GL_NATIVE_ENTER(env, that, glTexCoord1d_FUNC);
-	glTexCoord1d(arg0);
-	GL_NATIVE_EXIT(env, that, glTexCoord1d_FUNC);
-}
-#endif
-
-#ifndef NO_glTexCoord1dv
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord1dv)
-	(JNIEnv *env, jclass that, jdoubleArray arg0)
-{
-	jdouble *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glTexCoord1dv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL);
-	}
-	glTexCoord1dv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glTexCoord1dv_FUNC);
-}
-#endif
-
-#ifndef NO_glTexCoord1f
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord1f)
-	(JNIEnv *env, jclass that, jfloat arg0)
-{
-	GL_NATIVE_ENTER(env, that, glTexCoord1f_FUNC);
-	glTexCoord1f(arg0);
-	GL_NATIVE_EXIT(env, that, glTexCoord1f_FUNC);
-}
-#endif
-
-#ifndef NO_glTexCoord1fv
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord1fv)
-	(JNIEnv *env, jclass that, jfloatArray arg0)
-{
-	jfloat *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glTexCoord1fv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL);
-	}
-	glTexCoord1fv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glTexCoord1fv_FUNC);
-}
-#endif
-
-#ifndef NO_glTexCoord1i
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord1i)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GL_NATIVE_ENTER(env, that, glTexCoord1i_FUNC);
-	glTexCoord1i(arg0);
-	GL_NATIVE_EXIT(env, that, glTexCoord1i_FUNC);
-}
-#endif
-
-#ifndef NO_glTexCoord1iv
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord1iv)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glTexCoord1iv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL);
-	}
-	glTexCoord1iv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glTexCoord1iv_FUNC);
-}
-#endif
-
-#ifndef NO_glTexCoord1s
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord1s)
-	(JNIEnv *env, jclass that, jshort arg0)
-{
-	GL_NATIVE_ENTER(env, that, glTexCoord1s_FUNC);
-	glTexCoord1s(arg0);
-	GL_NATIVE_EXIT(env, that, glTexCoord1s_FUNC);
-}
-#endif
-
-#ifndef NO_glTexCoord1sv
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord1sv)
-	(JNIEnv *env, jclass that, jshortArray arg0)
-{
-	jshort *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glTexCoord1sv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetShortArrayElements(env, arg0, NULL);
-	}
-	glTexCoord1sv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseShortArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glTexCoord1sv_FUNC);
-}
-#endif
-
-#ifndef NO_glTexCoord2d
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord2d)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1)
-{
-	GL_NATIVE_ENTER(env, that, glTexCoord2d_FUNC);
-	glTexCoord2d(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glTexCoord2d_FUNC);
-}
-#endif
-
-#ifndef NO_glTexCoord2dv
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord2dv)
-	(JNIEnv *env, jclass that, jdoubleArray arg0)
-{
-	jdouble *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glTexCoord2dv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL);
-	}
-	glTexCoord2dv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glTexCoord2dv_FUNC);
-}
-#endif
-
-#ifndef NO_glTexCoord2f
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord2f)
-	(JNIEnv *env, jclass that, jfloat arg0, jfloat arg1)
-{
-	GL_NATIVE_ENTER(env, that, glTexCoord2f_FUNC);
-	glTexCoord2f(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glTexCoord2f_FUNC);
-}
-#endif
-
-#ifndef NO_glTexCoord2fv
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord2fv)
-	(JNIEnv *env, jclass that, jfloatArray arg0)
-{
-	jfloat *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glTexCoord2fv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL);
-	}
-	glTexCoord2fv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glTexCoord2fv_FUNC);
-}
-#endif
-
-#ifndef NO_glTexCoord2i
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord2i)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	GL_NATIVE_ENTER(env, that, glTexCoord2i_FUNC);
-	glTexCoord2i(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glTexCoord2i_FUNC);
-}
-#endif
-
-#ifndef NO_glTexCoord2iv
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord2iv)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glTexCoord2iv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL);
-	}
-	glTexCoord2iv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glTexCoord2iv_FUNC);
-}
-#endif
-
-#ifndef NO_glTexCoord2s
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord2s)
-	(JNIEnv *env, jclass that, jshort arg0, jshort arg1)
-{
-	GL_NATIVE_ENTER(env, that, glTexCoord2s_FUNC);
-	glTexCoord2s(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glTexCoord2s_FUNC);
-}
-#endif
-
-#ifndef NO_glTexCoord2sv
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord2sv)
-	(JNIEnv *env, jclass that, jshortArray arg0)
-{
-	jshort *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glTexCoord2sv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetShortArrayElements(env, arg0, NULL);
-	}
-	glTexCoord2sv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseShortArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glTexCoord2sv_FUNC);
-}
-#endif
-
-#ifndef NO_glTexCoord3d
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord3d)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1, jdouble arg2)
-{
-	GL_NATIVE_ENTER(env, that, glTexCoord3d_FUNC);
-	glTexCoord3d(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glTexCoord3d_FUNC);
-}
-#endif
-
-#ifndef NO_glTexCoord3dv
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord3dv)
-	(JNIEnv *env, jclass that, jdoubleArray arg0)
-{
-	jdouble *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glTexCoord3dv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL);
-	}
-	glTexCoord3dv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glTexCoord3dv_FUNC);
-}
-#endif
-
-#ifndef NO_glTexCoord3f
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord3f)
-	(JNIEnv *env, jclass that, jfloat arg0, jfloat arg1, jfloat arg2)
-{
-	GL_NATIVE_ENTER(env, that, glTexCoord3f_FUNC);
-	glTexCoord3f(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glTexCoord3f_FUNC);
-}
-#endif
-
-#ifndef NO_glTexCoord3fv
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord3fv)
-	(JNIEnv *env, jclass that, jfloatArray arg0)
-{
-	jfloat *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glTexCoord3fv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL);
-	}
-	glTexCoord3fv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glTexCoord3fv_FUNC);
-}
-#endif
-
-#ifndef NO_glTexCoord3i
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord3i)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	GL_NATIVE_ENTER(env, that, glTexCoord3i_FUNC);
-	glTexCoord3i(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glTexCoord3i_FUNC);
-}
-#endif
-
-#ifndef NO_glTexCoord3iv
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord3iv)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glTexCoord3iv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL);
-	}
-	glTexCoord3iv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glTexCoord3iv_FUNC);
-}
-#endif
-
-#ifndef NO_glTexCoord3s
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord3s)
-	(JNIEnv *env, jclass that, jshort arg0, jshort arg1, jshort arg2)
-{
-	GL_NATIVE_ENTER(env, that, glTexCoord3s_FUNC);
-	glTexCoord3s(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glTexCoord3s_FUNC);
-}
-#endif
-
-#ifndef NO_glTexCoord3sv
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord3sv)
-	(JNIEnv *env, jclass that, jshortArray arg0)
-{
-	jshort *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glTexCoord3sv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetShortArrayElements(env, arg0, NULL);
-	}
-	glTexCoord3sv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseShortArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glTexCoord3sv_FUNC);
-}
-#endif
-
-#ifndef NO_glTexCoord4d
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord4d)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1, jdouble arg2, jdouble arg3)
-{
-	GL_NATIVE_ENTER(env, that, glTexCoord4d_FUNC);
-	glTexCoord4d(arg0, arg1, arg2, arg3);
-	GL_NATIVE_EXIT(env, that, glTexCoord4d_FUNC);
-}
-#endif
-
-#ifndef NO_glTexCoord4dv
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord4dv)
-	(JNIEnv *env, jclass that, jdoubleArray arg0)
-{
-	jdouble *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glTexCoord4dv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL);
-	}
-	glTexCoord4dv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glTexCoord4dv_FUNC);
-}
-#endif
-
-#ifndef NO_glTexCoord4f
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord4f)
-	(JNIEnv *env, jclass that, jfloat arg0, jfloat arg1, jfloat arg2, jfloat arg3)
-{
-	GL_NATIVE_ENTER(env, that, glTexCoord4f_FUNC);
-	glTexCoord4f(arg0, arg1, arg2, arg3);
-	GL_NATIVE_EXIT(env, that, glTexCoord4f_FUNC);
-}
-#endif
-
-#ifndef NO_glTexCoord4fv
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord4fv)
-	(JNIEnv *env, jclass that, jfloatArray arg0)
-{
-	jfloat *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glTexCoord4fv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL);
-	}
-	glTexCoord4fv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glTexCoord4fv_FUNC);
-}
-#endif
-
-#ifndef NO_glTexCoord4i
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord4i)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	GL_NATIVE_ENTER(env, that, glTexCoord4i_FUNC);
-	glTexCoord4i(arg0, arg1, arg2, arg3);
-	GL_NATIVE_EXIT(env, that, glTexCoord4i_FUNC);
-}
-#endif
-
-#ifndef NO_glTexCoord4iv
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord4iv)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glTexCoord4iv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL);
-	}
-	glTexCoord4iv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glTexCoord4iv_FUNC);
-}
-#endif
-
-#ifndef NO_glTexCoord4s
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord4s)
-	(JNIEnv *env, jclass that, jshort arg0, jshort arg1, jshort arg2, jshort arg3)
-{
-	GL_NATIVE_ENTER(env, that, glTexCoord4s_FUNC);
-	glTexCoord4s(arg0, arg1, arg2, arg3);
-	GL_NATIVE_EXIT(env, that, glTexCoord4s_FUNC);
-}
-#endif
-
-#ifndef NO_glTexCoord4sv
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoord4sv)
-	(JNIEnv *env, jclass that, jshortArray arg0)
-{
-	jshort *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glTexCoord4sv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetShortArrayElements(env, arg0, NULL);
-	}
-	glTexCoord4sv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseShortArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glTexCoord4sv_FUNC);
-}
-#endif
-
-#ifndef NO_glTexCoordPointer
-JNIEXPORT void JNICALL GL_NATIVE(glTexCoordPointer)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jintArray arg3)
-{
-	jint *lparg3=NULL;
-	GL_NATIVE_ENTER(env, that, glTexCoordPointer_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg3) lparg3 = (*env)->GetPrimitiveArrayCritical(env, arg3, NULL);
-	} else
-#endif
-	{
-		if (arg3) lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL);
-	}
-	glTexCoordPointer(arg0, arg1, arg2, lparg3);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg3) (*env)->ReleasePrimitiveArrayCritical(env, arg3, lparg3, 0);
-	} else
-#endif
-	{
-		if (arg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glTexCoordPointer_FUNC);
-}
-#endif
-
-#ifndef NO_glTexEnvf
-JNIEXPORT void JNICALL GL_NATIVE(glTexEnvf)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloat arg2)
-{
-	GL_NATIVE_ENTER(env, that, glTexEnvf_FUNC);
-	glTexEnvf(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glTexEnvf_FUNC);
-}
-#endif
-
-#ifndef NO_glTexEnvfv
-JNIEXPORT void JNICALL GL_NATIVE(glTexEnvfv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloatArray arg2)
-{
-	jfloat *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glTexEnvfv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetFloatArrayElements(env, arg2, NULL);
-	}
-	glTexEnvfv(arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseFloatArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glTexEnvfv_FUNC);
-}
-#endif
-
-#ifndef NO_glTexEnvi
-JNIEXPORT void JNICALL GL_NATIVE(glTexEnvi)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	GL_NATIVE_ENTER(env, that, glTexEnvi_FUNC);
-	glTexEnvi(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glTexEnvi_FUNC);
-}
-#endif
-
-#ifndef NO_glTexEnviv
-JNIEXPORT void JNICALL GL_NATIVE(glTexEnviv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glTexEnviv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
-	}
-	glTexEnviv(arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glTexEnviv_FUNC);
-}
-#endif
-
-#ifndef NO_glTexGend
-JNIEXPORT void JNICALL GL_NATIVE(glTexGend)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jdouble arg2)
-{
-	GL_NATIVE_ENTER(env, that, glTexGend_FUNC);
-	glTexGend(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glTexGend_FUNC);
-}
-#endif
-
-#ifndef NO_glTexGendv
-JNIEXPORT void JNICALL GL_NATIVE(glTexGendv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jdoubleArray arg2)
-{
-	jdouble *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glTexGendv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetDoubleArrayElements(env, arg2, NULL);
-	}
-	glTexGendv(arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseDoubleArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glTexGendv_FUNC);
-}
-#endif
-
-#ifndef NO_glTexGenf
-JNIEXPORT void JNICALL GL_NATIVE(glTexGenf)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloat arg2)
-{
-	GL_NATIVE_ENTER(env, that, glTexGenf_FUNC);
-	glTexGenf(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glTexGenf_FUNC);
-}
-#endif
-
-#ifndef NO_glTexGenfv
-JNIEXPORT void JNICALL GL_NATIVE(glTexGenfv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloatArray arg2)
-{
-	jfloat *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glTexGenfv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetFloatArrayElements(env, arg2, NULL);
-	}
-	glTexGenfv(arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseFloatArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glTexGenfv_FUNC);
-}
-#endif
-
-#ifndef NO_glTexGeni
-JNIEXPORT void JNICALL GL_NATIVE(glTexGeni)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	GL_NATIVE_ENTER(env, that, glTexGeni_FUNC);
-	glTexGeni(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glTexGeni_FUNC);
-}
-#endif
-
-#ifndef NO_glTexGeniv
-JNIEXPORT void JNICALL GL_NATIVE(glTexGeniv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glTexGeniv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
-	}
-	glTexGeniv(arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glTexGeniv_FUNC);
-}
-#endif
-
-#ifndef NO_glTexImage1D
-JNIEXPORT void JNICALL GL_NATIVE(glTexImage1D)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6, jintArray arg7)
-{
-	jint *lparg7=NULL;
-	GL_NATIVE_ENTER(env, that, glTexImage1D_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg7) lparg7 = (*env)->GetPrimitiveArrayCritical(env, arg7, NULL);
-	} else
-#endif
-	{
-		if (arg7) lparg7 = (*env)->GetIntArrayElements(env, arg7, NULL);
-	}
-	glTexImage1D(arg0, arg1, arg2, arg3, arg4, arg5, arg6, lparg7);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg7) (*env)->ReleasePrimitiveArrayCritical(env, arg7, lparg7, 0);
-	} else
-#endif
-	{
-		if (arg7) (*env)->ReleaseIntArrayElements(env, arg7, lparg7, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glTexImage1D_FUNC);
-}
-#endif
-
-#ifndef NO_glTexImage2D
-JNIEXPORT void JNICALL GL_NATIVE(glTexImage2D)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6, jint arg7, jbyteArray arg8)
-{
-	jbyte *lparg8=NULL;
-	GL_NATIVE_ENTER(env, that, glTexImage2D_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg8) lparg8 = (*env)->GetPrimitiveArrayCritical(env, arg8, NULL);
-	} else
-#endif
-	{
-		if (arg8) lparg8 = (*env)->GetByteArrayElements(env, arg8, NULL);
-	}
-	glTexImage2D(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, lparg8);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg8) (*env)->ReleasePrimitiveArrayCritical(env, arg8, lparg8, 0);
-	} else
-#endif
-	{
-		if (arg8) (*env)->ReleaseByteArrayElements(env, arg8, lparg8, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glTexImage2D_FUNC);
-}
-#endif
-
-#ifndef NO_glTexParameterf
-JNIEXPORT void JNICALL GL_NATIVE(glTexParameterf)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloat arg2)
-{
-	GL_NATIVE_ENTER(env, that, glTexParameterf_FUNC);
-	glTexParameterf(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glTexParameterf_FUNC);
-}
-#endif
-
-#ifndef NO_glTexParameterfv
-JNIEXPORT void JNICALL GL_NATIVE(glTexParameterfv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloatArray arg2)
-{
-	jfloat *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glTexParameterfv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetFloatArrayElements(env, arg2, NULL);
-	}
-	glTexParameterfv(arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseFloatArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glTexParameterfv_FUNC);
-}
-#endif
-
-#ifndef NO_glTexParameteri
-JNIEXPORT void JNICALL GL_NATIVE(glTexParameteri)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	GL_NATIVE_ENTER(env, that, glTexParameteri_FUNC);
-	glTexParameteri(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glTexParameteri_FUNC);
-}
-#endif
-
-#ifndef NO_glTexParameteriv
-JNIEXPORT void JNICALL GL_NATIVE(glTexParameteriv)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	GL_NATIVE_ENTER(env, that, glTexParameteriv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
-	}
-	glTexParameteriv(arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glTexParameteriv_FUNC);
-}
-#endif
-
-#ifndef NO_glTexSubImage1D
-JNIEXPORT void JNICALL GL_NATIVE(glTexSubImage1D)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jintArray arg6)
-{
-	jint *lparg6=NULL;
-	GL_NATIVE_ENTER(env, that, glTexSubImage1D_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg6) lparg6 = (*env)->GetPrimitiveArrayCritical(env, arg6, NULL);
-	} else
-#endif
-	{
-		if (arg6) lparg6 = (*env)->GetIntArrayElements(env, arg6, NULL);
-	}
-	glTexSubImage1D(arg0, arg1, arg2, arg3, arg4, arg5, lparg6);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg6) (*env)->ReleasePrimitiveArrayCritical(env, arg6, lparg6, 0);
-	} else
-#endif
-	{
-		if (arg6) (*env)->ReleaseIntArrayElements(env, arg6, lparg6, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glTexSubImage1D_FUNC);
-}
-#endif
-
-#ifndef NO_glTexSubImage2D
-JNIEXPORT void JNICALL GL_NATIVE(glTexSubImage2D)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6, jint arg7, jintArray arg8)
-{
-	jint *lparg8=NULL;
-	GL_NATIVE_ENTER(env, that, glTexSubImage2D_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg8) lparg8 = (*env)->GetPrimitiveArrayCritical(env, arg8, NULL);
-	} else
-#endif
-	{
-		if (arg8) lparg8 = (*env)->GetIntArrayElements(env, arg8, NULL);
-	}
-	glTexSubImage2D(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, lparg8);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg8) (*env)->ReleasePrimitiveArrayCritical(env, arg8, lparg8, 0);
-	} else
-#endif
-	{
-		if (arg8) (*env)->ReleaseIntArrayElements(env, arg8, lparg8, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glTexSubImage2D_FUNC);
-}
-#endif
-
-#ifndef NO_glTranslated
-JNIEXPORT void JNICALL GL_NATIVE(glTranslated)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1, jdouble arg2)
-{
-	GL_NATIVE_ENTER(env, that, glTranslated_FUNC);
-	glTranslated(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glTranslated_FUNC);
-}
-#endif
-
-#ifndef NO_glTranslatef
-JNIEXPORT void JNICALL GL_NATIVE(glTranslatef)
-	(JNIEnv *env, jclass that, jfloat arg0, jfloat arg1, jfloat arg2)
-{
-	GL_NATIVE_ENTER(env, that, glTranslatef_FUNC);
-	glTranslatef(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glTranslatef_FUNC);
-}
-#endif
-
-#ifndef NO_glVertex2d
-JNIEXPORT void JNICALL GL_NATIVE(glVertex2d)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1)
-{
-	GL_NATIVE_ENTER(env, that, glVertex2d_FUNC);
-	glVertex2d(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glVertex2d_FUNC);
-}
-#endif
-
-#ifndef NO_glVertex2dv
-JNIEXPORT void JNICALL GL_NATIVE(glVertex2dv)
-	(JNIEnv *env, jclass that, jdoubleArray arg0)
-{
-	jdouble *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glVertex2dv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL);
-	}
-	glVertex2dv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glVertex2dv_FUNC);
-}
-#endif
-
-#ifndef NO_glVertex2f
-JNIEXPORT void JNICALL GL_NATIVE(glVertex2f)
-	(JNIEnv *env, jclass that, jfloat arg0, jfloat arg1)
-{
-	GL_NATIVE_ENTER(env, that, glVertex2f_FUNC);
-	glVertex2f(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glVertex2f_FUNC);
-}
-#endif
-
-#ifndef NO_glVertex2fv
-JNIEXPORT void JNICALL GL_NATIVE(glVertex2fv)
-	(JNIEnv *env, jclass that, jfloatArray arg0)
-{
-	jfloat *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glVertex2fv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL);
-	}
-	glVertex2fv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glVertex2fv_FUNC);
-}
-#endif
-
-#ifndef NO_glVertex2i
-JNIEXPORT void JNICALL GL_NATIVE(glVertex2i)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	GL_NATIVE_ENTER(env, that, glVertex2i_FUNC);
-	glVertex2i(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glVertex2i_FUNC);
-}
-#endif
-
-#ifndef NO_glVertex2iv
-JNIEXPORT void JNICALL GL_NATIVE(glVertex2iv)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glVertex2iv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL);
-	}
-	glVertex2iv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glVertex2iv_FUNC);
-}
-#endif
-
-#ifndef NO_glVertex2s
-JNIEXPORT void JNICALL GL_NATIVE(glVertex2s)
-	(JNIEnv *env, jclass that, jshort arg0, jshort arg1)
-{
-	GL_NATIVE_ENTER(env, that, glVertex2s_FUNC);
-	glVertex2s(arg0, arg1);
-	GL_NATIVE_EXIT(env, that, glVertex2s_FUNC);
-}
-#endif
-
-#ifndef NO_glVertex2sv
-JNIEXPORT void JNICALL GL_NATIVE(glVertex2sv)
-	(JNIEnv *env, jclass that, jshortArray arg0)
-{
-	jshort *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glVertex2sv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetShortArrayElements(env, arg0, NULL);
-	}
-	glVertex2sv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseShortArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glVertex2sv_FUNC);
-}
-#endif
-
-#ifndef NO_glVertex3d
-JNIEXPORT void JNICALL GL_NATIVE(glVertex3d)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1, jdouble arg2)
-{
-	GL_NATIVE_ENTER(env, that, glVertex3d_FUNC);
-	glVertex3d(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glVertex3d_FUNC);
-}
-#endif
-
-#ifndef NO_glVertex3dv
-JNIEXPORT void JNICALL GL_NATIVE(glVertex3dv)
-	(JNIEnv *env, jclass that, jdoubleArray arg0)
-{
-	jdouble *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glVertex3dv_FUNC);
-	if (arg0) lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL);
-	glVertex3dv(lparg0);
-	if (arg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	GL_NATIVE_EXIT(env, that, glVertex3dv_FUNC);
-}
-#endif
-
-#ifndef NO_glVertex3f
-JNIEXPORT void JNICALL GL_NATIVE(glVertex3f)
-	(JNIEnv *env, jclass that, jfloat arg0, jfloat arg1, jfloat arg2)
-{
-	GL_NATIVE_ENTER(env, that, glVertex3f_FUNC);
-	glVertex3f(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glVertex3f_FUNC);
-}
-#endif
-
-#ifndef NO_glVertex3fv
-JNIEXPORT void JNICALL GL_NATIVE(glVertex3fv)
-	(JNIEnv *env, jclass that, jfloatArray arg0)
-{
-	jfloat *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glVertex3fv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL);
-	}
-	glVertex3fv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glVertex3fv_FUNC);
-}
-#endif
-
-#ifndef NO_glVertex3i
-JNIEXPORT void JNICALL GL_NATIVE(glVertex3i)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	GL_NATIVE_ENTER(env, that, glVertex3i_FUNC);
-	glVertex3i(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glVertex3i_FUNC);
-}
-#endif
-
-#ifndef NO_glVertex3iv
-JNIEXPORT void JNICALL GL_NATIVE(glVertex3iv)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glVertex3iv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL);
-	}
-	glVertex3iv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glVertex3iv_FUNC);
-}
-#endif
-
-#ifndef NO_glVertex3s
-JNIEXPORT void JNICALL GL_NATIVE(glVertex3s)
-	(JNIEnv *env, jclass that, jshort arg0, jshort arg1, jshort arg2)
-{
-	GL_NATIVE_ENTER(env, that, glVertex3s_FUNC);
-	glVertex3s(arg0, arg1, arg2);
-	GL_NATIVE_EXIT(env, that, glVertex3s_FUNC);
-}
-#endif
-
-#ifndef NO_glVertex3sv
-JNIEXPORT void JNICALL GL_NATIVE(glVertex3sv)
-	(JNIEnv *env, jclass that, jshortArray arg0)
-{
-	jshort *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glVertex3sv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetShortArrayElements(env, arg0, NULL);
-	}
-	glVertex3sv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseShortArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glVertex3sv_FUNC);
-}
-#endif
-
-#ifndef NO_glVertex4d
-JNIEXPORT void JNICALL GL_NATIVE(glVertex4d)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1, jdouble arg2, jdouble arg3)
-{
-	GL_NATIVE_ENTER(env, that, glVertex4d_FUNC);
-	glVertex4d(arg0, arg1, arg2, arg3);
-	GL_NATIVE_EXIT(env, that, glVertex4d_FUNC);
-}
-#endif
-
-#ifndef NO_glVertex4dv
-JNIEXPORT void JNICALL GL_NATIVE(glVertex4dv)
-	(JNIEnv *env, jclass that, jdoubleArray arg0)
-{
-	jdouble *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glVertex4dv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL);
-	}
-	glVertex4dv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glVertex4dv_FUNC);
-}
-#endif
-
-#ifndef NO_glVertex4f
-JNIEXPORT void JNICALL GL_NATIVE(glVertex4f)
-	(JNIEnv *env, jclass that, jfloat arg0, jfloat arg1, jfloat arg2, jfloat arg3)
-{
-	GL_NATIVE_ENTER(env, that, glVertex4f_FUNC);
-	glVertex4f(arg0, arg1, arg2, arg3);
-	GL_NATIVE_EXIT(env, that, glVertex4f_FUNC);
-}
-#endif
-
-#ifndef NO_glVertex4fv
-JNIEXPORT void JNICALL GL_NATIVE(glVertex4fv)
-	(JNIEnv *env, jclass that, jfloatArray arg0)
-{
-	jfloat *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glVertex4fv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL);
-	}
-	glVertex4fv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glVertex4fv_FUNC);
-}
-#endif
-
-#ifndef NO_glVertex4i
-JNIEXPORT void JNICALL GL_NATIVE(glVertex4i)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	GL_NATIVE_ENTER(env, that, glVertex4i_FUNC);
-	glVertex4i(arg0, arg1, arg2, arg3);
-	GL_NATIVE_EXIT(env, that, glVertex4i_FUNC);
-}
-#endif
-
-#ifndef NO_glVertex4iv
-JNIEXPORT void JNICALL GL_NATIVE(glVertex4iv)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glVertex4iv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL);
-	}
-	glVertex4iv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glVertex4iv_FUNC);
-}
-#endif
-
-#ifndef NO_glVertex4s
-JNIEXPORT void JNICALL GL_NATIVE(glVertex4s)
-	(JNIEnv *env, jclass that, jshort arg0, jshort arg1, jshort arg2, jshort arg3)
-{
-	GL_NATIVE_ENTER(env, that, glVertex4s_FUNC);
-	glVertex4s(arg0, arg1, arg2, arg3);
-	GL_NATIVE_EXIT(env, that, glVertex4s_FUNC);
-}
-#endif
-
-#ifndef NO_glVertex4sv
-JNIEXPORT void JNICALL GL_NATIVE(glVertex4sv)
-	(JNIEnv *env, jclass that, jshortArray arg0)
-{
-	jshort *lparg0=NULL;
-	GL_NATIVE_ENTER(env, that, glVertex4sv_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL);
-	} else
-#endif
-	{
-		if (arg0) lparg0 = (*env)->GetShortArrayElements(env, arg0, NULL);
-	}
-	glVertex4sv(lparg0);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0) (*env)->ReleaseShortArrayElements(env, arg0, lparg0, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glVertex4sv_FUNC);
-}
-#endif
-
-#ifndef NO_glVertexPointer
-JNIEXPORT void JNICALL GL_NATIVE(glVertexPointer)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jintArray arg3)
-{
-	jint *lparg3=NULL;
-	GL_NATIVE_ENTER(env, that, glVertexPointer_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg3) lparg3 = (*env)->GetPrimitiveArrayCritical(env, arg3, NULL);
-	} else
-#endif
-	{
-		if (arg3) lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL);
-	}
-	glVertexPointer(arg0, arg1, arg2, lparg3);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg3) (*env)->ReleasePrimitiveArrayCritical(env, arg3, lparg3, 0);
-	} else
-#endif
-	{
-		if (arg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	}
-	GL_NATIVE_EXIT(env, that, glVertexPointer_FUNC);
-}
-#endif
-
-#ifndef NO_glViewport
-JNIEXPORT void JNICALL GL_NATIVE(glViewport)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	GL_NATIVE_ENTER(env, that, glViewport_FUNC);
-	glViewport(arg0, arg1, arg2, arg3);
-	GL_NATIVE_EXIT(env, that, glViewport_FUNC);
-}
-#endif
-
diff --git a/bundles/org.eclipse.swt.opengl/common/library/gl.h b/bundles/org.eclipse.swt.opengl/common/library/gl.h
deleted file mode 100644
index c8f0a12..0000000
--- a/bundles/org.eclipse.swt.opengl/common/library/gl.h
+++ /dev/null
@@ -1,10 +0,0 @@
-#ifdef __APPLE__
-#include <OpenGL/gl.h>
-#else
-#ifdef WIN32
-#include <windows.h>
-#endif
-#include <GL/gl.h>
-#endif
-
-extern int IS_JNI_1_2;
diff --git a/bundles/org.eclipse.swt.opengl/common/library/gl_stats.c b/bundles/org.eclipse.swt.opengl/common/library/gl_stats.c
deleted file mode 100644
index 257efe0..0000000
--- a/bundles/org.eclipse.swt.opengl/common/library/gl_stats.c
+++ /dev/null
@@ -1,366 +0,0 @@
-#include "swt.h"
-#include "gl_stats.h"
-
-#ifdef NATIVE_STATS
-
-int GL_nativeFunctionCount = 335;
-int GL_nativeFunctionCallCount[335];
-char * GL_nativeFunctionNames[] = {
-	"glAccum", 
-	"glAlphaFunc", 
-	"glAreTexturesResident", 
-	"glArrayElement", 
-	"glBegin", 
-	"glBindTexture", 
-	"glBitmap", 
-	"glBlendFunc", 
-	"glCallList", 
-	"glCallLists__II_3B", 
-	"glCallLists__II_3C", 
-	"glCallLists__II_3I", 
-	"glClear", 
-	"glClearAccum", 
-	"glClearColor", 
-	"glClearDepth", 
-	"glClearIndex", 
-	"glClearStencil", 
-	"glClipPlane", 
-	"glColor3b", 
-	"glColor3bv", 
-	"glColor3d", 
-	"glColor3dv", 
-	"glColor3f", 
-	"glColor3fv", 
-	"glColor3i", 
-	"glColor3iv", 
-	"glColor3s", 
-	"glColor3sv", 
-	"glColor3ub", 
-	"glColor3ubv", 
-	"glColor3ui", 
-	"glColor3uiv", 
-	"glColor3us", 
-	"glColor3usv", 
-	"glColor4b", 
-	"glColor4bv", 
-	"glColor4d", 
-	"glColor4dv", 
-	"glColor4f", 
-	"glColor4fv", 
-	"glColor4i", 
-	"glColor4iv", 
-	"glColor4s", 
-	"glColor4ub", 
-	"glColor4ubv", 
-	"glColor4ui", 
-	"glColor4uiv", 
-	"glColor4us", 
-	"glColor4usv", 
-	"glColorMask", 
-	"glColorMaterial", 
-	"glColorPointer", 
-	"glCopyPixels", 
-	"glCopyTexImage1D", 
-	"glCopyTexImage2D", 
-	"glCopyTexSubImage1D", 
-	"glCopyTexSubImage2D", 
-	"glCullFace", 
-	"glDeleteLists", 
-	"glDeleteTextures", 
-	"glDepthFunc", 
-	"glDepthMask", 
-	"glDepthRange", 
-	"glDisable", 
-	"glDisableClientState", 
-	"glDrawArrays", 
-	"glDrawBuffer", 
-	"glDrawElements", 
-	"glDrawPixels", 
-	"glEdgeFlag", 
-	"glEdgeFlagPointer", 
-	"glEdgeFlagv", 
-	"glEnable", 
-	"glEnableClientState", 
-	"glEnd", 
-	"glEndList", 
-	"glEvalCoord1d", 
-	"glEvalCoord1dv", 
-	"glEvalCoord1f", 
-	"glEvalCoord1fv", 
-	"glEvalCoord2d", 
-	"glEvalCoord2dv", 
-	"glEvalCoord2f", 
-	"glEvalCoord2fv", 
-	"glEvalMesh1", 
-	"glEvalMesh2", 
-	"glEvalPoint1", 
-	"glEvalPoint2", 
-	"glFeedbackBuffer", 
-	"glFinish", 
-	"glFlush", 
-	"glFogf", 
-	"glFogfv", 
-	"glFogi", 
-	"glFogiv", 
-	"glFrontFace", 
-	"glFrustum", 
-	"glGenLists", 
-	"glGenTextures", 
-	"glGetBooleanv", 
-	"glGetClipPlane", 
-	"glGetDoublev", 
-	"glGetError", 
-	"glGetFloatv", 
-	"glGetIntegerv", 
-	"glGetLightfv", 
-	"glGetLightiv", 
-	"glGetMapdv", 
-	"glGetMapfv", 
-	"glGetMapiv", 
-	"glGetMaterialfv", 
-	"glGetMaterialiv", 
-	"glGetPixelMapfv", 
-	"glGetPixelMapuiv", 
-	"glGetPixelMapusv", 
-	"glGetPointerv", 
-	"glGetPolygonStipple", 
-	"glGetString", 
-	"glGetTexEnvfv", 
-	"glGetTexEnviv", 
-	"glGetTexGendv", 
-	"glGetTexGenfv", 
-	"glGetTexGeniv", 
-	"glGetTexImage", 
-	"glGetTexLevelParameterfv", 
-	"glGetTexLevelParameteriv", 
-	"glGetTexParameterfv", 
-	"glGetTexParameteriv", 
-	"glHint", 
-	"glIndexMask", 
-	"glIndexPointer", 
-	"glIndexd", 
-	"glIndexdv", 
-	"glIndexf", 
-	"glIndexfv", 
-	"glIndexi", 
-	"glIndexiv", 
-	"glIndexs", 
-	"glIndexsv", 
-	"glInitNames", 
-	"glInterleavedArrays", 
-	"glIsEnabled", 
-	"glIsList", 
-	"glIsTexture", 
-	"glLightModelf", 
-	"glLightModelfv", 
-	"glLightModeli", 
-	"glLightModeliv", 
-	"glLightf", 
-	"glLightfv", 
-	"glLighti", 
-	"glLightiv", 
-	"glLineStipple", 
-	"glLineWidth", 
-	"glListBase", 
-	"glLoadIdentity", 
-	"glLoadMatrixd", 
-	"glLoadMatrixf", 
-	"glLoadName", 
-	"glLogicOp", 
-	"glMap1d", 
-	"glMap1f", 
-	"glMap2d", 
-	"glMap2f", 
-	"glMapGrid1d", 
-	"glMapGrid1f", 
-	"glMapGrid2d", 
-	"glMapGrid2f", 
-	"glMaterialf", 
-	"glMaterialfv", 
-	"glMateriali", 
-	"glMaterialiv", 
-	"glMatrixMode", 
-	"glMultMatrixd", 
-	"glMultMatrixf", 
-	"glNewList", 
-	"glNormal3b", 
-	"glNormal3bv", 
-	"glNormal3d", 
-	"glNormal3dv", 
-	"glNormal3f", 
-	"glNormal3fv", 
-	"glNormal3i", 
-	"glNormal3iv", 
-	"glNormal3s", 
-	"glNormal3sv", 
-	"glNormalPointer", 
-	"glOrtho", 
-	"glPassThrough", 
-	"glPixelMapfv", 
-	"glPixelMapuiv", 
-	"glPixelMapusv", 
-	"glPixelStoref", 
-	"glPixelStorei", 
-	"glPixelTransferf", 
-	"glPixelTransferi", 
-	"glPixelZoom", 
-	"glPointSize", 
-	"glPolygonMode", 
-	"glPolygonOffset", 
-	"glPolygonStipple", 
-	"glPopAttrib", 
-	"glPopClientAttrib", 
-	"glPopMatrix", 
-	"glPopName", 
-	"glPrioritizeTextures", 
-	"glPushAttrib", 
-	"glPushClientAttrib", 
-	"glPushMatrix", 
-	"glPushName", 
-	"glRasterPos2d", 
-	"glRasterPos2dv", 
-	"glRasterPos2f", 
-	"glRasterPos2fv", 
-	"glRasterPos2i", 
-	"glRasterPos2iv", 
-	"glRasterPos2s", 
-	"glRasterPos2sv", 
-	"glRasterPos3d", 
-	"glRasterPos3dv", 
-	"glRasterPos3f", 
-	"glRasterPos3fv", 
-	"glRasterPos3i", 
-	"glRasterPos3iv", 
-	"glRasterPos3s", 
-	"glRasterPos3sv", 
-	"glRasterPos4d", 
-	"glRasterPos4dv", 
-	"glRasterPos4f", 
-	"glRasterPos4fv", 
-	"glRasterPos4i", 
-	"glRasterPos4iv", 
-	"glRasterPos4s", 
-	"glRasterPos4sv", 
-	"glReadBuffer", 
-	"glReadPixels", 
-	"glRectd", 
-	"glRectdv", 
-	"glRectf", 
-	"glRectfv", 
-	"glRecti", 
-	"glRectiv", 
-	"glRects", 
-	"glRectsv", 
-	"glRenderMode", 
-	"glRotated", 
-	"glRotatef", 
-	"glScaled", 
-	"glScalef", 
-	"glScissor", 
-	"glSelectBuffer", 
-	"glShadeModel", 
-	"glStencilFunc", 
-	"glStencilMask", 
-	"glStencilOp", 
-	"glTexCoord1d", 
-	"glTexCoord1dv", 
-	"glTexCoord1f", 
-	"glTexCoord1fv", 
-	"glTexCoord1i", 
-	"glTexCoord1iv", 
-	"glTexCoord1s", 
-	"glTexCoord1sv", 
-	"glTexCoord2d", 
-	"glTexCoord2dv", 
-	"glTexCoord2f", 
-	"glTexCoord2fv", 
-	"glTexCoord2i", 
-	"glTexCoord2iv", 
-	"glTexCoord2s", 
-	"glTexCoord2sv", 
-	"glTexCoord3d", 
-	"glTexCoord3dv", 
-	"glTexCoord3f", 
-	"glTexCoord3fv", 
-	"glTexCoord3i", 
-	"glTexCoord3iv", 
-	"glTexCoord3s", 
-	"glTexCoord3sv", 
-	"glTexCoord4d", 
-	"glTexCoord4dv", 
-	"glTexCoord4f", 
-	"glTexCoord4fv", 
-	"glTexCoord4i", 
-	"glTexCoord4iv", 
-	"glTexCoord4s", 
-	"glTexCoord4sv", 
-	"glTexCoordPointer", 
-	"glTexEnvf", 
-	"glTexEnvfv", 
-	"glTexEnvi", 
-	"glTexEnviv", 
-	"glTexGend", 
-	"glTexGendv", 
-	"glTexGenf", 
-	"glTexGenfv", 
-	"glTexGeni", 
-	"glTexGeniv", 
-	"glTexImage1D", 
-	"glTexImage2D", 
-	"glTexParameterf", 
-	"glTexParameterfv", 
-	"glTexParameteri", 
-	"glTexParameteriv", 
-	"glTexSubImage1D", 
-	"glTexSubImage2D", 
-	"glTranslated", 
-	"glTranslatef", 
-	"glVertex2d", 
-	"glVertex2dv", 
-	"glVertex2f", 
-	"glVertex2fv", 
-	"glVertex2i", 
-	"glVertex2iv", 
-	"glVertex2s", 
-	"glVertex2sv", 
-	"glVertex3d", 
-	"glVertex3dv", 
-	"glVertex3f", 
-	"glVertex3fv", 
-	"glVertex3i", 
-	"glVertex3iv", 
-	"glVertex3s", 
-	"glVertex3sv", 
-	"glVertex4d", 
-	"glVertex4dv", 
-	"glVertex4f", 
-	"glVertex4fv", 
-	"glVertex4i", 
-	"glVertex4iv", 
-	"glVertex4s", 
-	"glVertex4sv", 
-	"glVertexPointer", 
-	"glViewport", 
-};
-
-#define STATS_NATIVE(func) Java_org_eclipse_swt_tools_internal_NativeStats_##func
-
-JNIEXPORT jint JNICALL STATS_NATIVE(GL_1GetFunctionCount)
-	(JNIEnv *env, jclass that)
-{
-	return GL_nativeFunctionCount;
-}
-
-JNIEXPORT jstring JNICALL STATS_NATIVE(GL_1GetFunctionName)
-	(JNIEnv *env, jclass that, jint index)
-{
-	return (*env)->NewStringUTF(env, GL_nativeFunctionNames[index]);
-}
-
-JNIEXPORT jint JNICALL STATS_NATIVE(GL_1GetFunctionCallCount)
-	(JNIEnv *env, jclass that, jint index)
-{
-	return GL_nativeFunctionCallCount[index];
-}
-
-#endif
diff --git a/bundles/org.eclipse.swt.opengl/common/library/gl_stats.h b/bundles/org.eclipse.swt.opengl/common/library/gl_stats.h
deleted file mode 100644
index 6e1feee..0000000
--- a/bundles/org.eclipse.swt.opengl/common/library/gl_stats.h
+++ /dev/null
@@ -1,348 +0,0 @@
-#ifdef NATIVE_STATS
-extern int GL_nativeFunctionCount;
-extern int GL_nativeFunctionCallCount[];
-extern char* GL_nativeFunctionNames[];
-#define GL_NATIVE_ENTER(env, that, func) GL_nativeFunctionCallCount[func]++;
-#define GL_NATIVE_EXIT(env, that, func) 
-#else
-#define GL_NATIVE_ENTER(env, that, func) 
-#define GL_NATIVE_EXIT(env, that, func) 
-#endif
-
-typedef enum {
-	glAccum_FUNC,
-	glAlphaFunc_FUNC,
-	glAreTexturesResident_FUNC,
-	glArrayElement_FUNC,
-	glBegin_FUNC,
-	glBindTexture_FUNC,
-	glBitmap_FUNC,
-	glBlendFunc_FUNC,
-	glCallList_FUNC,
-	glCallLists__II_3B_FUNC,
-	glCallLists__II_3C_FUNC,
-	glCallLists__II_3I_FUNC,
-	glClear_FUNC,
-	glClearAccum_FUNC,
-	glClearColor_FUNC,
-	glClearDepth_FUNC,
-	glClearIndex_FUNC,
-	glClearStencil_FUNC,
-	glClipPlane_FUNC,
-	glColor3b_FUNC,
-	glColor3bv_FUNC,
-	glColor3d_FUNC,
-	glColor3dv_FUNC,
-	glColor3f_FUNC,
-	glColor3fv_FUNC,
-	glColor3i_FUNC,
-	glColor3iv_FUNC,
-	glColor3s_FUNC,
-	glColor3sv_FUNC,
-	glColor3ub_FUNC,
-	glColor3ubv_FUNC,
-	glColor3ui_FUNC,
-	glColor3uiv_FUNC,
-	glColor3us_FUNC,
-	glColor3usv_FUNC,
-	glColor4b_FUNC,
-	glColor4bv_FUNC,
-	glColor4d_FUNC,
-	glColor4dv_FUNC,
-	glColor4f_FUNC,
-	glColor4fv_FUNC,
-	glColor4i_FUNC,
-	glColor4iv_FUNC,
-	glColor4s_FUNC,
-	glColor4ub_FUNC,
-	glColor4ubv_FUNC,
-	glColor4ui_FUNC,
-	glColor4uiv_FUNC,
-	glColor4us_FUNC,
-	glColor4usv_FUNC,
-	glColorMask_FUNC,
-	glColorMaterial_FUNC,
-	glColorPointer_FUNC,
-	glCopyPixels_FUNC,
-	glCopyTexImage1D_FUNC,
-	glCopyTexImage2D_FUNC,
-	glCopyTexSubImage1D_FUNC,
-	glCopyTexSubImage2D_FUNC,
-	glCullFace_FUNC,
-	glDeleteLists_FUNC,
-	glDeleteTextures_FUNC,
-	glDepthFunc_FUNC,
-	glDepthMask_FUNC,
-	glDepthRange_FUNC,
-	glDisable_FUNC,
-	glDisableClientState_FUNC,
-	glDrawArrays_FUNC,
-	glDrawBuffer_FUNC,
-	glDrawElements_FUNC,
-	glDrawPixels_FUNC,
-	glEdgeFlag_FUNC,
-	glEdgeFlagPointer_FUNC,
-	glEdgeFlagv_FUNC,
-	glEnable_FUNC,
-	glEnableClientState_FUNC,
-	glEnd_FUNC,
-	glEndList_FUNC,
-	glEvalCoord1d_FUNC,
-	glEvalCoord1dv_FUNC,
-	glEvalCoord1f_FUNC,
-	glEvalCoord1fv_FUNC,
-	glEvalCoord2d_FUNC,
-	glEvalCoord2dv_FUNC,
-	glEvalCoord2f_FUNC,
-	glEvalCoord2fv_FUNC,
-	glEvalMesh1_FUNC,
-	glEvalMesh2_FUNC,
-	glEvalPoint1_FUNC,
-	glEvalPoint2_FUNC,
-	glFeedbackBuffer_FUNC,
-	glFinish_FUNC,
-	glFlush_FUNC,
-	glFogf_FUNC,
-	glFogfv_FUNC,
-	glFogi_FUNC,
-	glFogiv_FUNC,
-	glFrontFace_FUNC,
-	glFrustum_FUNC,
-	glGenLists_FUNC,
-	glGenTextures_FUNC,
-	glGetBooleanv_FUNC,
-	glGetClipPlane_FUNC,
-	glGetDoublev_FUNC,
-	glGetError_FUNC,
-	glGetFloatv_FUNC,
-	glGetIntegerv_FUNC,
-	glGetLightfv_FUNC,
-	glGetLightiv_FUNC,
-	glGetMapdv_FUNC,
-	glGetMapfv_FUNC,
-	glGetMapiv_FUNC,
-	glGetMaterialfv_FUNC,
-	glGetMaterialiv_FUNC,
-	glGetPixelMapfv_FUNC,
-	glGetPixelMapuiv_FUNC,
-	glGetPixelMapusv_FUNC,
-	glGetPointerv_FUNC,
-	glGetPolygonStipple_FUNC,
-	glGetString_FUNC,
-	glGetTexEnvfv_FUNC,
-	glGetTexEnviv_FUNC,
-	glGetTexGendv_FUNC,
-	glGetTexGenfv_FUNC,
-	glGetTexGeniv_FUNC,
-	glGetTexImage_FUNC,
-	glGetTexLevelParameterfv_FUNC,
-	glGetTexLevelParameteriv_FUNC,
-	glGetTexParameterfv_FUNC,
-	glGetTexParameteriv_FUNC,
-	glHint_FUNC,
-	glIndexMask_FUNC,
-	glIndexPointer_FUNC,
-	glIndexd_FUNC,
-	glIndexdv_FUNC,
-	glIndexf_FUNC,
-	glIndexfv_FUNC,
-	glIndexi_FUNC,
-	glIndexiv_FUNC,
-	glIndexs_FUNC,
-	glIndexsv_FUNC,
-	glInitNames_FUNC,
-	glInterleavedArrays_FUNC,
-	glIsEnabled_FUNC,
-	glIsList_FUNC,
-	glIsTexture_FUNC,
-	glLightModelf_FUNC,
-	glLightModelfv_FUNC,
-	glLightModeli_FUNC,
-	glLightModeliv_FUNC,
-	glLightf_FUNC,
-	glLightfv_FUNC,
-	glLighti_FUNC,
-	glLightiv_FUNC,
-	glLineStipple_FUNC,
-	glLineWidth_FUNC,
-	glListBase_FUNC,
-	glLoadIdentity_FUNC,
-	glLoadMatrixd_FUNC,
-	glLoadMatrixf_FUNC,
-	glLoadName_FUNC,
-	glLogicOp_FUNC,
-	glMap1d_FUNC,
-	glMap1f_FUNC,
-	glMap2d_FUNC,
-	glMap2f_FUNC,
-	glMapGrid1d_FUNC,
-	glMapGrid1f_FUNC,
-	glMapGrid2d_FUNC,
-	glMapGrid2f_FUNC,
-	glMaterialf_FUNC,
-	glMaterialfv_FUNC,
-	glMateriali_FUNC,
-	glMaterialiv_FUNC,
-	glMatrixMode_FUNC,
-	glMultMatrixd_FUNC,
-	glMultMatrixf_FUNC,
-	glNewList_FUNC,
-	glNormal3b_FUNC,
-	glNormal3bv_FUNC,
-	glNormal3d_FUNC,
-	glNormal3dv_FUNC,
-	glNormal3f_FUNC,
-	glNormal3fv_FUNC,
-	glNormal3i_FUNC,
-	glNormal3iv_FUNC,
-	glNormal3s_FUNC,
-	glNormal3sv_FUNC,
-	glNormalPointer_FUNC,
-	glOrtho_FUNC,
-	glPassThrough_FUNC,
-	glPixelMapfv_FUNC,
-	glPixelMapuiv_FUNC,
-	glPixelMapusv_FUNC,
-	glPixelStoref_FUNC,
-	glPixelStorei_FUNC,
-	glPixelTransferf_FUNC,
-	glPixelTransferi_FUNC,
-	glPixelZoom_FUNC,
-	glPointSize_FUNC,
-	glPolygonMode_FUNC,
-	glPolygonOffset_FUNC,
-	glPolygonStipple_FUNC,
-	glPopAttrib_FUNC,
-	glPopClientAttrib_FUNC,
-	glPopMatrix_FUNC,
-	glPopName_FUNC,
-	glPrioritizeTextures_FUNC,
-	glPushAttrib_FUNC,
-	glPushClientAttrib_FUNC,
-	glPushMatrix_FUNC,
-	glPushName_FUNC,
-	glRasterPos2d_FUNC,
-	glRasterPos2dv_FUNC,
-	glRasterPos2f_FUNC,
-	glRasterPos2fv_FUNC,
-	glRasterPos2i_FUNC,
-	glRasterPos2iv_FUNC,
-	glRasterPos2s_FUNC,
-	glRasterPos2sv_FUNC,
-	glRasterPos3d_FUNC,
-	glRasterPos3dv_FUNC,
-	glRasterPos3f_FUNC,
-	glRasterPos3fv_FUNC,
-	glRasterPos3i_FUNC,
-	glRasterPos3iv_FUNC,
-	glRasterPos3s_FUNC,
-	glRasterPos3sv_FUNC,
-	glRasterPos4d_FUNC,
-	glRasterPos4dv_FUNC,
-	glRasterPos4f_FUNC,
-	glRasterPos4fv_FUNC,
-	glRasterPos4i_FUNC,
-	glRasterPos4iv_FUNC,
-	glRasterPos4s_FUNC,
-	glRasterPos4sv_FUNC,
-	glReadBuffer_FUNC,
-	glReadPixels_FUNC,
-	glRectd_FUNC,
-	glRectdv_FUNC,
-	glRectf_FUNC,
-	glRectfv_FUNC,
-	glRecti_FUNC,
-	glRectiv_FUNC,
-	glRects_FUNC,
-	glRectsv_FUNC,
-	glRenderMode_FUNC,
-	glRotated_FUNC,
-	glRotatef_FUNC,
-	glScaled_FUNC,
-	glScalef_FUNC,
-	glScissor_FUNC,
-	glSelectBuffer_FUNC,
-	glShadeModel_FUNC,
-	glStencilFunc_FUNC,
-	glStencilMask_FUNC,
-	glStencilOp_FUNC,
-	glTexCoord1d_FUNC,
-	glTexCoord1dv_FUNC,
-	glTexCoord1f_FUNC,
-	glTexCoord1fv_FUNC,
-	glTexCoord1i_FUNC,
-	glTexCoord1iv_FUNC,
-	glTexCoord1s_FUNC,
-	glTexCoord1sv_FUNC,
-	glTexCoord2d_FUNC,
-	glTexCoord2dv_FUNC,
-	glTexCoord2f_FUNC,
-	glTexCoord2fv_FUNC,
-	glTexCoord2i_FUNC,
-	glTexCoord2iv_FUNC,
-	glTexCoord2s_FUNC,
-	glTexCoord2sv_FUNC,
-	glTexCoord3d_FUNC,
-	glTexCoord3dv_FUNC,
-	glTexCoord3f_FUNC,
-	glTexCoord3fv_FUNC,
-	glTexCoord3i_FUNC,
-	glTexCoord3iv_FUNC,
-	glTexCoord3s_FUNC,
-	glTexCoord3sv_FUNC,
-	glTexCoord4d_FUNC,
-	glTexCoord4dv_FUNC,
-	glTexCoord4f_FUNC,
-	glTexCoord4fv_FUNC,
-	glTexCoord4i_FUNC,
-	glTexCoord4iv_FUNC,
-	glTexCoord4s_FUNC,
-	glTexCoord4sv_FUNC,
-	glTexCoordPointer_FUNC,
-	glTexEnvf_FUNC,
-	glTexEnvfv_FUNC,
-	glTexEnvi_FUNC,
-	glTexEnviv_FUNC,
-	glTexGend_FUNC,
-	glTexGendv_FUNC,
-	glTexGenf_FUNC,
-	glTexGenfv_FUNC,
-	glTexGeni_FUNC,
-	glTexGeniv_FUNC,
-	glTexImage1D_FUNC,
-	glTexImage2D_FUNC,
-	glTexParameterf_FUNC,
-	glTexParameterfv_FUNC,
-	glTexParameteri_FUNC,
-	glTexParameteriv_FUNC,
-	glTexSubImage1D_FUNC,
-	glTexSubImage2D_FUNC,
-	glTranslated_FUNC,
-	glTranslatef_FUNC,
-	glVertex2d_FUNC,
-	glVertex2dv_FUNC,
-	glVertex2f_FUNC,
-	glVertex2fv_FUNC,
-	glVertex2i_FUNC,
-	glVertex2iv_FUNC,
-	glVertex2s_FUNC,
-	glVertex2sv_FUNC,
-	glVertex3d_FUNC,
-	glVertex3dv_FUNC,
-	glVertex3f_FUNC,
-	glVertex3fv_FUNC,
-	glVertex3i_FUNC,
-	glVertex3iv_FUNC,
-	glVertex3s_FUNC,
-	glVertex3sv_FUNC,
-	glVertex4d_FUNC,
-	glVertex4dv_FUNC,
-	glVertex4f_FUNC,
-	glVertex4fv_FUNC,
-	glVertex4i_FUNC,
-	glVertex4iv_FUNC,
-	glVertex4s_FUNC,
-	glVertex4sv_FUNC,
-	glVertexPointer_FUNC,
-	glViewport_FUNC,
-} GL_FUNCS;
diff --git a/bundles/org.eclipse.swt.opengl/common/library/gl_structs.c b/bundles/org.eclipse.swt.opengl/common/library/gl_structs.c
deleted file mode 100644
index 92490df..0000000
--- a/bundles/org.eclipse.swt.opengl/common/library/gl_structs.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "swt.h"
-#include "gl_structs.h"
-
diff --git a/bundles/org.eclipse.swt.opengl/common/library/gl_structs.h b/bundles/org.eclipse.swt.opengl/common/library/gl_structs.h
deleted file mode 100644
index 8ae9679..0000000
--- a/bundles/org.eclipse.swt.opengl/common/library/gl_structs.h
+++ /dev/null
@@ -1,2 +0,0 @@
-#include "gl.h"
-
diff --git a/bundles/org.eclipse.swt.opengl/common/library/glu.c b/bundles/org.eclipse.swt.opengl/common/library/glu.c
deleted file mode 100644
index 5ef7075..0000000
--- a/bundles/org.eclipse.swt.opengl/common/library/glu.c
+++ /dev/null
@@ -1,798 +0,0 @@
-#include "swt.h"
-#include "glu_structs.h"
-#include "glu_stats.h"
-
-#define GLU_NATIVE(func) Java_org_eclipse_opengl_GLU_##func
-
-#ifndef NO_gluBeginCurve
-JNIEXPORT void JNICALL GLU_NATIVE(gluBeginCurve)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GLU_NATIVE_ENTER(env, that, gluBeginCurve_FUNC);
-	gluBeginCurve((GLUnurbs *)arg0);
-	GLU_NATIVE_EXIT(env, that, gluBeginCurve_FUNC);
-}
-#endif
-
-#ifndef NO_gluBeginPolygon
-JNIEXPORT void JNICALL GLU_NATIVE(gluBeginPolygon)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GLU_NATIVE_ENTER(env, that, gluBeginPolygon_FUNC);
-	gluBeginPolygon((GLUtesselator*)arg0);
-	GLU_NATIVE_EXIT(env, that, gluBeginPolygon_FUNC);
-}
-#endif
-
-#ifndef NO_gluBeginSurface
-JNIEXPORT void JNICALL GLU_NATIVE(gluBeginSurface)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GLU_NATIVE_ENTER(env, that, gluBeginSurface_FUNC);
-	gluBeginSurface((GLUnurbs *)arg0);
-	GLU_NATIVE_EXIT(env, that, gluBeginSurface_FUNC);
-}
-#endif
-
-#ifndef NO_gluBeginTrim
-JNIEXPORT void JNICALL GLU_NATIVE(gluBeginTrim)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GLU_NATIVE_ENTER(env, that, gluBeginTrim_FUNC);
-	gluBeginTrim((GLUnurbs *)arg0);
-	GLU_NATIVE_EXIT(env, that, gluBeginTrim_FUNC);
-}
-#endif
-
-#ifndef NO_gluBuild1DMipmaps
-JNIEXPORT jint JNICALL GLU_NATIVE(gluBuild1DMipmaps)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5)
-{
-	jint rc;
-	GLU_NATIVE_ENTER(env, that, gluBuild1DMipmaps_FUNC);
-	rc = (jint)gluBuild1DMipmaps(arg0, arg1, arg2, arg3, arg4, (const void *)arg5);
-	GLU_NATIVE_EXIT(env, that, gluBuild1DMipmaps_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_gluBuild2DMipmaps
-JNIEXPORT jint JNICALL GLU_NATIVE(gluBuild2DMipmaps)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jbyteArray arg6)
-{
-	jbyte *lparg6=NULL;
-	jint rc;
-	GLU_NATIVE_ENTER(env, that, gluBuild2DMipmaps_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg6) lparg6 = (*env)->GetPrimitiveArrayCritical(env, arg6, NULL);
-	} else
-#endif
-	{
-		if (arg6) lparg6 = (*env)->GetByteArrayElements(env, arg6, NULL);
-	}
-	rc = (jint)gluBuild2DMipmaps(arg0, arg1, arg2, arg3, arg4, arg5, lparg6);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg6) (*env)->ReleasePrimitiveArrayCritical(env, arg6, lparg6, 0);
-	} else
-#endif
-	{
-		if (arg6) (*env)->ReleaseByteArrayElements(env, arg6, lparg6, 0);
-	}
-	GLU_NATIVE_EXIT(env, that, gluBuild2DMipmaps_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_gluCylinder
-JNIEXPORT void JNICALL GLU_NATIVE(gluCylinder)
-	(JNIEnv *env, jclass that, jint arg0, jdouble arg1, jdouble arg2, jdouble arg3, jint arg4, jint arg5)
-{
-	GLU_NATIVE_ENTER(env, that, gluCylinder_FUNC);
-	gluCylinder((GLUquadric *)arg0, arg1, arg2, arg3, arg4, arg5);
-	GLU_NATIVE_EXIT(env, that, gluCylinder_FUNC);
-}
-#endif
-
-#ifndef NO_gluDeleteNurbsRenderer
-JNIEXPORT void JNICALL GLU_NATIVE(gluDeleteNurbsRenderer)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GLU_NATIVE_ENTER(env, that, gluDeleteNurbsRenderer_FUNC);
-	gluDeleteNurbsRenderer((GLUnurbs *)arg0);
-	GLU_NATIVE_EXIT(env, that, gluDeleteNurbsRenderer_FUNC);
-}
-#endif
-
-#ifndef NO_gluDeleteQuadric
-JNIEXPORT void JNICALL GLU_NATIVE(gluDeleteQuadric)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GLU_NATIVE_ENTER(env, that, gluDeleteQuadric_FUNC);
-	gluDeleteQuadric((GLUquadric *)arg0);
-	GLU_NATIVE_EXIT(env, that, gluDeleteQuadric_FUNC);
-}
-#endif
-
-#ifndef NO_gluDeleteTess
-JNIEXPORT void JNICALL GLU_NATIVE(gluDeleteTess)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GLU_NATIVE_ENTER(env, that, gluDeleteTess_FUNC);
-	gluDeleteTess((GLUtesselator *)arg0);
-	GLU_NATIVE_EXIT(env, that, gluDeleteTess_FUNC);
-}
-#endif
-
-#ifndef NO_gluDisk
-JNIEXPORT void JNICALL GLU_NATIVE(gluDisk)
-	(JNIEnv *env, jclass that, jint arg0, jdouble arg1, jdouble arg2, jint arg3, jint arg4)
-{
-	GLU_NATIVE_ENTER(env, that, gluDisk_FUNC);
-	gluDisk((GLUquadricObj *)arg0, arg1, arg2, arg3, arg4);
-	GLU_NATIVE_EXIT(env, that, gluDisk_FUNC);
-}
-#endif
-
-#ifndef NO_gluEndCurve
-JNIEXPORT void JNICALL GLU_NATIVE(gluEndCurve)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GLU_NATIVE_ENTER(env, that, gluEndCurve_FUNC);
-	gluEndCurve((GLUnurbsObj *)arg0);
-	GLU_NATIVE_EXIT(env, that, gluEndCurve_FUNC);
-}
-#endif
-
-#ifndef NO_gluEndPolygon
-JNIEXPORT void JNICALL GLU_NATIVE(gluEndPolygon)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GLU_NATIVE_ENTER(env, that, gluEndPolygon_FUNC);
-	gluEndPolygon((GLUtriangulatorObj *)arg0);
-	GLU_NATIVE_EXIT(env, that, gluEndPolygon_FUNC);
-}
-#endif
-
-#ifndef NO_gluEndSurface
-JNIEXPORT void JNICALL GLU_NATIVE(gluEndSurface)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GLU_NATIVE_ENTER(env, that, gluEndSurface_FUNC);
-	gluEndSurface((GLUnurbsObj *)arg0);
-	GLU_NATIVE_EXIT(env, that, gluEndSurface_FUNC);
-}
-#endif
-
-#ifndef NO_gluEndTrim
-JNIEXPORT void JNICALL GLU_NATIVE(gluEndTrim)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GLU_NATIVE_ENTER(env, that, gluEndTrim_FUNC);
-	gluEndTrim((GLUnurbsObj *)arg0);
-	GLU_NATIVE_EXIT(env, that, gluEndTrim_FUNC);
-}
-#endif
-
-#ifndef NO_gluErrorString
-JNIEXPORT jint JNICALL GLU_NATIVE(gluErrorString)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc;
-	GLU_NATIVE_ENTER(env, that, gluErrorString_FUNC);
-	rc = (jint)gluErrorString(arg0);
-	GLU_NATIVE_EXIT(env, that, gluErrorString_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_gluGetNurbsProperty
-JNIEXPORT void JNICALL GLU_NATIVE(gluGetNurbsProperty)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloatArray arg2)
-{
-	jfloat *lparg2=NULL;
-	GLU_NATIVE_ENTER(env, that, gluGetNurbsProperty_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetFloatArrayElements(env, arg2, NULL);
-	}
-	gluGetNurbsProperty((GLUnurbs *)arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseFloatArrayElements(env, arg2, lparg2, 0);
-	}
-	GLU_NATIVE_EXIT(env, that, gluGetNurbsProperty_FUNC);
-}
-#endif
-
-#ifndef NO_gluGetString
-JNIEXPORT jint JNICALL GLU_NATIVE(gluGetString)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc;
-	GLU_NATIVE_ENTER(env, that, gluGetString_FUNC);
-	rc = (jint)gluGetString(arg0);
-	GLU_NATIVE_EXIT(env, that, gluGetString_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_gluGetTessProperty
-JNIEXPORT void JNICALL GLU_NATIVE(gluGetTessProperty)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jdoubleArray arg2)
-{
-	jdouble *lparg2=NULL;
-	GLU_NATIVE_ENTER(env, that, gluGetTessProperty_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetDoubleArrayElements(env, arg2, NULL);
-	}
-	gluGetTessProperty((GLUtesselator *)arg0, arg1, lparg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseDoubleArrayElements(env, arg2, lparg2, 0);
-	}
-	GLU_NATIVE_EXIT(env, that, gluGetTessProperty_FUNC);
-}
-#endif
-
-#ifndef NO_gluLoadSamplingMatrices
-JNIEXPORT void JNICALL GLU_NATIVE(gluLoadSamplingMatrices)
-	(JNIEnv *env, jclass that, jint arg0, jfloatArray arg1, jfloatArray arg2, jintArray arg3)
-{
-	jfloat *lparg1=NULL;
-	jfloat *lparg2=NULL;
-	jint *lparg3=NULL;
-	GLU_NATIVE_ENTER(env, that, gluLoadSamplingMatrices_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL);
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-		if (arg3) lparg3 = (*env)->GetPrimitiveArrayCritical(env, arg3, NULL);
-	} else
-#endif
-	{
-		if (arg1) lparg1 = (*env)->GetFloatArrayElements(env, arg1, NULL);
-		if (arg2) lparg2 = (*env)->GetFloatArrayElements(env, arg2, NULL);
-		if (arg3) lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL);
-	}
-	gluLoadSamplingMatrices((GLUnurbs *)arg0, lparg1, lparg2, lparg3);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg3) (*env)->ReleasePrimitiveArrayCritical(env, arg3, lparg3, 0);
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-		if (arg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, 0);
-	} else
-#endif
-	{
-		if (arg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-		if (arg2) (*env)->ReleaseFloatArrayElements(env, arg2, lparg2, 0);
-		if (arg1) (*env)->ReleaseFloatArrayElements(env, arg1, lparg1, 0);
-	}
-	GLU_NATIVE_EXIT(env, that, gluLoadSamplingMatrices_FUNC);
-}
-#endif
-
-#ifndef NO_gluLookAt
-JNIEXPORT void JNICALL GLU_NATIVE(gluLookAt)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1, jdouble arg2, jdouble arg3, jdouble arg4, jdouble arg5, jdouble arg6, jdouble arg7, jdouble arg8)
-{
-	GLU_NATIVE_ENTER(env, that, gluLookAt_FUNC);
-	gluLookAt(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
-	GLU_NATIVE_EXIT(env, that, gluLookAt_FUNC);
-}
-#endif
-
-#ifndef NO_gluNewNurbsRenderer
-JNIEXPORT jint JNICALL GLU_NATIVE(gluNewNurbsRenderer)
-	(JNIEnv *env, jclass that)
-{
-	jint rc;
-	GLU_NATIVE_ENTER(env, that, gluNewNurbsRenderer_FUNC);
-	rc = (jint)gluNewNurbsRenderer();
-	GLU_NATIVE_EXIT(env, that, gluNewNurbsRenderer_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_gluNewQuadric
-JNIEXPORT jint JNICALL GLU_NATIVE(gluNewQuadric)
-	(JNIEnv *env, jclass that)
-{
-	jint rc;
-	GLU_NATIVE_ENTER(env, that, gluNewQuadric_FUNC);
-	rc = (jint)gluNewQuadric();
-	GLU_NATIVE_EXIT(env, that, gluNewQuadric_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_gluNewTess
-JNIEXPORT jint JNICALL GLU_NATIVE(gluNewTess)
-	(JNIEnv *env, jclass that)
-{
-	jint rc;
-	GLU_NATIVE_ENTER(env, that, gluNewTess_FUNC);
-	rc = (jint)gluNewTess();
-	GLU_NATIVE_EXIT(env, that, gluNewTess_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_gluNextContour
-JNIEXPORT void JNICALL GLU_NATIVE(gluNextContour)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	GLU_NATIVE_ENTER(env, that, gluNextContour_FUNC);
-	gluNextContour((GLUtesselator *)arg0, arg1);
-	GLU_NATIVE_EXIT(env, that, gluNextContour_FUNC);
-}
-#endif
-
-#ifndef NO_gluNurbsCallback
-JNIEXPORT void JNICALL GLU_NATIVE(gluNurbsCallback)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	GLU_NATIVE_ENTER(env, that, gluNurbsCallback_FUNC);
-	gluNurbsCallback((GLUnurbs *)arg0, arg1, (GLvoid(*))arg2);
-	GLU_NATIVE_EXIT(env, that, gluNurbsCallback_FUNC);
-}
-#endif
-
-#ifndef NO_gluNurbsCurve
-JNIEXPORT void JNICALL GLU_NATIVE(gluNurbsCurve)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloatArray arg2, jint arg3, jfloatArray arg4, jint arg5, jint arg6)
-{
-	jfloat *lparg2=NULL;
-	jfloat *lparg4=NULL;
-	GLU_NATIVE_ENTER(env, that, gluNurbsCurve_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-		if (arg4) lparg4 = (*env)->GetPrimitiveArrayCritical(env, arg4, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetFloatArrayElements(env, arg2, NULL);
-		if (arg4) lparg4 = (*env)->GetFloatArrayElements(env, arg4, NULL);
-	}
-	gluNurbsCurve((GLUnurbs *)arg0, arg1, lparg2, arg3, lparg4, arg5, arg6);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg4) (*env)->ReleasePrimitiveArrayCritical(env, arg4, lparg4, 0);
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg4) (*env)->ReleaseFloatArrayElements(env, arg4, lparg4, 0);
-		if (arg2) (*env)->ReleaseFloatArrayElements(env, arg2, lparg2, 0);
-	}
-	GLU_NATIVE_EXIT(env, that, gluNurbsCurve_FUNC);
-}
-#endif
-
-#ifndef NO_gluNurbsProperty
-JNIEXPORT void JNICALL GLU_NATIVE(gluNurbsProperty)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloat arg2)
-{
-	GLU_NATIVE_ENTER(env, that, gluNurbsProperty_FUNC);
-	gluNurbsProperty((GLUnurbs *)arg0, arg1, arg2);
-	GLU_NATIVE_EXIT(env, that, gluNurbsProperty_FUNC);
-}
-#endif
-
-#ifndef NO_gluNurbsSurface
-JNIEXPORT void JNICALL GLU_NATIVE(gluNurbsSurface)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloatArray arg2, jint arg3, jfloatArray arg4, jint arg5, jint arg6, jfloatArray arg7, jint arg8, jint arg9, jint arg10)
-{
-	jfloat *lparg2=NULL;
-	jfloat *lparg4=NULL;
-	jfloat *lparg7=NULL;
-	GLU_NATIVE_ENTER(env, that, gluNurbsSurface_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-		if (arg4) lparg4 = (*env)->GetPrimitiveArrayCritical(env, arg4, NULL);
-		if (arg7) lparg7 = (*env)->GetPrimitiveArrayCritical(env, arg7, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetFloatArrayElements(env, arg2, NULL);
-		if (arg4) lparg4 = (*env)->GetFloatArrayElements(env, arg4, NULL);
-		if (arg7) lparg7 = (*env)->GetFloatArrayElements(env, arg7, NULL);
-	}
-	gluNurbsSurface((GLUnurbsObj *)arg0, arg1, lparg2, arg3, lparg4, arg5, arg6, lparg7, arg8, arg9, arg10);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg7) (*env)->ReleasePrimitiveArrayCritical(env, arg7, lparg7, 0);
-		if (arg4) (*env)->ReleasePrimitiveArrayCritical(env, arg4, lparg4, 0);
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg7) (*env)->ReleaseFloatArrayElements(env, arg7, lparg7, 0);
-		if (arg4) (*env)->ReleaseFloatArrayElements(env, arg4, lparg4, 0);
-		if (arg2) (*env)->ReleaseFloatArrayElements(env, arg2, lparg2, 0);
-	}
-	GLU_NATIVE_EXIT(env, that, gluNurbsSurface_FUNC);
-}
-#endif
-
-#ifndef NO_gluOrtho2D
-JNIEXPORT void JNICALL GLU_NATIVE(gluOrtho2D)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1, jdouble arg2, jdouble arg3)
-{
-	GLU_NATIVE_ENTER(env, that, gluOrtho2D_FUNC);
-	gluOrtho2D(arg0, arg1, arg2, arg3);
-	GLU_NATIVE_EXIT(env, that, gluOrtho2D_FUNC);
-}
-#endif
-
-#ifndef NO_gluPartialDisk
-JNIEXPORT void JNICALL GLU_NATIVE(gluPartialDisk)
-	(JNIEnv *env, jclass that, jint arg0, jdouble arg1, jdouble arg2, jint arg3, jint arg4, jdouble arg5, jdouble arg6)
-{
-	GLU_NATIVE_ENTER(env, that, gluPartialDisk_FUNC);
-	gluPartialDisk((GLUquadric *)arg0, arg1, arg2, arg3, arg4, arg5, arg6);
-	GLU_NATIVE_EXIT(env, that, gluPartialDisk_FUNC);
-}
-#endif
-
-#ifndef NO_gluPerspective
-JNIEXPORT void JNICALL GLU_NATIVE(gluPerspective)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1, jdouble arg2, jdouble arg3)
-{
-	GLU_NATIVE_ENTER(env, that, gluPerspective_FUNC);
-	gluPerspective(arg0, arg1, arg2, arg3);
-	GLU_NATIVE_EXIT(env, that, gluPerspective_FUNC);
-}
-#endif
-
-#ifndef NO_gluPickMatrix
-JNIEXPORT void JNICALL GLU_NATIVE(gluPickMatrix)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1, jdouble arg2, jdouble arg3, jintArray arg4)
-{
-	jint *lparg4=NULL;
-	GLU_NATIVE_ENTER(env, that, gluPickMatrix_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg4) lparg4 = (*env)->GetPrimitiveArrayCritical(env, arg4, NULL);
-	} else
-#endif
-	{
-		if (arg4) lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL);
-	}
-	gluPickMatrix(arg0, arg1, arg2, arg3, lparg4);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg4) (*env)->ReleasePrimitiveArrayCritical(env, arg4, lparg4, 0);
-	} else
-#endif
-	{
-		if (arg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	}
-	GLU_NATIVE_EXIT(env, that, gluPickMatrix_FUNC);
-}
-#endif
-
-#ifndef NO_gluProject
-JNIEXPORT jint JNICALL GLU_NATIVE(gluProject)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1, jdouble arg2, jdoubleArray arg3, jdoubleArray arg4, jintArray arg5, jdoubleArray arg6, jdoubleArray arg7, jdoubleArray arg8)
-{
-	jdouble *lparg3=NULL;
-	jdouble *lparg4=NULL;
-	jint *lparg5=NULL;
-	jdouble *lparg6=NULL;
-	jdouble *lparg7=NULL;
-	jdouble *lparg8=NULL;
-	jint rc;
-	GLU_NATIVE_ENTER(env, that, gluProject_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg3) lparg3 = (*env)->GetPrimitiveArrayCritical(env, arg3, NULL);
-		if (arg4) lparg4 = (*env)->GetPrimitiveArrayCritical(env, arg4, NULL);
-		if (arg5) lparg5 = (*env)->GetPrimitiveArrayCritical(env, arg5, NULL);
-		if (arg6) lparg6 = (*env)->GetPrimitiveArrayCritical(env, arg6, NULL);
-		if (arg7) lparg7 = (*env)->GetPrimitiveArrayCritical(env, arg7, NULL);
-		if (arg8) lparg8 = (*env)->GetPrimitiveArrayCritical(env, arg8, NULL);
-	} else
-#endif
-	{
-		if (arg3) lparg3 = (*env)->GetDoubleArrayElements(env, arg3, NULL);
-		if (arg4) lparg4 = (*env)->GetDoubleArrayElements(env, arg4, NULL);
-		if (arg5) lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL);
-		if (arg6) lparg6 = (*env)->GetDoubleArrayElements(env, arg6, NULL);
-		if (arg7) lparg7 = (*env)->GetDoubleArrayElements(env, arg7, NULL);
-		if (arg8) lparg8 = (*env)->GetDoubleArrayElements(env, arg8, NULL);
-	}
-	rc = (jint)gluProject(arg0, arg1, arg2, lparg3, lparg4, lparg5, lparg6, lparg7, lparg8);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg8) (*env)->ReleasePrimitiveArrayCritical(env, arg8, lparg8, 0);
-		if (arg7) (*env)->ReleasePrimitiveArrayCritical(env, arg7, lparg7, 0);
-		if (arg6) (*env)->ReleasePrimitiveArrayCritical(env, arg6, lparg6, 0);
-		if (arg5) (*env)->ReleasePrimitiveArrayCritical(env, arg5, lparg5, 0);
-		if (arg4) (*env)->ReleasePrimitiveArrayCritical(env, arg4, lparg4, 0);
-		if (arg3) (*env)->ReleasePrimitiveArrayCritical(env, arg3, lparg3, 0);
-	} else
-#endif
-	{
-		if (arg8) (*env)->ReleaseDoubleArrayElements(env, arg8, lparg8, 0);
-		if (arg7) (*env)->ReleaseDoubleArrayElements(env, arg7, lparg7, 0);
-		if (arg6) (*env)->ReleaseDoubleArrayElements(env, arg6, lparg6, 0);
-		if (arg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-		if (arg4) (*env)->ReleaseDoubleArrayElements(env, arg4, lparg4, 0);
-		if (arg3) (*env)->ReleaseDoubleArrayElements(env, arg3, lparg3, 0);
-	}
-	GLU_NATIVE_EXIT(env, that, gluProject_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_gluPwlCurve
-JNIEXPORT void JNICALL GLU_NATIVE(gluPwlCurve)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloatArray arg2, jint arg3, jint arg4)
-{
-	jfloat *lparg2=NULL;
-	GLU_NATIVE_ENTER(env, that, gluPwlCurve_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL);
-	} else
-#endif
-	{
-		if (arg2) lparg2 = (*env)->GetFloatArrayElements(env, arg2, NULL);
-	}
-	gluPwlCurve((GLUnurbs *)arg0, arg1, lparg2, arg3, arg4);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2) (*env)->ReleaseFloatArrayElements(env, arg2, lparg2, 0);
-	}
-	GLU_NATIVE_EXIT(env, that, gluPwlCurve_FUNC);
-}
-#endif
-
-#ifndef NO_gluQuadricCallback
-JNIEXPORT void JNICALL GLU_NATIVE(gluQuadricCallback)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	GLU_NATIVE_ENTER(env, that, gluQuadricCallback_FUNC);
-	gluQuadricCallback((GLUquadricObj *)arg0, arg1, (GLvoid(*))arg2);
-	GLU_NATIVE_EXIT(env, that, gluQuadricCallback_FUNC);
-}
-#endif
-
-#ifndef NO_gluQuadricDrawStyle
-JNIEXPORT void JNICALL GLU_NATIVE(gluQuadricDrawStyle)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	GLU_NATIVE_ENTER(env, that, gluQuadricDrawStyle_FUNC);
-	gluQuadricDrawStyle((GLUquadricObj *)arg0, arg1);
-	GLU_NATIVE_EXIT(env, that, gluQuadricDrawStyle_FUNC);
-}
-#endif
-
-#ifndef NO_gluQuadricNormals
-JNIEXPORT void JNICALL GLU_NATIVE(gluQuadricNormals)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	GLU_NATIVE_ENTER(env, that, gluQuadricNormals_FUNC);
-	gluQuadricNormals((GLUquadricObj *)arg0, arg1);
-	GLU_NATIVE_EXIT(env, that, gluQuadricNormals_FUNC);
-}
-#endif
-
-#ifndef NO_gluQuadricOrientation
-JNIEXPORT void JNICALL GLU_NATIVE(gluQuadricOrientation)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	GLU_NATIVE_ENTER(env, that, gluQuadricOrientation_FUNC);
-	gluQuadricOrientation((GLUquadric *)arg0, arg1);
-	GLU_NATIVE_EXIT(env, that, gluQuadricOrientation_FUNC);
-}
-#endif
-
-#ifndef NO_gluQuadricTexture
-JNIEXPORT void JNICALL GLU_NATIVE(gluQuadricTexture)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	GLU_NATIVE_ENTER(env, that, gluQuadricTexture_FUNC);
-	gluQuadricTexture((GLUquadric *)arg0, arg1);
-	GLU_NATIVE_EXIT(env, that, gluQuadricTexture_FUNC);
-}
-#endif
-
-#ifndef NO_gluScaleImage
-JNIEXPORT jint JNICALL GLU_NATIVE(gluScaleImage)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6, jint arg7, jint arg8)
-{
-	jint rc;
-	GLU_NATIVE_ENTER(env, that, gluScaleImage_FUNC);
-	rc = (jint)gluScaleImage(arg0, arg1, arg2, arg3, (const void *)arg4, arg5, arg6, arg7, (void *)arg8);
-	GLU_NATIVE_EXIT(env, that, gluScaleImage_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_gluSphere
-JNIEXPORT void JNICALL GLU_NATIVE(gluSphere)
-	(JNIEnv *env, jclass that, jint arg0, jdouble arg1, jint arg2, jint arg3)
-{
-	GLU_NATIVE_ENTER(env, that, gluSphere_FUNC);
-	gluSphere((GLUquadric *)arg0, arg1, arg2, arg3);
-	GLU_NATIVE_EXIT(env, that, gluSphere_FUNC);
-}
-#endif
-
-#ifndef NO_gluTessBeginContour
-JNIEXPORT void JNICALL GLU_NATIVE(gluTessBeginContour)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GLU_NATIVE_ENTER(env, that, gluTessBeginContour_FUNC);
-	gluTessBeginContour((GLUtesselator *)arg0);
-	GLU_NATIVE_EXIT(env, that, gluTessBeginContour_FUNC);
-}
-#endif
-
-#ifndef NO_gluTessBeginPolygon
-JNIEXPORT void JNICALL GLU_NATIVE(gluTessBeginPolygon)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	GLU_NATIVE_ENTER(env, that, gluTessBeginPolygon_FUNC);
-	gluTessBeginPolygon((GLUtesselator *)arg0, (GLvoid *)arg1);
-	GLU_NATIVE_EXIT(env, that, gluTessBeginPolygon_FUNC);
-}
-#endif
-
-#ifndef NO_gluTessCallback
-JNIEXPORT void JNICALL GLU_NATIVE(gluTessCallback)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	GLU_NATIVE_ENTER(env, that, gluTessCallback_FUNC);
-	gluTessCallback((GLUtesselator *)arg0, arg1, (GLvoid(*))arg2);
-	GLU_NATIVE_EXIT(env, that, gluTessCallback_FUNC);
-}
-#endif
-
-#ifndef NO_gluTessEndContour
-JNIEXPORT void JNICALL GLU_NATIVE(gluTessEndContour)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GLU_NATIVE_ENTER(env, that, gluTessEndContour_FUNC);
-	gluTessEndContour((GLUtesselator *)arg0);
-	GLU_NATIVE_EXIT(env, that, gluTessEndContour_FUNC);
-}
-#endif
-
-#ifndef NO_gluTessEndPolygon
-JNIEXPORT void JNICALL GLU_NATIVE(gluTessEndPolygon)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GLU_NATIVE_ENTER(env, that, gluTessEndPolygon_FUNC);
-	gluTessEndPolygon((GLUtesselator *)arg0);
-	GLU_NATIVE_EXIT(env, that, gluTessEndPolygon_FUNC);
-}
-#endif
-
-#ifndef NO_gluTessNormal
-JNIEXPORT void JNICALL GLU_NATIVE(gluTessNormal)
-	(JNIEnv *env, jclass that, jint arg0, jdouble arg1, jdouble arg2, jdouble arg3)
-{
-	GLU_NATIVE_ENTER(env, that, gluTessNormal_FUNC);
-	gluTessNormal((GLUtesselator *)arg0, arg1, arg2, arg3);
-	GLU_NATIVE_EXIT(env, that, gluTessNormal_FUNC);
-}
-#endif
-
-#ifndef NO_gluTessProperty
-JNIEXPORT void JNICALL GLU_NATIVE(gluTessProperty)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jdouble arg2)
-{
-	GLU_NATIVE_ENTER(env, that, gluTessProperty_FUNC);
-	gluTessProperty((GLUtesselator *)arg0, arg1, arg2);
-	GLU_NATIVE_EXIT(env, that, gluTessProperty_FUNC);
-}
-#endif
-
-#ifndef NO_gluTessVertex
-JNIEXPORT void JNICALL GLU_NATIVE(gluTessVertex)
-	(JNIEnv *env, jclass that, jint arg0, jdoubleArray arg1, jint arg2)
-{
-	jdouble *lparg1=NULL;
-	GLU_NATIVE_ENTER(env, that, gluTessVertex_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL);
-	} else
-#endif
-	{
-		if (arg1) lparg1 = (*env)->GetDoubleArrayElements(env, arg1, NULL);
-	}
-	gluTessVertex((GLUtesselator *)arg0, lparg1, (GLvoid *)arg2);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, 0);
-	} else
-#endif
-	{
-		if (arg1) (*env)->ReleaseDoubleArrayElements(env, arg1, lparg1, 0);
-	}
-	GLU_NATIVE_EXIT(env, that, gluTessVertex_FUNC);
-}
-#endif
-
-#ifndef NO_gluUnProject
-JNIEXPORT jint JNICALL GLU_NATIVE(gluUnProject)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1, jdouble arg2, jdoubleArray arg3, jdoubleArray arg4, jintArray arg5, jdoubleArray arg6, jdoubleArray arg7, jdoubleArray arg8)
-{
-	jdouble *lparg3=NULL;
-	jdouble *lparg4=NULL;
-	jint *lparg5=NULL;
-	jdouble *lparg6=NULL;
-	jdouble *lparg7=NULL;
-	jdouble *lparg8=NULL;
-	jint rc;
-	GLU_NATIVE_ENTER(env, that, gluUnProject_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg3) lparg3 = (*env)->GetPrimitiveArrayCritical(env, arg3, NULL);
-		if (arg4) lparg4 = (*env)->GetPrimitiveArrayCritical(env, arg4, NULL);
-		if (arg5) lparg5 = (*env)->GetPrimitiveArrayCritical(env, arg5, NULL);
-		if (arg6) lparg6 = (*env)->GetPrimitiveArrayCritical(env, arg6, NULL);
-		if (arg7) lparg7 = (*env)->GetPrimitiveArrayCritical(env, arg7, NULL);
-		if (arg8) lparg8 = (*env)->GetPrimitiveArrayCritical(env, arg8, NULL);
-	} else
-#endif
-	{
-		if (arg3) lparg3 = (*env)->GetDoubleArrayElements(env, arg3, NULL);
-		if (arg4) lparg4 = (*env)->GetDoubleArrayElements(env, arg4, NULL);
-		if (arg5) lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL);
-		if (arg6) lparg6 = (*env)->GetDoubleArrayElements(env, arg6, NULL);
-		if (arg7) lparg7 = (*env)->GetDoubleArrayElements(env, arg7, NULL);
-		if (arg8) lparg8 = (*env)->GetDoubleArrayElements(env, arg8, NULL);
-	}
-	rc = (jint)gluUnProject(arg0, arg1, arg2, lparg3, lparg4, lparg5, lparg6, lparg7, lparg8);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg8) (*env)->ReleasePrimitiveArrayCritical(env, arg8, lparg8, 0);
-		if (arg7) (*env)->ReleasePrimitiveArrayCritical(env, arg7, lparg7, 0);
-		if (arg6) (*env)->ReleasePrimitiveArrayCritical(env, arg6, lparg6, 0);
-		if (arg5) (*env)->ReleasePrimitiveArrayCritical(env, arg5, lparg5, 0);
-		if (arg4) (*env)->ReleasePrimitiveArrayCritical(env, arg4, lparg4, 0);
-		if (arg3) (*env)->ReleasePrimitiveArrayCritical(env, arg3, lparg3, 0);
-	} else
-#endif
-	{
-		if (arg8) (*env)->ReleaseDoubleArrayElements(env, arg8, lparg8, 0);
-		if (arg7) (*env)->ReleaseDoubleArrayElements(env, arg7, lparg7, 0);
-		if (arg6) (*env)->ReleaseDoubleArrayElements(env, arg6, lparg6, 0);
-		if (arg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-		if (arg4) (*env)->ReleaseDoubleArrayElements(env, arg4, lparg4, 0);
-		if (arg3) (*env)->ReleaseDoubleArrayElements(env, arg3, lparg3, 0);
-	}
-	GLU_NATIVE_EXIT(env, that, gluUnProject_FUNC);
-	return rc;
-}
-#endif
-
diff --git a/bundles/org.eclipse.swt.opengl/common/library/glu.h b/bundles/org.eclipse.swt.opengl/common/library/glu.h
deleted file mode 100644
index 96f8b03..0000000
--- a/bundles/org.eclipse.swt.opengl/common/library/glu.h
+++ /dev/null
@@ -1,10 +0,0 @@
-#ifdef __APPLE__
-#include <OpenGL/glu.h>
-#else
-#ifdef WIN32
-#include <windows.h>
-#endif
-#include <GL/glu.h>
-#endif
-
-extern int IS_JNI_1_2;
diff --git a/bundles/org.eclipse.swt.opengl/common/library/glu_stats.c b/bundles/org.eclipse.swt.opengl/common/library/glu_stats.c
deleted file mode 100644
index 3befc26..0000000
--- a/bundles/org.eclipse.swt.opengl/common/library/glu_stats.c
+++ /dev/null
@@ -1,82 +0,0 @@
-#include "swt.h"
-#include "glu_stats.h"
-
-#ifdef NATIVE_STATS
-
-int GLU_nativeFunctionCount = 51;
-int GLU_nativeFunctionCallCount[51];
-char * GLU_nativeFunctionNames[] = {
-	"gluBeginCurve", 
-	"gluBeginPolygon", 
-	"gluBeginSurface", 
-	"gluBeginTrim", 
-	"gluBuild1DMipmaps", 
-	"gluBuild2DMipmaps", 
-	"gluCylinder", 
-	"gluDeleteNurbsRenderer", 
-	"gluDeleteQuadric", 
-	"gluDeleteTess", 
-	"gluDisk", 
-	"gluEndCurve", 
-	"gluEndPolygon", 
-	"gluEndSurface", 
-	"gluEndTrim", 
-	"gluErrorString", 
-	"gluGetNurbsProperty", 
-	"gluGetString", 
-	"gluGetTessProperty", 
-	"gluLoadSamplingMatrices", 
-	"gluLookAt", 
-	"gluNewNurbsRenderer", 
-	"gluNewQuadric", 
-	"gluNewTess", 
-	"gluNextContour", 
-	"gluNurbsCallback", 
-	"gluNurbsCurve", 
-	"gluNurbsProperty", 
-	"gluNurbsSurface", 
-	"gluOrtho2D", 
-	"gluPartialDisk", 
-	"gluPerspective", 
-	"gluPickMatrix", 
-	"gluProject", 
-	"gluPwlCurve", 
-	"gluQuadricCallback", 
-	"gluQuadricDrawStyle", 
-	"gluQuadricNormals", 
-	"gluQuadricOrientation", 
-	"gluQuadricTexture", 
-	"gluScaleImage", 
-	"gluSphere", 
-	"gluTessBeginContour", 
-	"gluTessBeginPolygon", 
-	"gluTessCallback", 
-	"gluTessEndContour", 
-	"gluTessEndPolygon", 
-	"gluTessNormal", 
-	"gluTessProperty", 
-	"gluTessVertex", 
-	"gluUnProject", 
-};
-
-#define STATS_NATIVE(func) Java_org_eclipse_swt_tools_internal_NativeStats_##func
-
-JNIEXPORT jint JNICALL STATS_NATIVE(GLU_1GetFunctionCount)
-	(JNIEnv *env, jclass that)
-{
-	return GLU_nativeFunctionCount;
-}
-
-JNIEXPORT jstring JNICALL STATS_NATIVE(GLU_1GetFunctionName)
-	(JNIEnv *env, jclass that, jint index)
-{
-	return (*env)->NewStringUTF(env, GLU_nativeFunctionNames[index]);
-}
-
-JNIEXPORT jint JNICALL STATS_NATIVE(GLU_1GetFunctionCallCount)
-	(JNIEnv *env, jclass that, jint index)
-{
-	return GLU_nativeFunctionCallCount[index];
-}
-
-#endif
diff --git a/bundles/org.eclipse.swt.opengl/common/library/glu_stats.h b/bundles/org.eclipse.swt.opengl/common/library/glu_stats.h
deleted file mode 100644
index 99173e6..0000000
--- a/bundles/org.eclipse.swt.opengl/common/library/glu_stats.h
+++ /dev/null
@@ -1,64 +0,0 @@
-#ifdef NATIVE_STATS
-extern int GLU_nativeFunctionCount;
-extern int GLU_nativeFunctionCallCount[];
-extern char* GLU_nativeFunctionNames[];
-#define GLU_NATIVE_ENTER(env, that, func) GLU_nativeFunctionCallCount[func]++;
-#define GLU_NATIVE_EXIT(env, that, func) 
-#else
-#define GLU_NATIVE_ENTER(env, that, func) 
-#define GLU_NATIVE_EXIT(env, that, func) 
-#endif
-
-typedef enum {
-	gluBeginCurve_FUNC,
-	gluBeginPolygon_FUNC,
-	gluBeginSurface_FUNC,
-	gluBeginTrim_FUNC,
-	gluBuild1DMipmaps_FUNC,
-	gluBuild2DMipmaps_FUNC,
-	gluCylinder_FUNC,
-	gluDeleteNurbsRenderer_FUNC,
-	gluDeleteQuadric_FUNC,
-	gluDeleteTess_FUNC,
-	gluDisk_FUNC,
-	gluEndCurve_FUNC,
-	gluEndPolygon_FUNC,
-	gluEndSurface_FUNC,
-	gluEndTrim_FUNC,
-	gluErrorString_FUNC,
-	gluGetNurbsProperty_FUNC,
-	gluGetString_FUNC,
-	gluGetTessProperty_FUNC,
-	gluLoadSamplingMatrices_FUNC,
-	gluLookAt_FUNC,
-	gluNewNurbsRenderer_FUNC,
-	gluNewQuadric_FUNC,
-	gluNewTess_FUNC,
-	gluNextContour_FUNC,
-	gluNurbsCallback_FUNC,
-	gluNurbsCurve_FUNC,
-	gluNurbsProperty_FUNC,
-	gluNurbsSurface_FUNC,
-	gluOrtho2D_FUNC,
-	gluPartialDisk_FUNC,
-	gluPerspective_FUNC,
-	gluPickMatrix_FUNC,
-	gluProject_FUNC,
-	gluPwlCurve_FUNC,
-	gluQuadricCallback_FUNC,
-	gluQuadricDrawStyle_FUNC,
-	gluQuadricNormals_FUNC,
-	gluQuadricOrientation_FUNC,
-	gluQuadricTexture_FUNC,
-	gluScaleImage_FUNC,
-	gluSphere_FUNC,
-	gluTessBeginContour_FUNC,
-	gluTessBeginPolygon_FUNC,
-	gluTessCallback_FUNC,
-	gluTessEndContour_FUNC,
-	gluTessEndPolygon_FUNC,
-	gluTessNormal_FUNC,
-	gluTessProperty_FUNC,
-	gluTessVertex_FUNC,
-	gluUnProject_FUNC,
-} GLU_FUNCS;
diff --git a/bundles/org.eclipse.swt.opengl/common/library/glu_structs.c b/bundles/org.eclipse.swt.opengl/common/library/glu_structs.c
deleted file mode 100644
index 620ce43..0000000
--- a/bundles/org.eclipse.swt.opengl/common/library/glu_structs.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "swt.h"
-#include "glu_structs.h"
-
diff --git a/bundles/org.eclipse.swt.opengl/common/library/glu_structs.h b/bundles/org.eclipse.swt.opengl/common/library/glu_structs.h
deleted file mode 100644
index 5d11acf..0000000
--- a/bundles/org.eclipse.swt.opengl/common/library/glu_structs.h
+++ /dev/null
@@ -1,2 +0,0 @@
-#include "glu.h"
-
diff --git a/bundles/org.eclipse.swt.opengl/common/library/swt.c b/bundles/org.eclipse.swt.opengl/common/library/swt.c
deleted file mode 100644
index 6740c65..0000000
--- a/bundles/org.eclipse.swt.opengl/common/library/swt.c
+++ /dev/null
@@ -1,21 +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
- *******************************************************************************/
- 
-#include "swt.h"
-
-int IS_JNI_1_2 = 0;
-
-#ifdef JNI_VERSION_1_2
-JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void *reserved) {
-	IS_JNI_1_2 = 1;
-	return JNI_VERSION_1_2;
-}
-#endif
diff --git a/bundles/org.eclipse.swt.opengl/common/library/swt.h b/bundles/org.eclipse.swt.opengl/common/library/swt.h
deleted file mode 100644
index 2729037..0000000
--- a/bundles/org.eclipse.swt.opengl/common/library/swt.h
+++ /dev/null
@@ -1,50 +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
- *******************************************************************************/
-
-#ifndef INC_swt_H
-#define INC_swt_H
-
-#include "jni.h"
-
-/* For debugging */
-#define DEBUG_PRINTF(x)
-/*#define DEBUG_PRINTF(x) printf x; */
-
-/* define this to print out debug statements */
-/* #define DEBUG_CALL_PRINTS */
-/* #define DEBUG_CHECK_NULL_EXCEPTIONS */
-
-#ifdef DEBUG_CALL_PRINTS
-#define DEBUG_CALL(func) fprintf(stderr, func);
-#else
-#define DEBUG_CALL(func)
-#endif
-
-#ifdef DEBUG_CHECK_NULL_EXCEPTIONS
-#define DEBUG_CHECK_NULL(env, address) \
-	if (address == 0) { \
-		jclass clazz = (*env)->FindClass(env, "org/eclipse/swt/SWTError"); \
-		if (clazz != NULL) { \
-			(*env)->ThrowNew(env, clazz, "Argument cannot be NULL"); \
-		} \
-		return; \
-	}
-#else
-#define DEBUG_CHECK_NULL(env, address)
-#endif
-
-#define DECL_GLOB(pSym)
-#define PGLOB(x) x
-
-#define NATIVE_ENTER(env,clazz,func)
-#define NATIVE_EXIT(env,clazz,func)
-
-#endif /* ifndef INC_swt_H */
diff --git a/bundles/org.eclipse.swt.opengl/common/org/eclipse/opengl/GL.java b/bundles/org.eclipse.swt.opengl/common/org/eclipse/opengl/GL.java
deleted file mode 100755
index 01a4fca..0000000
--- a/bundles/org.eclipse.swt.opengl/common/org/eclipse/opengl/GL.java
+++ /dev/null
@@ -1,1447 +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.opengl;
-
-public class GL {
-
-	public static final int GL_VERSION_1_1 = 1;
-
-	/* AccumOp */
-	public static final int GL_ACCUM = 0x0100;
-	public static final int GL_LOAD = 0x0101;
-	public static final int GL_RETURN = 0x0102;
-	public static final int GL_MULT = 0x0103;
-	public static final int GL_ADD = 0x0104;
-
-	/* AlphaFunction */
-	public static final int GL_NEVER = 0x0200;
-	public static final int GL_LESS = 0x0201;
-	public static final int GL_EQUAL = 0x0202;
-	public static final int GL_LEQUAL = 0x0203;
-	public static final int GL_GREATER = 0x0204;
-	public static final int GL_NOTEQUAL = 0x0205;
-	public static final int GL_GEQUAL = 0x0206;
-	public static final int GL_ALWAYS = 0x0207;
-
-	/* AttribMask */
-	public static final int GL_CURRENT_BIT = 0x00000001;
-	public static final int GL_POINT_BIT = 0x00000002;
-	public static final int GL_LINE_BIT = 0x00000004;
-	public static final int GL_POLYGON_BIT = 0x00000008;
-	public static final int GL_POLYGON_STIPPLE_BIT = 0x00000010;
-	public static final int GL_PIXEL_MODE_BIT = 0x00000020;
-	public static final int GL_LIGHTING_BIT = 0x00000040;
-	public static final int GL_FOG_BIT = 0x00000080;
-	public static final int GL_DEPTH_BUFFER_BIT = 0x00000100;
-	public static final int GL_ACCUM_BUFFER_BIT = 0x00000200;
-	public static final int GL_STENCIL_BUFFER_BIT = 0x00000400;
-	public static final int GL_VIEWPORT_BIT = 0x00000800;
-	public static final int GL_TRANSFORM_BIT = 0x00001000;
-	public static final int GL_ENABLE_BIT = 0x00002000;
-	public static final int GL_COLOR_BUFFER_BIT = 0x00004000;
-	public static final int GL_HINT_BIT = 0x00008000;
-	public static final int GL_EVAL_BIT = 0x00010000;
-	public static final int GL_LIST_BIT = 0x00020000;
-	public static final int GL_TEXTURE_BIT = 0x00040000;
-	public static final int GL_SCISSOR_BIT = 0x00080000;
-	public static final int GL_ALL_ATTRIB_BITS = 0x000fffff;
-
-	/* BeginMode */
-	public static final int GL_POINTS = 0x0000;
-	public static final int GL_LINES = 0x0001;
-	public static final int GL_LINE_LOOP = 0x0002;
-	public static final int GL_LINE_STRIP = 0x0003;
-	public static final int GL_TRIANGLES = 0x0004;
-	public static final int GL_TRIANGLE_STRIP = 0x0005;
-	public static final int GL_TRIANGLE_FAN = 0x0006;
-	public static final int GL_QUADS = 0x0007;
-	public static final int GL_QUAD_STRIP = 0x0008;
-	public static final int GL_POLYGON = 0x0009;
-
-	/* BlendingFactorDest */
-	public static final int GL_ZERO = 0;
-	public static final int GL_ONE = 1;
-	public static final int GL_SRC_COLOR = 0x0300;
-	public static final int GL_ONE_MINUS_SRC_COLOR = 0x0301;
-	public static final int GL_SRC_ALPHA = 0x0302;
-	public static final int GL_ONE_MINUS_SRC_ALPHA = 0x0303;
-	public static final int GL_DST_ALPHA = 0x0304;
-	public static final int GL_ONE_MINUS_DST_ALPHA = 0x0305;
-
-	/* BlendingFactorSrc */
-	/*      GL_ZERO */
-	/*      GL_ONE */
-	public static final int GL_DST_COLOR = 0x0306;
-	public static final int GL_ONE_MINUS_DST_COLOR = 0x0307;
-	public static final int GL_SRC_ALPHA_SATURATE = 0x0308;
-	/*      GL_SRC_ALPHA */
-	/*      GL_ONE_MINUS_SRC_ALPHA */
-	/*      GL_DST_ALPHA */
-	/*      GL_ONE_MINUS_DST_ALPHA */
-
-	/* Boolean */
-	public static final int GL_TRUE = 1;
-	public static final int GL_FALSE = 0;
-
-	/* ClearBufferMask */
-	/*      GL_COLOR_BUFFER_BIT */
-	/*      GL_ACCUM_BUFFER_BIT */
-	/*      GL_STENCIL_BUFFER_BIT */
-	/*      GL_DEPTH_BUFFER_BIT */
-
-	/* ClientArrayType */
-	/*      GL_VERTEX_ARRAY */
-	/*      GL_NORMAL_ARRAY */
-	/*      GL_COLOR_ARRAY */
-	/*      GL_INDEX_ARRAY */
-	/*      GL_TEXTURE_COORD_ARRAY */
-	/*      GL_EDGE_FLAG_ARRAY */
-
-	/* ClipPlaneName */
-	public static final int GL_CLIP_PLANE0 = 0x3000;
-	public static final int GL_CLIP_PLANE1 = 0x3001;
-	public static final int GL_CLIP_PLANE2 = 0x3002;
-	public static final int GL_CLIP_PLANE3 = 0x3003;
-	public static final int GL_CLIP_PLANE4 = 0x3004;
-	public static final int GL_CLIP_PLANE5 = 0x3005;
-
-	/* ColorMaterialFace */
-	/*      GL_FRONT */
-	/*      GL_BACK */
-	/*      GL_FRONT_AND_BACK */
-
-	/* ColorMaterialParameter */
-	/*      GL_AMBIENT */
-	/*      GL_DIFFUSE */
-	/*      GL_SPECULAR */
-	/*      GL_EMISSION */
-	/*      GL_AMBIENT_AND_DIFFUSE */
-
-	/* ColorPointerType */
-	/*      GL_BYTE */
-	/*      GL_UNSIGNED_BYTE */
-	/*      GL_SHORT */
-	/*      GL_UNSIGNED_SHORT */
-	/*      GL_INT */
-	/*      GL_UNSIGNED_INT */
-	/*      GL_FLOAT */
-	/*      GL_DOUBLE */
-
-	/* CullFaceMode */
-	/*      GL_FRONT */
-	/*      GL_BACK */
-	/*      GL_FRONT_AND_BACK */
-
-	/* DataType */
-	public static final int GL_BYTE = 0x1400;
-	public static final int GL_UNSIGNED_BYTE = 0x1401;
-	public static final int GL_SHORT = 0x1402;
-	public static final int GL_UNSIGNED_SHORT = 0x1403;
-	public static final int GL_INT = 0x1404;
-	public static final int GL_UNSIGNED_INT = 0x1405;
-	public static final int GL_FLOAT = 0x1406;
-	public static final int GL_2_BYTES = 0x1407;
-	public static final int GL_3_BYTES = 0x1408;
-	public static final int GL_4_BYTES = 0x1409;
-	public static final int GL_DOUBLE = 0x140A;
-
-	/* DepthFunction */
-	/*      GL_NEVER */
-	/*      GL_LESS */
-	/*      GL_EQUAL */
-	/*      GL_LEQUAL */
-	/*      GL_GREATER */
-	/*      GL_NOTEQUAL */
-	/*      GL_GEQUAL */
-	/*      GL_ALWAYS */
-
-	/* DrawBufferMode */
-	public static final int GL_NONE = 0;
-	public static final int GL_FRONT_LEFT = 0x0400;
-	public static final int GL_FRONT_RIGHT = 0x0401;
-	public static final int GL_BACK_LEFT = 0x0402;
-	public static final int GL_BACK_RIGHT = 0x0403;
-	public static final int GL_FRONT = 0x0404;
-	public static final int GL_BACK = 0x0405;
-	public static final int GL_LEFT = 0x0406;
-	public static final int GL_RIGHT = 0x0407;
-	public static final int GL_FRONT_AND_BACK = 0x0408;
-	public static final int GL_AUX0 = 0x0409;
-	public static final int GL_AUX1 = 0x040A;
-	public static final int GL_AUX2 = 0x040B;
-	public static final int GL_AUX3 = 0x040C;
-
-	/* Enable */
-	/*      GL_FOG */
-	/*      GL_LIGHTING */
-	/*      GL_TEXTURE_1D */
-	/*      GL_TEXTURE_2D */
-	/*      GL_LINE_STIPPLE */
-	/*      GL_POLYGON_STIPPLE */
-	/*      GL_CULL_FACE */
-	/*      GL_ALPHA_TEST */
-	/*      GL_BLEND */
-	/*      GL_INDEX_LOGIC_OP */
-	/*      GL_COLOR_LOGIC_OP */
-	/*      GL_DITHER */
-	/*      GL_STENCIL_TEST */
-	/*      GL_DEPTH_TEST */
-	/*      GL_CLIP_PLANE0 */
-	/*      GL_CLIP_PLANE1 */
-	/*      GL_CLIP_PLANE2 */
-	/*      GL_CLIP_PLANE3 */
-	/*      GL_CLIP_PLANE4 */
-	/*      GL_CLIP_PLANE5 */
-	/*      GL_LIGHT0 */
-	/*      GL_LIGHT1 */
-	/*      GL_LIGHT2 */
-	/*      GL_LIGHT3 */
-	/*      GL_LIGHT4 */
-	/*      GL_LIGHT5 */
-	/*      GL_LIGHT6 */
-	/*      GL_LIGHT7 */
-	/*      GL_TEXTURE_GEN_S */
-	/*      GL_TEXTURE_GEN_T */
-	/*      GL_TEXTURE_GEN_R */
-	/*      GL_TEXTURE_GEN_Q */
-	/*      GL_MAP1_VERTEX_3 */
-	/*      GL_MAP1_VERTEX_4 */
-	/*      GL_MAP1_COLOR_4 */
-	/*      GL_MAP1_INDEX */
-	/*      GL_MAP1_NORMAL */
-	/*      GL_MAP1_TEXTURE_COORD_1 */
-	/*      GL_MAP1_TEXTURE_COORD_2 */
-	/*      GL_MAP1_TEXTURE_COORD_3 */
-	/*      GL_MAP1_TEXTURE_COORD_4 */
-	/*      GL_MAP2_VERTEX_3 */
-	/*      GL_MAP2_VERTEX_4 */
-	/*      GL_MAP2_COLOR_4 */
-	/*      GL_MAP2_INDEX */
-	/*      GL_MAP2_NORMAL */
-	/*      GL_MAP2_TEXTURE_COORD_1 */
-	/*      GL_MAP2_TEXTURE_COORD_2 */
-	/*      GL_MAP2_TEXTURE_COORD_3 */
-	/*      GL_MAP2_TEXTURE_COORD_4 */
-	/*      GL_POINT_SMOOTH */
-	/*      GL_LINE_SMOOTH */
-	/*      GL_POLYGON_SMOOTH */
-	/*      GL_SCISSOR_TEST */
-	/*      GL_COLOR_MATERIAL */
-	/*      GL_NORMALIZE */
-	/*      GL_AUTO_NORMAL */
-	/*      GL_VERTEX_ARRAY */
-	/*      GL_NORMAL_ARRAY */
-	/*      GL_COLOR_ARRAY */
-	/*      GL_INDEX_ARRAY */
-	/*      GL_TEXTURE_COORD_ARRAY */
-	/*      GL_EDGE_FLAG_ARRAY */
-	/*      GL_POLYGON_OFFSET_POINT */
-	/*      GL_POLYGON_OFFSET_LINE */
-	/*      GL_POLYGON_OFFSET_FILL */
-
-	/* ErrorCode */
-	public static final int GL_NO_ERROR = 0;
-	public static final int GL_INVALID_ENUM = 0x0500;
-	public static final int GL_INVALID_VALUE = 0x0501;
-	public static final int GL_INVALID_OPERATION = 0x0502;
-	public static final int GL_STACK_OVERFLOW = 0x0503;
-	public static final int GL_STACK_UNDERFLOW = 0x0504;
-	public static final int GL_OUT_OF_MEMORY = 0x0505;
-
-	/* FeedBackMode */
-	public static final int GL_2D = 0x0600;
-	public static final int GL_3D = 0x0601;
-	public static final int GL_3D_COLOR = 0x0602;
-	public static final int GL_3D_COLOR_TEXTURE = 0x0603;
-	public static final int GL_4D_COLOR_TEXTURE = 0x0604;
-
-	/* FeedBackToken */
-	public static final int GL_PASS_THROUGH_TOKEN = 0x0700;
-	public static final int GL_POINT_TOKEN = 0x0701;
-	public static final int GL_LINE_TOKEN = 0x0702;
-	public static final int GL_POLYGON_TOKEN = 0x0703;
-	public static final int GL_BITMAP_TOKEN = 0x0704;
-	public static final int GL_DRAW_PIXEL_TOKEN = 0x0705;
-	public static final int GL_COPY_PIXEL_TOKEN = 0x0706;
-	public static final int GL_LINE_RESET_TOKEN = 0x0707;
-
-	/* FogMode */
-	/*      GL_LINEAR */
-	public static final int GL_EXP = 0x0800;
-	public static final int GL_EXP2 = 0x0801;
-
-	/* FogParameter */
-	/*      GL_FOG_COLOR */
-	/*      GL_FOG_DENSITY */
-	/*      GL_FOG_END */
-	/*      GL_FOG_INDEX */
-	/*      GL_FOG_MODE */
-	/*      GL_FOG_START */
-
-	/* FrontFaceDirection */
-	public static final int GL_CW = 0x0900;
-	public static final int GL_CCW = 0x0901;
-
-	/* GetMapTarget */
-	public static final int GL_COEFF = 0x0A00;
-	public static final int GL_ORDER = 0x0A01;
-	public static final int GL_DOMAIN = 0x0A02;
-
-	/* GetPixelMap */
-	/*      GL_PIXEL_MAP_I_TO_I */
-	/*      GL_PIXEL_MAP_S_TO_S */
-	/*      GL_PIXEL_MAP_I_TO_R */
-	/*      GL_PIXEL_MAP_I_TO_G */
-	/*      GL_PIXEL_MAP_I_TO_B */
-	/*      GL_PIXEL_MAP_I_TO_A */
-	/*      GL_PIXEL_MAP_R_TO_R */
-	/*      GL_PIXEL_MAP_G_TO_G */
-	/*      GL_PIXEL_MAP_B_TO_B */
-	/*      GL_PIXEL_MAP_A_TO_A */
-
-	/* GetPointerTarget */
-	/*      GL_VERTEX_ARRAY_POINTER */
-	/*      GL_NORMAL_ARRAY_POINTER */
-	/*      GL_COLOR_ARRAY_POINTER */
-	/*      GL_INDEX_ARRAY_POINTER */
-	/*      GL_TEXTURE_COORD_ARRAY_POINTER */
-	/*      GL_EDGE_FLAG_ARRAY_POINTER */
-
-	/* GetTarget */
-	public static final int GL_CURRENT_COLOR = 0x0B00;
-	public static final int GL_CURRENT_INDEX = 0x0B01;
-	public static final int GL_CURRENT_NORMAL = 0x0B02;
-	public static final int GL_CURRENT_TEXTURE_COORDS = 0x0B03;
-	public static final int GL_CURRENT_RASTER_COLOR = 0x0B04;
-	public static final int GL_CURRENT_RASTER_INDEX = 0x0B05;
-	public static final int GL_CURRENT_RASTER_TEXTURE_COORDS = 0x0B06;
-	public static final int GL_CURRENT_RASTER_POSITION = 0x0B07;
-	public static final int GL_CURRENT_RASTER_POSITION_VALID = 0x0B08;
-	public static final int GL_CURRENT_RASTER_DISTANCE = 0x0B09;
-	public static final int GL_POINT_SMOOTH = 0x0B10;
-	public static final int GL_POINT_SIZE = 0x0B11;
-	public static final int GL_POINT_SIZE_RANGE = 0x0B12;
-	public static final int GL_POINT_SIZE_GRANULARITY = 0x0B13;
-	public static final int GL_LINE_SMOOTH = 0x0B20;
-	public static final int GL_LINE_WIDTH = 0x0B21;
-	public static final int GL_LINE_WIDTH_RANGE = 0x0B22;
-	public static final int GL_LINE_WIDTH_GRANULARITY = 0x0B23;
-	public static final int GL_LINE_STIPPLE = 0x0B24;
-	public static final int GL_LINE_STIPPLE_PATTERN = 0x0B25;
-	public static final int GL_LINE_STIPPLE_REPEAT = 0x0B26;
-	public static final int GL_LIST_MODE = 0x0B30;
-	public static final int GL_MAX_LIST_NESTING = 0x0B31;
-	public static final int GL_LIST_BASE = 0x0B32;
-	public static final int GL_LIST_INDEX = 0x0B33;
-	public static final int GL_POLYGON_MODE = 0x0B40;
-	public static final int GL_POLYGON_SMOOTH = 0x0B41;
-	public static final int GL_POLYGON_STIPPLE = 0x0B42;
-	public static final int GL_EDGE_FLAG = 0x0B43;
-	public static final int GL_CULL_FACE = 0x0B44;
-	public static final int GL_CULL_FACE_MODE = 0x0B45;
-	public static final int GL_FRONT_FACE = 0x0B46;
-	public static final int GL_LIGHTING = 0x0B50;
-	public static final int GL_LIGHT_MODEL_LOCAL_VIEWER = 0x0B51;
-	public static final int GL_LIGHT_MODEL_TWO_SIDE = 0x0B52;
-	public static final int GL_LIGHT_MODEL_AMBIENT = 0x0B53;
-	public static final int GL_SHADE_MODEL = 0x0B54;
-	public static final int GL_COLOR_MATERIAL_FACE = 0x0B55;
-	public static final int GL_COLOR_MATERIAL_PARAMETER = 0x0B56;
-	public static final int GL_COLOR_MATERIAL = 0x0B57;
-	public static final int GL_FOG = 0x0B60;
-	public static final int GL_FOG_INDEX = 0x0B61;
-	public static final int GL_FOG_DENSITY = 0x0B62;
-	public static final int GL_FOG_START = 0x0B63;
-	public static final int GL_FOG_END = 0x0B64;
-	public static final int GL_FOG_MODE = 0x0B65;
-	public static final int GL_FOG_COLOR = 0x0B66;
-	public static final int GL_DEPTH_RANGE = 0x0B70;
-	public static final int GL_DEPTH_TEST = 0x0B71;
-	public static final int GL_DEPTH_WRITEMASK = 0x0B72;
-	public static final int GL_DEPTH_CLEAR_VALUE = 0x0B73;
-	public static final int GL_DEPTH_FUNC = 0x0B74;
-	public static final int GL_ACCUM_CLEAR_VALUE = 0x0B80;
-	public static final int GL_STENCIL_TEST = 0x0B90;
-	public static final int GL_STENCIL_CLEAR_VALUE = 0x0B91;
-	public static final int GL_STENCIL_FUNC = 0x0B92;
-	public static final int GL_STENCIL_VALUE_MASK = 0x0B93;
-	public static final int GL_STENCIL_FAIL = 0x0B94;
-	public static final int GL_STENCIL_PASS_DEPTH_FAIL = 0x0B95;
-	public static final int GL_STENCIL_PASS_DEPTH_PASS = 0x0B96;
-	public static final int GL_STENCIL_REF = 0x0B97;
-	public static final int GL_STENCIL_WRITEMASK = 0x0B98;
-	public static final int GL_MATRIX_MODE = 0x0BA0;
-	public static final int GL_NORMALIZE = 0x0BA1;
-	public static final int GL_VIEWPORT = 0x0BA2;
-	public static final int GL_MODELVIEW_STACK_DEPTH = 0x0BA3;
-	public static final int GL_PROJECTION_STACK_DEPTH = 0x0BA4;
-	public static final int GL_TEXTURE_STACK_DEPTH = 0x0BA5;
-	public static final int GL_MODELVIEW_MATRIX = 0x0BA6;
-	public static final int GL_PROJECTION_MATRIX = 0x0BA7;
-	public static final int GL_TEXTURE_MATRIX = 0x0BA8;
-	public static final int GL_ATTRIB_STACK_DEPTH = 0x0BB0;
-	public static final int GL_CLIENT_ATTRIB_STACK_DEPTH = 0x0BB1;
-	public static final int GL_ALPHA_TEST = 0x0BC0;
-	public static final int GL_ALPHA_TEST_FUNC = 0x0BC1;
-	public static final int GL_ALPHA_TEST_REF = 0x0BC2;
-	public static final int GL_DITHER = 0x0BD0;
-	public static final int GL_BLEND_DST = 0x0BE0;
-	public static final int GL_BLEND_SRC = 0x0BE1;
-	public static final int GL_BLEND = 0x0BE2;
-	public static final int GL_LOGIC_OP_MODE = 0x0BF0;
-	public static final int GL_INDEX_LOGIC_OP = 0x0BF1;
-	public static final int GL_COLOR_LOGIC_OP = 0x0BF2;
-	public static final int GL_AUX_BUFFERS = 0x0C00;
-	public static final int GL_DRAW_BUFFER = 0x0C01;
-	public static final int GL_READ_BUFFER = 0x0C02;
-	public static final int GL_SCISSOR_BOX = 0x0C10;
-	public static final int GL_SCISSOR_TEST = 0x0C11;
-	public static final int GL_INDEX_CLEAR_VALUE = 0x0C20;
-	public static final int GL_INDEX_WRITEMASK = 0x0C21;
-	public static final int GL_COLOR_CLEAR_VALUE = 0x0C22;
-	public static final int GL_COLOR_WRITEMASK = 0x0C23;
-	public static final int GL_INDEX_MODE = 0x0C30;
-	public static final int GL_RGBA_MODE = 0x0C31;
-	public static final int GL_DOUBLEBUFFER = 0x0C32;
-	public static final int GL_STEREO = 0x0C33;
-	public static final int GL_RENDER_MODE = 0x0C40;
-	public static final int GL_PERSPECTIVE_CORRECTION_HINT = 0x0C50;
-	public static final int GL_POINT_SMOOTH_HINT = 0x0C51;
-	public static final int GL_LINE_SMOOTH_HINT = 0x0C52;
-	public static final int GL_POLYGON_SMOOTH_HINT = 0x0C53;
-	public static final int GL_FOG_HINT = 0x0C54;
-	public static final int GL_TEXTURE_GEN_S = 0x0C60;
-	public static final int GL_TEXTURE_GEN_T = 0x0C61;
-	public static final int GL_TEXTURE_GEN_R = 0x0C62;
-	public static final int GL_TEXTURE_GEN_Q = 0x0C63;
-	public static final int GL_PIXEL_MAP_I_TO_I = 0x0C70;
-	public static final int GL_PIXEL_MAP_S_TO_S = 0x0C71;
-	public static final int GL_PIXEL_MAP_I_TO_R = 0x0C72;
-	public static final int GL_PIXEL_MAP_I_TO_G = 0x0C73;
-	public static final int GL_PIXEL_MAP_I_TO_B = 0x0C74;
-	public static final int GL_PIXEL_MAP_I_TO_A = 0x0C75;
-	public static final int GL_PIXEL_MAP_R_TO_R = 0x0C76;
-	public static final int GL_PIXEL_MAP_G_TO_G = 0x0C77;
-	public static final int GL_PIXEL_MAP_B_TO_B = 0x0C78;
-	public static final int GL_PIXEL_MAP_A_TO_A = 0x0C79;
-	public static final int GL_PIXEL_MAP_I_TO_I_SIZE = 0x0CB0;
-	public static final int GL_PIXEL_MAP_S_TO_S_SIZE = 0x0CB1;
-	public static final int GL_PIXEL_MAP_I_TO_R_SIZE = 0x0CB2;
-	public static final int GL_PIXEL_MAP_I_TO_G_SIZE = 0x0CB3;
-	public static final int GL_PIXEL_MAP_I_TO_B_SIZE = 0x0CB4;
-	public static final int GL_PIXEL_MAP_I_TO_A_SIZE = 0x0CB5;
-	public static final int GL_PIXEL_MAP_R_TO_R_SIZE = 0x0CB6;
-	public static final int GL_PIXEL_MAP_G_TO_G_SIZE = 0x0CB7;
-	public static final int GL_PIXEL_MAP_B_TO_B_SIZE = 0x0CB8;
-	public static final int GL_PIXEL_MAP_A_TO_A_SIZE = 0x0CB9;
-	public static final int GL_UNPACK_SWAP_BYTES = 0x0CF0;
-	public static final int GL_UNPACK_LSB_FIRST = 0x0CF1;
-	public static final int GL_UNPACK_ROW_LENGTH = 0x0CF2;
-	public static final int GL_UNPACK_SKIP_ROWS = 0x0CF3;
-	public static final int GL_UNPACK_SKIP_PIXELS = 0x0CF4;
-	public static final int GL_UNPACK_ALIGNMENT = 0x0CF5;
-	public static final int GL_PACK_SWAP_BYTES = 0x0D00;
-	public static final int GL_PACK_LSB_FIRST = 0x0D01;
-	public static final int GL_PACK_ROW_LENGTH = 0x0D02;
-	public static final int GL_PACK_SKIP_ROWS = 0x0D03;
-	public static final int GL_PACK_SKIP_PIXELS = 0x0D04;
-	public static final int GL_PACK_ALIGNMENT = 0x0D05;
-	public static final int GL_MAP_COLOR = 0x0D10;
-	public static final int GL_MAP_STENCIL = 0x0D11;
-	public static final int GL_INDEX_SHIFT = 0x0D12;
-	public static final int GL_INDEX_OFFSET = 0x0D13;
-	public static final int GL_RED_SCALE = 0x0D14;
-	public static final int GL_RED_BIAS = 0x0D15;
-	public static final int GL_ZOOM_X = 0x0D16;
-	public static final int GL_ZOOM_Y = 0x0D17;
-	public static final int GL_GREEN_SCALE = 0x0D18;
-	public static final int GL_GREEN_BIAS = 0x0D19;
-	public static final int GL_BLUE_SCALE = 0x0D1A;
-	public static final int GL_BLUE_BIAS = 0x0D1B;
-	public static final int GL_ALPHA_SCALE = 0x0D1C;
-	public static final int GL_ALPHA_BIAS = 0x0D1D;
-	public static final int GL_DEPTH_SCALE = 0x0D1E;
-	public static final int GL_DEPTH_BIAS = 0x0D1F;
-	public static final int GL_MAX_EVAL_ORDER = 0x0D30;
-	public static final int GL_MAX_LIGHTS = 0x0D31;
-	public static final int GL_MAX_CLIP_PLANES = 0x0D32;
-	public static final int GL_MAX_TEXTURE_SIZE = 0x0D33;
-	public static final int GL_MAX_PIXEL_MAP_TABLE = 0x0D34;
-	public static final int GL_MAX_ATTRIB_STACK_DEPTH = 0x0D35;
-	public static final int GL_MAX_MODELVIEW_STACK_DEPTH = 0x0D36;
-	public static final int GL_MAX_NAME_STACK_DEPTH = 0x0D37;
-	public static final int GL_MAX_PROJECTION_STACK_DEPTH = 0x0D38;
-	public static final int GL_MAX_TEXTURE_STACK_DEPTH = 0x0D39;
-	public static final int GL_MAX_VIEWPORT_DIMS = 0x0D3A;
-	public static final int GL_MAX_CLIENT_ATTRIB_STACK_DEPTH = 0x0D3B;
-	public static final int GL_SUBPIXEL_BITS = 0x0D50;
-	public static final int GL_INDEX_BITS = 0x0D51;
-	public static final int GL_RED_BITS = 0x0D52;
-	public static final int GL_GREEN_BITS = 0x0D53;
-	public static final int GL_BLUE_BITS = 0x0D54;
-	public static final int GL_ALPHA_BITS = 0x0D55;
-	public static final int GL_DEPTH_BITS = 0x0D56;
-	public static final int GL_STENCIL_BITS = 0x0D57;
-	public static final int GL_ACCUM_RED_BITS = 0x0D58;
-	public static final int GL_ACCUM_GREEN_BITS = 0x0D59;
-	public static final int GL_ACCUM_BLUE_BITS = 0x0D5A;
-	public static final int GL_ACCUM_ALPHA_BITS = 0x0D5B;
-	public static final int GL_NAME_STACK_DEPTH = 0x0D70;
-	public static final int GL_AUTO_NORMAL = 0x0D80;
-	public static final int GL_MAP1_COLOR_4 = 0x0D90;
-	public static final int GL_MAP1_INDEX = 0x0D91;
-	public static final int GL_MAP1_NORMAL = 0x0D92;
-	public static final int GL_MAP1_TEXTURE_COORD_1 = 0x0D93;
-	public static final int GL_MAP1_TEXTURE_COORD_2 = 0x0D94;
-	public static final int GL_MAP1_TEXTURE_COORD_3 = 0x0D95;
-	public static final int GL_MAP1_TEXTURE_COORD_4 = 0x0D96;
-	public static final int GL_MAP1_VERTEX_3 = 0x0D97;
-	public static final int GL_MAP1_VERTEX_4 = 0x0D98;
-	public static final int GL_MAP2_COLOR_4 = 0x0DB0;
-	public static final int GL_MAP2_INDEX = 0x0DB1;
-	public static final int GL_MAP2_NORMAL = 0x0DB2;
-	public static final int GL_MAP2_TEXTURE_COORD_1 = 0x0DB3;
-	public static final int GL_MAP2_TEXTURE_COORD_2 = 0x0DB4;
-	public static final int GL_MAP2_TEXTURE_COORD_3 = 0x0DB5;
-	public static final int GL_MAP2_TEXTURE_COORD_4 = 0x0DB6;
-	public static final int GL_MAP2_VERTEX_3 = 0x0DB7;
-	public static final int GL_MAP2_VERTEX_4 = 0x0DB8;
-	public static final int GL_MAP1_GRID_DOMAIN = 0x0DD0;
-	public static final int GL_MAP1_GRID_SEGMENTS = 0x0DD1;
-	public static final int GL_MAP2_GRID_DOMAIN = 0x0DD2;
-	public static final int GL_MAP2_GRID_SEGMENTS = 0x0DD3;
-	public static final int GL_TEXTURE_1D = 0x0DE0;
-	public static final int GL_TEXTURE_2D = 0x0DE1;
-	public static final int GL_FEEDBACK_BUFFER_POINTER = 0x0DF0;
-	public static final int GL_FEEDBACK_BUFFER_SIZE = 0x0DF1;
-	public static final int GL_FEEDBACK_BUFFER_TYPE = 0x0DF2;
-	public static final int GL_SELECTION_BUFFER_POINTER = 0x0DF3;
-	public static final int GL_SELECTION_BUFFER_SIZE = 0x0DF4;
-	/*      GL_TEXTURE_BINDING_1D */
-	/*      GL_TEXTURE_BINDING_2D */
-	/*      GL_VERTEX_ARRAY */
-	/*      GL_NORMAL_ARRAY */
-	/*      GL_COLOR_ARRAY */
-	/*      GL_INDEX_ARRAY */
-	/*      GL_TEXTURE_COORD_ARRAY */
-	/*      GL_EDGE_FLAG_ARRAY */
-	/*      GL_VERTEX_ARRAY_SIZE */
-	/*      GL_VERTEX_ARRAY_TYPE */
-	/*      GL_VERTEX_ARRAY_STRIDE */
-	/*      GL_NORMAL_ARRAY_TYPE */
-	/*      GL_NORMAL_ARRAY_STRIDE */
-	/*      GL_COLOR_ARRAY_SIZE */
-	/*      GL_COLOR_ARRAY_TYPE */
-	/*      GL_COLOR_ARRAY_STRIDE */
-	/*      GL_INDEX_ARRAY_TYPE */
-	/*      GL_INDEX_ARRAY_STRIDE */
-	/*      GL_TEXTURE_COORD_ARRAY_SIZE */
-	/*      GL_TEXTURE_COORD_ARRAY_TYPE */
-	/*      GL_TEXTURE_COORD_ARRAY_STRIDE */
-	/*      GL_EDGE_FLAG_ARRAY_STRIDE */
-	/*      GL_POLYGON_OFFSET_FACTOR */
-	/*      GL_POLYGON_OFFSET_UNITS */
-
-	/* GetTextureParameter */
-	/*      GL_TEXTURE_MAG_FILTER */
-	/*      GL_TEXTURE_MIN_FILTER */
-	/*      GL_TEXTURE_WRAP_S */
-	/*      GL_TEXTURE_WRAP_T */
-	public static final int GL_TEXTURE_WIDTH = 0x1000;
-	public static final int GL_TEXTURE_HEIGHT = 0x1001;
-	public static final int GL_TEXTURE_INTERNAL_FORMAT = 0x1003;
-	public static final int GL_TEXTURE_BORDER_COLOR = 0x1004;
-	public static final int GL_TEXTURE_BORDER = 0x1005;
-	/*      GL_TEXTURE_RED_SIZE */
-	/*      GL_TEXTURE_GREEN_SIZE */
-	/*      GL_TEXTURE_BLUE_SIZE */
-	/*      GL_TEXTURE_ALPHA_SIZE */
-	/*      GL_TEXTURE_LUMINANCE_SIZE */
-	/*      GL_TEXTURE_INTENSITY_SIZE */
-	/*      GL_TEXTURE_PRIORITY */
-	/*      GL_TEXTURE_RESIDENT */
-
-	/* HintMode */
-	public static final int GL_DONT_CARE = 0x1100;
-	public static final int GL_FASTEST = 0x1101;
-	public static final int GL_NICEST = 0x1102;
-
-	/* HintTarget */
-	/*      GL_PERSPECTIVE_CORRECTION_HINT */
-	/*      GL_POINT_SMOOTH_HINT */
-	/*      GL_LINE_SMOOTH_HINT */
-	/*      GL_POLYGON_SMOOTH_HINT */
-	/*      GL_FOG_HINT */
-	/*      GL_PHONG_HINT */
-
-	/* IndexPointerType */
-	/*      GL_SHORT */
-	/*      GL_INT */
-	/*      GL_FLOAT */
-	/*      GL_DOUBLE */
-
-	/* LightModelParameter */
-	/*      GL_LIGHT_MODEL_AMBIENT */
-	/*      GL_LIGHT_MODEL_LOCAL_VIEWER */
-	/*      GL_LIGHT_MODEL_TWO_SIDE */
-
-	/* LightName */
-	public static final int GL_LIGHT0 = 0x4000;
-	public static final int GL_LIGHT1 = 0x4001;
-	public static final int GL_LIGHT2 = 0x4002;
-	public static final int GL_LIGHT3 = 0x4003;
-	public static final int GL_LIGHT4 = 0x4004;
-	public static final int GL_LIGHT5 = 0x4005;
-	public static final int GL_LIGHT6 = 0x4006;
-	public static final int GL_LIGHT7 = 0x4007;
-
-	/* LightParameter */
-	public static final int GL_AMBIENT = 0x1200;
-	public static final int GL_DIFFUSE = 0x1201;
-	public static final int GL_SPECULAR = 0x1202;
-	public static final int GL_POSITION = 0x1203;
-	public static final int GL_SPOT_DIRECTION = 0x1204;
-	public static final int GL_SPOT_EXPONENT = 0x1205;
-	public static final int GL_SPOT_CUTOFF = 0x1206;
-	public static final int GL_CONSTANT_ATTENUATION = 0x1207;
-	public static final int GL_LINEAR_ATTENUATION = 0x1208;
-	public static final int GL_QUADRATIC_ATTENUATION = 0x1209;
-
-	/* InterleavedArrays */
-	/*      GL_V2F */
-	/*      GL_V3F */
-	/*      GL_C4UB_V2F */
-	/*      GL_C4UB_V3F */
-	/*      GL_C3F_V3F */
-	/*      GL_N3F_V3F */
-	/*      GL_C4F_N3F_V3F */
-	/*      GL_T2F_V3F */
-	/*      GL_T4F_V4F */
-	/*      GL_T2F_C4UB_V3F */
-	/*      GL_T2F_C3F_V3F */
-	/*      GL_T2F_N3F_V3F */
-	/*      GL_T2F_C4F_N3F_V3F */
-	/*      GL_T4F_C4F_N3F_V4F */
-
-	/* ListMode */
-	public static final int GL_COMPILE = 0x1300;
-	public static final int GL_COMPILE_AND_EXECUTE = 0x1301;
-
-	/* ListNameType */
-	/*      GL_BYTE */
-	/*      GL_UNSIGNED_BYTE */
-	/*      GL_SHORT */
-	/*      GL_UNSIGNED_SHORT */
-	/*      GL_INT */
-	/*      GL_UNSIGNED_INT */
-	/*      GL_FLOAT */
-	/*      GL_2_BYTES */
-	/*      GL_3_BYTES */
-	/*      GL_4_BYTES */
-
-	/* LogicOp */
-	public static final int GL_CLEAR = 0x1500;
-	public static final int GL_AND = 0x1501;
-	public static final int GL_AND_REVERSE = 0x1502;
-	public static final int GL_COPY = 0x1503;
-	public static final int GL_AND_INVERTED = 0x1504;
-	public static final int GL_NOOP = 0x1505;
-	public static final int GL_XOR = 0x1506;
-	public static final int GL_OR = 0x1507;
-	public static final int GL_NOR = 0x1508;
-	public static final int GL_EQUIV = 0x1509;
-	public static final int GL_INVERT = 0x150A;
-	public static final int GL_OR_REVERSE = 0x150B;
-	public static final int GL_COPY_INVERTED = 0x150C;
-	public static final int GL_OR_INVERTED = 0x150D;
-	public static final int GL_NAND = 0x150E;
-	public static final int GL_SET = 0x150F;
-
-	/* MapTarget */
-	/*      GL_MAP1_COLOR_4 */
-	/*      GL_MAP1_INDEX */
-	/*      GL_MAP1_NORMAL */
-	/*      GL_MAP1_TEXTURE_COORD_1 */
-	/*      GL_MAP1_TEXTURE_COORD_2 */
-	/*      GL_MAP1_TEXTURE_COORD_3 */
-	/*      GL_MAP1_TEXTURE_COORD_4 */
-	/*      GL_MAP1_VERTEX_3 */
-	/*      GL_MAP1_VERTEX_4 */
-	/*      GL_MAP2_COLOR_4 */
-	/*      GL_MAP2_INDEX */
-	/*      GL_MAP2_NORMAL */
-	/*      GL_MAP2_TEXTURE_COORD_1 */
-	/*      GL_MAP2_TEXTURE_COORD_2 */
-	/*      GL_MAP2_TEXTURE_COORD_3 */
-	/*      GL_MAP2_TEXTURE_COORD_4 */
-	/*      GL_MAP2_VERTEX_3 */
-	/*      GL_MAP2_VERTEX_4 */
-
-	/* MaterialFace */
-	/*      GL_FRONT */
-	/*      GL_BACK */
-	/*      GL_FRONT_AND_BACK */
-
-	/* MaterialParameter */
-	public static final int GL_EMISSION = 0x1600;
-	public static final int GL_SHININESS = 0x1601;
-	public static final int GL_AMBIENT_AND_DIFFUSE = 0x1602;
-	public static final int GL_COLOR_INDEXES = 0x1603;
-	/*      GL_AMBIENT */
-	/*      GL_DIFFUSE */
-	/*      GL_SPECULAR */
-
-	/* MatrixMode */
-	public static final int GL_MODELVIEW = 0x1700;
-	public static final int GL_PROJECTION = 0x1701;
-	public static final int GL_TEXTURE = 0x1702;
-
-	/* MeshMode1 */
-	/*      GL_POINT */
-	/*      GL_LINE */
-
-	/* MeshMode2 */
-	/*      GL_POINT */
-	/*      GL_LINE */
-	/*      GL_FILL */
-
-	/* NormalPointerType */
-	/*      GL_BYTE */
-	/*      GL_SHORT */
-	/*      GL_INT */
-	/*      GL_FLOAT */
-	/*      GL_DOUBLE */
-
-	/* PixelCopyType */
-	public static final int GL_COLOR = 0x1800;
-	public static final int GL_DEPTH = 0x1801;
-	public static final int GL_STENCIL = 0x1802;
-
-	/* PixelFormat */
-	public static final int GL_COLOR_INDEX = 0x1900;
-	public static final int GL_STENCIL_INDEX = 0x1901;
-	public static final int GL_DEPTH_COMPONENT = 0x1902;
-	public static final int GL_RED = 0x1903;
-	public static final int GL_GREEN = 0x1904;
-	public static final int GL_BLUE = 0x1905;
-	public static final int GL_ALPHA = 0x1906;
-	public static final int GL_RGB = 0x1907;
-	public static final int GL_RGBA = 0x1908;
-	public static final int GL_LUMINANCE = 0x1909;
-	public static final int GL_LUMINANCE_ALPHA = 0x190A;
-
-	/* PixelMap */
-	/*      GL_PIXEL_MAP_I_TO_I */
-	/*      GL_PIXEL_MAP_S_TO_S */
-	/*      GL_PIXEL_MAP_I_TO_R */
-	/*      GL_PIXEL_MAP_I_TO_G */
-	/*      GL_PIXEL_MAP_I_TO_B */
-	/*      GL_PIXEL_MAP_I_TO_A */
-	/*      GL_PIXEL_MAP_R_TO_R */
-	/*      GL_PIXEL_MAP_G_TO_G */
-	/*      GL_PIXEL_MAP_B_TO_B */
-	/*      GL_PIXEL_MAP_A_TO_A */
-
-	/* PixelStore */
-	/*      GL_UNPACK_SWAP_BYTES */
-	/*      GL_UNPACK_LSB_FIRST */
-	/*      GL_UNPACK_ROW_LENGTH */
-	/*      GL_UNPACK_SKIP_ROWS */
-	/*      GL_UNPACK_SKIP_PIXELS */
-	/*      GL_UNPACK_ALIGNMENT */
-	/*      GL_PACK_SWAP_BYTES */
-	/*      GL_PACK_LSB_FIRST */
-	/*      GL_PACK_ROW_LENGTH */
-	/*      GL_PACK_SKIP_ROWS */
-	/*      GL_PACK_SKIP_PIXELS */
-	/*      GL_PACK_ALIGNMENT */
-
-	/* PixelTransfer */
-	/*      GL_MAP_COLOR */
-	/*      GL_MAP_STENCIL */
-	/*      GL_INDEX_SHIFT */
-	/*      GL_INDEX_OFFSET */
-	/*      GL_RED_SCALE */
-	/*      GL_RED_BIAS */
-	/*      GL_GREEN_SCALE */
-	/*      GL_GREEN_BIAS */
-	/*      GL_BLUE_SCALE */
-	/*      GL_BLUE_BIAS */
-	/*      GL_ALPHA_SCALE */
-	/*      GL_ALPHA_BIAS */
-	/*      GL_DEPTH_SCALE */
-	/*      GL_DEPTH_BIAS */
-
-	/* PixelType */
-	public static final int GL_BITMAP = 0x1A00;
-	/*      GL_BYTE */
-	/*      GL_UNSIGNED_BYTE */
-	/*      GL_SHORT */
-	/*      GL_UNSIGNED_SHORT */
-	/*      GL_INT */
-	/*      GL_UNSIGNED_INT */
-	/*      GL_FLOAT */
-
-	/* PolygonMode */
-	public static final int GL_POINT = 0x1B00;
-	public static final int GL_LINE = 0x1B01;
-	public static final int GL_FILL = 0x1B02;
-
-	/* ReadBufferMode */
-	/*      GL_FRONT_LEFT */
-	/*      GL_FRONT_RIGHT */
-	/*      GL_BACK_LEFT */
-	/*      GL_BACK_RIGHT */
-	/*      GL_FRONT */
-	/*      GL_BACK */
-	/*      GL_LEFT */
-	/*      GL_RIGHT */
-	/*      GL_AUX0 */
-	/*      GL_AUX1 */
-	/*      GL_AUX2 */
-	/*      GL_AUX3 */
-
-	/* RenderingMode */
-	public static final int GL_RENDER = 0x1C00;
-	public static final int GL_FEEDBACK = 0x1C01;
-	public static final int GL_SELECT = 0x1C02;
-
-	/* ShadingModel */
-	public static final int GL_FLAT = 0x1D00;
-	public static final int GL_SMOOTH = 0x1D01;
-
-	/* StencilFunction */
-	/*      GL_NEVER */
-	/*      GL_LESS */
-	/*      GL_EQUAL */
-	/*      GL_LEQUAL */
-	/*      GL_GREATER */
-	/*      GL_NOTEQUAL */
-	/*      GL_GEQUAL */
-	/*      GL_ALWAYS */
-
-	/* StencilOp */
-	/*      GL_ZERO */
-	public static final int GL_KEEP = 0x1E00;
-	public static final int GL_REPLACE = 0x1E01;
-	public static final int GL_INCR = 0x1E02;
-	public static final int GL_DECR = 0x1E03;
-	/*      GL_INVERT */
-
-	/* StringName */
-	public static final int GL_VENDOR = 0x1F00;
-	public static final int GL_RENDERER = 0x1F01;
-	public static final int GL_VERSION = 0x1F02;
-	public static final int GL_EXTENSIONS = 0x1F03;
-
-	/* TextureCoordName */
-	public static final int GL_S = 0x2000;
-	public static final int GL_T = 0x2001;
-	public static final int GL_R = 0x2002;
-	public static final int GL_Q = 0x2003;
-
-	/* TexCoordPointerType */
-	/*      GL_SHORT */
-	/*      GL_INT */
-	/*      GL_FLOAT */
-	/*      GL_DOUBLE */
-
-	/* TextureEnvMode */
-	public static final int GL_MODULATE = 0x2100;
-	public static final int GL_DECAL = 0x2101;
-	/*      GL_BLEND */
-	/*      GL_REPLACE */
-
-	/* TextureEnvParameter */
-	public static final int GL_TEXTURE_ENV_MODE = 0x2200;
-	public static final int GL_TEXTURE_ENV_COLOR = 0x2201;
-
-	/* TextureEnvTarget */
-	public static final int GL_TEXTURE_ENV = 0x2300;
-
-	/* TextureGenMode */
-	public static final int GL_EYE_LINEAR = 0x2400;
-	public static final int GL_OBJECT_LINEAR = 0x2401;
-	public static final int GL_SPHERE_MAP = 0x2402;
-
-	/* TextureGenParameter */
-	public static final int GL_TEXTURE_GEN_MODE = 0x2500;
-	public static final int GL_OBJECT_PLANE = 0x2501;
-	public static final int GL_EYE_PLANE = 0x2502;
-
-	/* TextureMagFilter */
-	public static final int GL_NEAREST = 0x2600;
-	public static final int GL_LINEAR = 0x2601;
-
-	/* TextureMinFilter */
-	/*      GL_NEAREST */
-	/*      GL_LINEAR */
-	public static final int GL_NEAREST_MIPMAP_NEAREST = 0x2700;
-	public static final int GL_LINEAR_MIPMAP_NEAREST = 0x2701;
-	public static final int GL_NEAREST_MIPMAP_LINEAR = 0x2702;
-	public static final int GL_LINEAR_MIPMAP_LINEAR = 0x2703;
-
-	/* TextureParameterName */
-	public static final int GL_TEXTURE_MAG_FILTER = 0x2800;
-	public static final int GL_TEXTURE_MIN_FILTER = 0x2801;
-	public static final int GL_TEXTURE_WRAP_S = 0x2802;
-	public static final int GL_TEXTURE_WRAP_T = 0x2803;
-	/*      GL_TEXTURE_BORDER_COLOR */
-	/*      GL_TEXTURE_PRIORITY */
-
-	/* TextureTarget */
-	/*      GL_TEXTURE_1D */
-	/*      GL_TEXTURE_2D */
-	/*      GL_PROXY_TEXTURE_1D */
-	/*      GL_PROXY_TEXTURE_2D */
-
-	/* TextureWrapMode */
-	public static final int GL_CLAMP = 0x2900;
-	public static final int GL_REPEAT = 0x2901;
-
-	/* VertexPointerType */
-	/*      GL_SHORT */
-	/*      GL_INT */
-	/*      GL_FLOAT */
-	/*      GL_DOUBLE */
-
-	/* ClientAttribMask */
-	public static final int GL_CLIENT_PIXEL_STORE_BIT = 0x00000001;
-	public static final int GL_CLIENT_VERTEX_ARRAY_BIT = 0x00000002;
-	public static final int GL_CLIENT_ALL_ATTRIB_BITS = 0xffffffff;
-
-	/* polygon_offset */
-	public static final int GL_POLYGON_OFFSET_FACTOR = 0x8038;
-	public static final int GL_POLYGON_OFFSET_UNITS = 0x2A00;
-	public static final int GL_POLYGON_OFFSET_POINT = 0x2A01;
-	public static final int GL_POLYGON_OFFSET_LINE = 0x2A02;
-	public static final int GL_POLYGON_OFFSET_FILL = 0x8037;
-
-	/* texture */
-	public static final int GL_ALPHA4 = 0x803B;
-	public static final int GL_ALPHA8 = 0x803C;
-	public static final int GL_ALPHA12 = 0x803D;
-	public static final int GL_ALPHA16 = 0x803E;
-	public static final int GL_LUMINANCE4 = 0x803F;
-	public static final int GL_LUMINANCE8 = 0x8040;
-	public static final int GL_LUMINANCE12 = 0x8041;
-	public static final int GL_LUMINANCE16 = 0x8042;
-	public static final int GL_LUMINANCE4_ALPHA4 = 0x8043;
-	public static final int GL_LUMINANCE6_ALPHA2 = 0x8044;
-	public static final int GL_LUMINANCE8_ALPHA8 = 0x8045;
-	public static final int GL_LUMINANCE12_ALPHA4 = 0x8046;
-	public static final int GL_LUMINANCE12_ALPHA12 = 0x8047;
-	public static final int GL_LUMINANCE16_ALPHA16 = 0x8048;
-	public static final int GL_INTENSITY = 0x8049;
-	public static final int GL_INTENSITY4 = 0x804A;
-	public static final int GL_INTENSITY8 = 0x804B;
-	public static final int GL_INTENSITY12 = 0x804C;
-	public static final int GL_INTENSITY16 = 0x804D;
-	public static final int GL_R3_G3_B2 = 0x2A10;
-	public static final int GL_RGB4 = 0x804F;
-	public static final int GL_RGB5 = 0x8050;
-	public static final int GL_RGB8 = 0x8051;
-	public static final int GL_RGB10 = 0x8052;
-	public static final int GL_RGB12 = 0x8053;
-	public static final int GL_RGB16 = 0x8054;
-	public static final int GL_RGBA2 = 0x8055;
-	public static final int GL_RGBA4 = 0x8056;
-	public static final int GL_RGB5_A1 = 0x8057;
-	public static final int GL_RGBA8 = 0x8058;
-	public static final int GL_RGB10_A2 = 0x8059;
-	public static final int GL_RGBA12 = 0x805A;
-	public static final int GL_RGBA16 = 0x805B;
-	public static final int GL_TEXTURE_RED_SIZE = 0x805C;
-	public static final int GL_TEXTURE_GREEN_SIZE = 0x805D;
-	public static final int GL_TEXTURE_BLUE_SIZE = 0x805E;
-	public static final int GL_TEXTURE_ALPHA_SIZE = 0x805F;
-	public static final int GL_TEXTURE_LUMINANCE_SIZE = 0x8060;
-	public static final int GL_TEXTURE_INTENSITY_SIZE = 0x8061;
-	public static final int GL_PROXY_TEXTURE_1D = 0x8063;
-	public static final int GL_PROXY_TEXTURE_2D = 0x8064;
-
-	/* texture_object */
-	public static final int GL_TEXTURE_PRIORITY = 0x8066;
-	public static final int GL_TEXTURE_RESIDENT = 0x8067;
-	public static final int GL_TEXTURE_BINDING_1D = 0x8068;
-	public static final int GL_TEXTURE_BINDING_2D = 0x8069;
-
-	/* vertex_array */
-	public static final int GL_VERTEX_ARRAY = 0x8074;
-	public static final int GL_NORMAL_ARRAY = 0x8075;
-	public static final int GL_COLOR_ARRAY = 0x8076;
-	public static final int GL_INDEX_ARRAY = 0x8077;
-	public static final int GL_TEXTURE_COORD_ARRAY = 0x8078;
-	public static final int GL_EDGE_FLAG_ARRAY = 0x8079;
-	public static final int GL_VERTEX_ARRAY_SIZE = 0x807A;
-	public static final int GL_VERTEX_ARRAY_TYPE = 0x807B;
-	public static final int GL_VERTEX_ARRAY_STRIDE = 0x807C;
-	public static final int GL_NORMAL_ARRAY_TYPE = 0x807E;
-	public static final int GL_NORMAL_ARRAY_STRIDE = 0x807F;
-	public static final int GL_COLOR_ARRAY_SIZE = 0x8081;
-	public static final int GL_COLOR_ARRAY_TYPE = 0x8082;
-	public static final int GL_COLOR_ARRAY_STRIDE = 0x8083;
-	public static final int GL_INDEX_ARRAY_TYPE = 0x8085;
-	public static final int GL_INDEX_ARRAY_STRIDE = 0x8086;
-	public static final int GL_TEXTURE_COORD_ARRAY_SIZE = 0x8088;
-	public static final int GL_TEXTURE_COORD_ARRAY_TYPE = 0x8089;
-	public static final int GL_TEXTURE_COORD_ARRAY_STRIDE = 0x808A;
-	public static final int GL_EDGE_FLAG_ARRAY_STRIDE = 0x808C;
-	public static final int GL_VERTEX_ARRAY_POINTER = 0x808E;
-	public static final int GL_NORMAL_ARRAY_POINTER = 0x808F;
-	public static final int GL_COLOR_ARRAY_POINTER = 0x8090;
-	public static final int GL_INDEX_ARRAY_POINTER = 0x8091;
-	public static final int GL_TEXTURE_COORD_ARRAY_POINTER = 0x8092;
-	public static final int GL_EDGE_FLAG_ARRAY_POINTER = 0x8093;
-	public static final int GL_V2F = 0x2A20;
-	public static final int GL_V3F = 0x2A21;
-	public static final int GL_C4UB_V2F = 0x2A22;
-	public static final int GL_C4UB_V3F = 0x2A23;
-	public static final int GL_C3F_V3F = 0x2A24;
-	public static final int GL_N3F_V3F = 0x2A25;
-	public static final int GL_C4F_N3F_V3F = 0x2A26;
-	public static final int GL_T2F_V3F = 0x2A27;
-	public static final int GL_T4F_V4F = 0x2A28;
-	public static final int GL_T2F_C4UB_V3F = 0x2A29;
-	public static final int GL_T2F_C3F_V3F = 0x2A2A;
-	public static final int GL_T2F_N3F_V3F = 0x2A2B;
-	public static final int GL_T2F_C4F_N3F_V3F = 0x2A2C;
-	public static final int GL_T4F_C4F_N3F_V4F = 0x2A2D;
-
-	/* Extensions */
-	public static final int GL_EXT_vertex_array = 1;
-	public static final int GL_EXT_bgra = 1;
-	public static final int GL_EXT_paletted_texture = 1;
-	public static final int GL_WIN_swap_hint = 1;
-	public static final int GL_WIN_draw_range_elements = 1;
-	// public static final int GL_WIN_phong_shading              = 1;
-	// public static final int GL_WIN_specular_fog               = 1;
-
-	/* EXT_vertex_array */
-	public static final int GL_VERTEX_ARRAY_EXT = 0x8074;
-	public static final int GL_NORMAL_ARRAY_EXT = 0x8075;
-	public static final int GL_COLOR_ARRAY_EXT = 0x8076;
-	public static final int GL_INDEX_ARRAY_EXT = 0x8077;
-	public static final int GL_TEXTURE_COORD_ARRAY_EXT = 0x8078;
-	public static final int GL_EDGE_FLAG_ARRAY_EXT = 0x8079;
-	public static final int GL_VERTEX_ARRAY_SIZE_EXT = 0x807A;
-	public static final int GL_VERTEX_ARRAY_TYPE_EXT = 0x807B;
-	public static final int GL_VERTEX_ARRAY_STRIDE_EXT = 0x807C;
-	public static final int GL_VERTEX_ARRAY_COUNT_EXT = 0x807D;
-	public static final int GL_NORMAL_ARRAY_TYPE_EXT = 0x807E;
-	public static final int GL_NORMAL_ARRAY_STRIDE_EXT = 0x807F;
-	public static final int GL_NORMAL_ARRAY_COUNT_EXT = 0x8080;
-	public static final int GL_COLOR_ARRAY_SIZE_EXT = 0x8081;
-	public static final int GL_COLOR_ARRAY_TYPE_EXT = 0x8082;
-	public static final int GL_COLOR_ARRAY_STRIDE_EXT = 0x8083;
-	public static final int GL_COLOR_ARRAY_COUNT_EXT = 0x8084;
-	public static final int GL_INDEX_ARRAY_TYPE_EXT = 0x8085;
-	public static final int GL_INDEX_ARRAY_STRIDE_EXT = 0x8086;
-	public static final int GL_INDEX_ARRAY_COUNT_EXT = 0x8087;
-	public static final int GL_TEXTURE_COORD_ARRAY_SIZE_EXT = 0x8088;
-	public static final int GL_TEXTURE_COORD_ARRAY_TYPE_EXT = 0x8089;
-	public static final int GL_TEXTURE_COORD_ARRAY_STRIDE_EXT = 0x808A;
-	public static final int GL_TEXTURE_COORD_ARRAY_COUNT_EXT = 0x808B;
-	public static final int GL_EDGE_FLAG_ARRAY_STRIDE_EXT = 0x808C;
-	public static final int GL_EDGE_FLAG_ARRAY_COUNT_EXT = 0x808D;
-	public static final int GL_VERTEX_ARRAY_POINTER_EXT = 0x808E;
-	public static final int GL_NORMAL_ARRAY_POINTER_EXT = 0x808F;
-	public static final int GL_COLOR_ARRAY_POINTER_EXT = 0x8090;
-	public static final int GL_INDEX_ARRAY_POINTER_EXT = 0x8091;
-	public static final int GL_TEXTURE_COORD_ARRAY_POINTER_EXT = 0x8092;
-	public static final int GL_EDGE_FLAG_ARRAY_POINTER_EXT = 0x8093;
-	public static final int GL_DOUBLE_EXT = GL_DOUBLE;
-
-	/* EXT_bgra */
-	public static final int GL_BGR_EXT = 0x80E0;
-	public static final int GL_BGRA_EXT = 0x80E1;
-
-	/* EXT_paletted_texture */
-
-	/* These must match the GL_COLOR_TABLE_*_SGI enumerants */
-	public static final int GL_COLOR_TABLE_FORMAT_EXT = 0x80D8;
-	public static final int GL_COLOR_TABLE_WIDTH_EXT = 0x80D9;
-	public static final int GL_COLOR_TABLE_RED_SIZE_EXT = 0x80DA;
-	public static final int GL_COLOR_TABLE_GREEN_SIZE_EXT = 0x80DB;
-	public static final int GL_COLOR_TABLE_BLUE_SIZE_EXT = 0x80DC;
-	public static final int GL_COLOR_TABLE_ALPHA_SIZE_EXT = 0x80DD;
-	public static final int GL_COLOR_TABLE_LUMINANCE_SIZE_EXT = 0x80DE;
-	public static final int GL_COLOR_TABLE_INTENSITY_SIZE_EXT = 0x80DF;
-
-	public static final int GL_COLOR_INDEX1_EXT = 0x80E2;
-	public static final int GL_COLOR_INDEX2_EXT = 0x80E3;
-	public static final int GL_COLOR_INDEX4_EXT = 0x80E4;
-	public static final int GL_COLOR_INDEX8_EXT = 0x80E5;
-	public static final int GL_COLOR_INDEX12_EXT = 0x80E6;
-	public static final int GL_COLOR_INDEX16_EXT = 0x80E7;
-
-	/* WIN_draw_range_elements */
-	public static final int GL_MAX_ELEMENTS_VERTICES_WIN = 0x80E8;
-	public static final int GL_MAX_ELEMENTS_INDICES_WIN = 0x80E9;
-
-	/* WIN_phong_shading */
-	public static final int GL_PHONG_WIN = 0x80EA;
-	public static final int GL_PHONG_HINT_WIN = 0x80EB;
-
-	/* WIN_specular_fog */
-	public static final int GL_FOG_SPECULAR_TEXTURE_WIN = 0x80EC;
-
-	/* For compatibility with OpenGL v1.0 */
-	public static final int GL_LOGIC_OP = GL_INDEX_LOGIC_OP;
-	public static final int GL_TEXTURE_COMPONENTS = GL_TEXTURE_INTERNAL_FORMAT;
-
-	public static final native void glAccum (int op, float value);
-	public static final native void glAlphaFunc (int func, float ref);
-	public static final native boolean glAreTexturesResident (int n, int[] textures, boolean[] residences);
-	public static final native void glArrayElement (int index);
-	public static final native void glBegin (int mode);
-	public static final native void glEnd ();
-	public static final native void glBindTexture (int target, int texture);
-	public static final native void glBitmap (int width, int height, float xorig, float yorig, float xmove, float ymove, byte[] bitmap);
-	public static final native void glBlendFunc (int sfactor, int dfactor);
-	public static final native void glCallList (int list);
-	public static final native void glCallLists (int n, int type, byte[] lists);
-	public static final native void glCallLists (int n, int type, char[] lists);
-	public static final native void glCallLists (int n, int type, int[] lists);
-	public static final native void glClear (int mask);
-	public static final native void glClearAccum (float red, float green, float blue, float alpha);
-	public static final native void glClearColor (float red, float green, float blue, float alpha);
-	public static final native void glClearDepth (double depth);
-	public static final native void glClearIndex (float c);
-	public static final native void glClearStencil (int s);
-	public static final native void glClipPlane (int plane, double[] equation);
-	public static final native void glColor3b (byte red, byte green, byte blue);
-	public static final native void glColor3d (double red, double green, double blue);
-	public static final native void glColor3f (float red, float green, float blue);
-	public static final native void glColor3i (int red, int green, int blue);
-	public static final native void glColor3s (short red, short green, short blue);
-	public static final native void glColor3ub (byte red, byte green, byte blue);
-	public static final native void glColor3ui (int red, int green, int blue);
-	public static final native void glColor3us (short red, short green, short blue);
-	public static final native void glColor4b (byte red, byte green, byte blue, byte alpha);
-	public static final native void glColor4d (double red, double green, double blue, double alpha);
-	public static final native void glColor4f (float red, float green, float blue, float alpha);
-	public static final native void glColor4i (int red, int green, int blue, int alpha);
-	public static final native void glColor4s (short red, short green, short blue, short alpha);
-	public static final native void glColor4ub (byte red, byte green, byte blue, byte alpha);
-	public static final native void glColor4ui (int red, int green, int blue, int alpha);
-	public static final native void glColor4us (short red, short green, short blue, short alpha);
-	public static final native void glColor3bv (byte[] v);
-	public static final native void glColor3dv (double[] v);
-	public static final native void glColor3fv (float[] v);
-	public static final native void glColor3iv (int[] v);
-	public static final native void glColor3sv (short[] v);
-	public static final native void glColor3ubv (byte[] v);
-	public static final native void glColor3uiv (int[] v);
-	public static final native void glColor3usv (short[] v);
-	public static final native void glColor4bv (byte[] v);
-	public static final native void glColor4dv (double[] v);
-	public static final native void glColor4fv (float[] v);
-	public static final native void glColor4iv (int[] v);
-	public static final native void glColor4ubv (byte[] v);
-	public static final native void glColor4uiv (int[] v);
-	public static final native void glColor4usv (short[] v);
-	public static final native void glColorMask (boolean red, boolean green, boolean blue, boolean alpha);
-	public static final native void glColorMaterial (int face, int mode);
-	public static final native void glColorPointer (int size, int type, int stride, int[] pointer);
-	//public static final native void glColorTableEXT (int target, int internalFormat, int width, int format, int type, int[] data);
-	//public static final native void glColorSubTableEXT (int target, int start, int count, int format, int type, int[] data);
-	public static final native void glCopyPixels (int x, int y, int width, int height, int type);
-	public static final native void glCopyTexImage1D (int target, int level, int internalFormat, int x, int y, int width, int border);
-	public static final native void glCopyTexImage2D (int target, int level, int internalFormat, int x, int y, int width, int height, int border);
-	public static final native void glCopyTexSubImage1D (int target, int level, int xoffset, int x, int y, int width); 
-	public static final native void glCopyTexSubImage2D (int target, int level, int xoffset, int yoffset, int x, int y, int width, int height);
-	public static final native void glCullFace (int mode);
-	public static final native void glDeleteLists (int list, int range);
-	public static final native void glDeleteTextures (int n, int[] textures);
-	public static final native void glDepthFunc (int func);
-	public static final native void glDepthMask (boolean flag);
-	public static final native void glDepthRange (double znear, double zfar);
-	public static final native void glDrawArrays (int mode, int first, int count);
-	public static final native void glDrawBuffer (int mode);
-	public static final native void glDrawElements (int mode, int count, int type, int[] indices); /* MULTIPLES TYPES */
-	public static final native void glDrawPixels (int width, int height, int format, int type, int[] pixels); /* MULTIPLES TYPES */
-	public static final native void glEdgeFlag (boolean flag);
-	public static final native void glEdgeFlagv (boolean[] flag);
-	public static final native void glEdgeFlagPointer (int stride, boolean[] pointer);
-	public static final native void glEnable (int cap);
-	public static final native void glDisable (int cap);
-	public static final native void glEnableClientState (int array);
-	public static final native void glDisableClientState (int array);
-	public static final native void glEvalCoord1d (double u);
-	public static final native void glEvalCoord1f (float u);
-	public static final native void glEvalCoord2d (double u, double v);
-	public static final native void glEvalCoord2f (float u, float v);
-	public static final native void glEvalCoord1dv (double[] u);
-	public static final native void glEvalCoord1fv (float[] u);
-	public static final native void glEvalCoord2dv (double[] u);
-	public static final native void glEvalCoord2fv (float[] u);
-	public static final native void glEvalMesh1 (int mode, int i1, int i2);
-	public static final native void glEvalMesh2 (int mode, int i1, int i2, int j1, int j2);
-	public static final native void glEvalPoint1 (int i);
-	public static final native void glEvalPoint2 (int i, int j);
-	public static final native void glFeedbackBuffer (int size, int type, float[] buffer);
-	public static final native void glFinish ();
-	public static final native void glFlush ();
-	public static final native void glFogf (int pname, float param);
-	public static final native void glFogi (int pname, int param);
-	public static final native void glFogfv (int pname, float[] params);
-	public static final native void glFogiv (int pname, int[] params);
-	public static final native void glFrontFace (int mode);
-	public static final native void glFrustum (double left, double right, double bottom, double top, double znear, double zfar);
-	public static final native int glGenLists (int range);
-	public static final native void glGenTextures (int n, int[] textures);
-	public static final native void glGetBooleanv (int pname, boolean[] params);
-	public static final native void glGetDoublev (int pname, double[] params);
-	public static final native void glGetFloatv (int pname, float[] params);
-	public static final native void glGetIntegerv (int pname, int[] params);
-	public static final native void glGetClipPlane (int plane, double[] equation);
-	//public static final native void glGetColorTableEXT (int target, int format, int type, int[] data);
-	//public static final native void glGetColorTableParameterfvEXT (int target, int pname, float[] params);
-	//public static final native void glGetColorTableParameterivEXT (int target, int pname, int[] params);
-	public static final native int glGetError ();
-	public static final native void glGetLightfv (int light, int pname, float[] params);
-	public static final native void glGetLightiv (int light, int pname, int[] params);
-	public static final native void glGetMapdv (int tagert, int query, double[] v);
-	public static final native void glGetMapfv (int tagert, int query, float[] v);
-	public static final native void glGetMapiv (int tagert, int query, int[] v);
-	public static final native void glGetMaterialfv (int face, int pname, float[] params);
-	public static final native void glGetMaterialiv (int face, int pname, int[] params);
-	public static final native void glGetPixelMapfv (int map, float[] values);
-	public static final native void glGetPixelMapuiv (int map, int[] values);
-	public static final native void glGetPixelMapusv (int map, short[] values);
-	public static final native void glGetPointerv (int pname, int[] params);
-	/* TEST */
-	public static final native void glGetPolygonStipple (byte[] mask);
-	public static final native int glGetString (int name);
-	/* SHOULD RETURN A STRING */
-	public static final native void glGetTexEnvfv (int target, int pname, float[] params);
-	public static final native void glGetTexEnviv (int target, int pname, int[] params);
-	public static final native void glGetTexGendv (int coord, int pname, double[] params);
-	public static final native void glGetTexGenfv (int coord, int pname, float[] params);
-	public static final native void glGetTexGeniv (int coord, int pname, int[] params);
-	public static final native void glGetTexImage (int target, int level, int format, int type, int[] pixels); /* MULTIPLES TYPES ARRAY */
-	public static final native void glGetTexLevelParameterfv (int target, int level, int pname, float[] params);
-	public static final native void glGetTexLevelParameteriv (int target, int level, int pname, int[] params);
-	public static final native void glGetTexParameterfv (int target, int pname, float[] params);
-	public static final native void glGetTexParameteriv (int target, int pname, int[] params);
-	public static final native void glHint (int target, int mode);
-	public static final native void glIndexd (double c);
-	public static final native void glIndexf (float c);
-	public static final native void glIndexi (int c);
-	public static final native void glIndexs (short c);
-	public static final native void glIndexdv (double[] c);
-	public static final native void glIndexfv (float[] c);
-	public static final native void glIndexiv (int[] c);
-	public static final native void glIndexsv (short[] c);
-	public static final native void glIndexMask (int mask);
-	public static final native void glIndexPointer (int type, int stride, int[] pointer);
-	/* MULTIPLES TYPES */
-	public static final native void glInitNames ();
-	public static final native void glInterleavedArrays (int format, int stride, int[] pointer);
-	/* CHECK */
-	public static final native boolean glIsEnabled (int cap);
-	public static final native boolean glIsList (int list);
-	public static final native boolean glIsTexture (int texture);
-	public static final native void glLightf (int light, int pname, float param);
-	public static final native void glLighti (int light, int pname, int param);
-	public static final native void glLightfv (int light, int pname, float[] param);
-	//public static final native void glLightfv (int light, int pname, int param);
-	public static final native void glLightiv (int light, int pname, int[] param);
-	public static final native void glLightModelf (int pname, float param);
-	public static final native void glLightModeli (int pname, int param);
-	public static final native void glLightModelfv (int pname, float[] param);
-	public static final native void glLightModeliv (int pname, int[] param);
-	public static final native void glLineStipple (int factor, short pattern);
-	public static final native void glLineWidth (float width);
-	public static final native void glListBase (int base);
-	public static final native void glLoadIdentity ();
-	public static final native void glLoadMatrixd (double[] m);
-	public static final native void glLoadMatrixf (float[] m);
-	public static final native void glLoadName (int name);
-	public static final native void glLogicOp (int opcode);
-	public static final native void glMap1d (int target, double u1, double u2, int stride, int order, double[] points);
-	public static final native void glMap1f (int target, float u1, float u2, int stride, int order, float[] points);
-	public static final native void glMap2d (int target, double u1, double u2, int ustride, int uorder, double v1, double v2, int vstride, int vorder, double[] points);
-	public static final native void glMap2f (int target, float u1, float u2, int ustride, int uorder, float v1, float v2, int vstride, int vorder, float[] points);
-	public static final native void glMapGrid1d (int un, double u1, double u2);
-	public static final native void glMapGrid1f (int un, float u1, float u2);
-	public static final native void glMapGrid2d (int un, double u1, double u2, int vm, double v1, double v2);
-	public static final native void glMapGrid2f (int un, float u1, float u2, int vm, float v1, float v2);
-	public static final native void glMaterialf (int face, int pname, float param);
-	public static final native void glMateriali (int face, int pname, int param);
-	public static final native void glMaterialfv (int face, int pname, float[] param);
-	public static final native void glMaterialiv (int face, int pname, int[] param);
-	public static final native void glMatrixMode (int mode);
-	public static final native void glMultMatrixd (double[] m);
-	public static final native void glMultMatrixf (float[] m);
-	public static final native void glNewList (int list, int mode);
-	public static final native void glEndList ();
-	public static final native void glNormal3b (byte nx, byte ny, byte nz);
-	public static final native void glNormal3d (double nx, double ny, double nz);
-	public static final native void glNormal3f (float nx, float ny, float nz);
-	public static final native void glNormal3i (int nx, int ny, int nz);
-	public static final native void glNormal3s (short nx, short ny, short nz);
-	public static final native void glNormal3bv (byte[] v);
-	public static final native void glNormal3dv (double[] v);
-	public static final native void glNormal3fv (float[] v);
-	public static final native void glNormal3iv (int[] v);
-	public static final native void glNormal3sv (short[] v);
-	public static final native void glNormalPointer (int type, int stride, int[] pointer); /* MULTIPLES TYPES ARRAY */
-	public static final native void glOrtho (double left, double right, double bottom, double top, double znear, double zfar);
-	public static final native void glPassThrough (float token);
-	public static final native void glPixelMapfv (int map, int mapsize, float[] values);
-	public static final native void glPixelMapuiv (int map, int mapsize, int[] values);
-	public static final native void glPixelMapusv (int map, int mapsize, short[] values);
-	public static final native void glPixelStoref (int pname, float param);
-	public static final native void glPixelStorei (int pname, int param);
-	public static final native void glPixelTransferf (int pname, float param);
-	public static final native void glPixelTransferi (int pname, int param);
-	public static final native void glPixelZoom (float xfactor, float yfactor);
-	public static final native void glPointSize (float size);
-	public static final native void glPolygonMode (int face, int mode);
-	public static final native void glPolygonOffset (float factor, float units);
-	public static final native void glPolygonStipple (byte[] mask);
-	public static final native void glPrioritizeTextures (int n, int[] textures, float[] priorities);
-	public static final native void glPushAttrib (int mask);
-	public static final native void glPopAttrib ();
-	public static final native void glPushClientAttrib (int mask);
-	public static final native void glPopClientAttrib ();
-	public static final native void glPushMatrix ();
-	public static final native void glPopMatrix ();
-	public static final native void glPushName (int name);
-	public static final native void glPopName ();
-	public static final native void glRasterPos2d (double x, double y);
-	public static final native void glRasterPos2f (float x, float y);
-	public static final native void glRasterPos2i (int x, int y);
-	public static final native void glRasterPos2s (short x, short y);
-	public static final native void glRasterPos3d (double x, double y, double z);
-	public static final native void glRasterPos3f (float x, float y, float z);
-	public static final native void glRasterPos3i (int x, int y, int z);
-	public static final native void glRasterPos3s (short x, short y, short z);
-	public static final native void glRasterPos4d (double x, double y, double z, double w);
-	public static final native void glRasterPos4f (float x, float y, float z, float w);
-	public static final native void glRasterPos4i (int x, int y, int z, int w);
-	public static final native void glRasterPos4s (short x, short y, short z, short w);
-	public static final native void glRasterPos2dv (double[] v);
-	public static final native void glRasterPos2fv (float[] v);
-	public static final native void glRasterPos2iv (int[] v);
-	public static final native void glRasterPos2sv (short[] v);
-	public static final native void glRasterPos3dv (double[] v);
-	public static final native void glRasterPos3fv (float[] v);
-	public static final native void glRasterPos3iv (int[] v);
-	public static final native void glRasterPos3sv (short[] v);
-	public static final native void glRasterPos4dv (double[] v);
-	public static final native void glRasterPos4fv (float[] v);
-	public static final native void glRasterPos4iv (int[] v);
-	public static final native void glRasterPos4sv (short[] v);
-	public static final native void glReadBuffer (int mode);
-	public static final native void glReadPixels (int x, int y, int width, int height, int format, int type, int[] pixels); /* MULTIPLES TYPES ARRAY */
-	public static final native void glRectd (double x1, double y1, double x2, double y2);
-	public static final native void glRectf (float x1, float y1, float x2, float y2);
-	public static final native void glRecti (int x1, int y1, int x2, int y2);
-	public static final native void glRects (short x1, short y1, short x2, short y2);
-	public static final native void glRectdv (double[] v1, double[] v2);
-	public static final native void glRectfv (float[] v1, float[] v2);
-	public static final native void glRectiv (int[] v1, int[] v2);
-	public static final native void glRectsv (short[] v, short[] v2);
-	public static final native int glRenderMode (int mode);
-	public static final native void glRotated (double angle, double x, double y, double z);
-	public static final native void glRotatef (float angle, float x, float y, float z);
-	public static final native void glScaled (double x, double y, double z);
-	public static final native void glScalef (float x, float y, float z);
-	public static final native void glScissor (int x, int y, int width, int height);
-	//public static final native void glSelectBuffer (int size, int[] buffer);
-	public static final native void glSelectBuffer (int size, int buffer);
-	public static final native void glShadeModel (int mode);
-	public static final native void glStencilFunc (int func, int ref, int mask);
-	public static final native void glStencilMask (int mask);
-	public static final native void glStencilOp (int fail, int zfail, int zpass);
-	public static final native void glTexCoord1d (double s);
-	public static final native void glTexCoord1f (float s);
-	public static final native void glTexCoord1i (int s);
-	public static final native void glTexCoord1s (short s);
-	public static final native void glTexCoord2d (double s, double t);
-	public static final native void glTexCoord2f (float s, float t);
-	public static final native void glTexCoord2i (int s, int t);
-	public static final native void glTexCoord2s (short s, short t);
-	public static final native void glTexCoord3d (double s, double t, double r);
-	public static final native void glTexCoord3f (float s, float t, float r);
-	public static final native void glTexCoord3i (int s, int t, int r);
-	public static final native void glTexCoord3s (short s, short t, short r);
-	public static final native void glTexCoord4d (double s, double t, double r, double q);
-	public static final native void glTexCoord4f (float s, float t, float r, float q);
-	public static final native void glTexCoord4i (int s, int t, int r, int q);
-	public static final native void glTexCoord4s (short s, short t, short r, short q);
-	public static final native void glTexCoord1dv (double[] v);
-	public static final native void glTexCoord1fv (float[] v);
-	public static final native void glTexCoord1iv (int[] v);
-	public static final native void glTexCoord1sv (short[] v);
-	public static final native void glTexCoord2dv (double[] v);
-	public static final native void glTexCoord2fv (float[] v);
-	public static final native void glTexCoord2iv (int[] v);
-	public static final native void glTexCoord2sv (short[] v);
-	public static final native void glTexCoord3dv (double[] v);
-	public static final native void glTexCoord3fv (float[] v);
-	public static final native void glTexCoord3iv (int[] v);
-	public static final native void glTexCoord3sv (short[] v);
-	public static final native void glTexCoord4dv (double[] v);
-	public static final native void glTexCoord4fv (float[] v);
-	public static final native void glTexCoord4iv (int[] v);
-	public static final native void glTexCoord4sv (short[] v);
-	public static final native void glTexCoordPointer (int size, int type, int stride, int[] pointer); /*MULTIPLES ARRAYS - CHECK MSDK, COUNT PARAM MISSING */
-	public static final native void glTexEnvf (int target, int pname, float param);
-	public static final native void glTexEnvi (int target, int pname, int param);
-	public static final native void glTexEnvfv (int target, int pname, float[] params);
-	public static final native void glTexEnviv (int target, int pname, int[] params);
-	public static final native void glTexGend (int coord, int pname, double param);
-	public static final native void glTexGenf (int coord, int pname, float param);
-	public static final native void glTexGeni (int coord, int pname, int param);
-	public static final native void glTexGendv (int coord, int pname, double[] params);
-	public static final native void glTexGenfv (int coord, int pname, float[] params);
-	public static final native void glTexGeniv (int coord, int pname, int[] params);
-	public static final native void glTexImage1D (int target, int level, int internalFormat, int width, int border, int format, int type, int[] pixels); /* MULTIPLES ARRAYS */
-	public static final native void glTexImage2D (int target, int level, int internalFormat, int width, int height, int border, int format, int type, byte[] pixels); /* MULTIPLES ARRAYS */
-	public static final native void glTexParameterf (int target, int pname, float param);
-	public static final native void glTexParameteri (int target, int pname, int param);
-	public static final native void glTexParameterfv (int target, int pname, float[] params);
-	public static final native void glTexParameteriv (int target, int pname, int[] params);
-	public static final native void glTexSubImage1D (int target, int level, int xoffset, int width, int format, int type, int[] pixels); /* MULTIPLES ARRAYS */
-	public static final native void glTexSubImage2D (int target, int level, int xoffset, int yoffset, int width, int height, int format, int type, int[] pixels); /* MULTIPLES ARRAYS */
-	public static final native void glTranslated (double x, double y, double z);
-	public static final native void glTranslatef (float x, float y, float z);
-	public static final native void glVertex2d (double x, double y);
-	public static final native void glVertex2f (float x, float y);
-	public static final native void glVertex2i (int x, int y);
-	public static final native void glVertex2s (short x, short y);
-	public static final native void glVertex3d (double x, double y, double z);
-	public static final native void glVertex3f (float x, float y, float z);
-	public static final native void glVertex3i (int x, int y, int z);
-	public static final native void glVertex3s (short x, short y, short z);
-	public static final native void glVertex4d (double x, double y, double z, double w);
-	public static final native void glVertex4f (float x, float y, float z, float w);
-	public static final native void glVertex4i (int x, int y, int z, int w);
-	public static final native void glVertex4s (short x, short y, short z, short w);
-	public static final native void glVertex2dv (double[] v);
-	public static final native void glVertex2fv (float[] v);
-	public static final native void glVertex2iv (int[] v);
-	public static final native void glVertex2sv (short[] v);
-	public static final native void glVertex3dv (double[] v);
-	public static final native void glVertex3fv (float[] v);
-	public static final native void glVertex3iv (int[] v);
-	public static final native void glVertex3sv (short[] v);
-	public static final native void glVertex4dv (double[] v);
-	public static final native void glVertex4fv (float[] v);
-	public static final native void glVertex4iv (int[] v);
-	public static final native void glVertex4sv (short[] v);
-	public static final native void glVertexPointer (int size, int type, int stride, int[] pointer); /* MULTIPLES ARRAYS */
-	public static final native void glViewport (int x, int y, int width, int height);
-}
diff --git a/bundles/org.eclipse.swt.opengl/common/org/eclipse/opengl/GLU.java b/bundles/org.eclipse.swt.opengl/common/org/eclipse/opengl/GLU.java
deleted file mode 100755
index 4c1e333..0000000
--- a/bundles/org.eclipse.swt.opengl/common/org/eclipse/opengl/GLU.java
+++ /dev/null
@@ -1,245 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.opengl;
-
-
-public class GLU {
-
-	/* Version */
-	public static final int GLU_VERSION_1_1 = 1;
-	public static final int GLU_VERSION_1_2 = 1;
-	
-	/* Errors: (return value 0 = no error) */
-	public static final int GLU_INVALID_ENUM = 100900;
-	public static final int GLU_INVALID_VALUE = 100901;
-	public static final int GLU_OUT_OF_MEMORY = 100902;
-	public static final int GLU_INCOMPATIBLE_GL_VERSION = 100903;
-	
-	/* StringName */
-	public static final int GLU_VERSION = 100800;
-	public static final int GLU_EXTENSIONS = 100801;
-	
-	
-	/****           Quadric constants               ****/
-	
-	/* QuadricNormal */
-	public static final int GLU_SMOOTH = 100000;
-	public static final int GLU_FLAT = 100001;
-	public static final int GLU_NONE = 100002;
-	
-	/* QuadricDrawStyle */
-	public static final int GLU_POINT = 100010;
-	public static final int GLU_LINE = 100011;
-	public static final int GLU_FILL = 100012;
-	public static final int GLU_SILHOUETTE = 100013;
-	
-	/* QuadricOrientation */
-	public static final int GLU_OUTSIDE = 100020;
-	public static final int GLU_INSIDE = 100021;
-	
-	/* Callback types: */
-	/*      GLU_ERROR               100103 */
-	
-	
-	/****           Tesselation constants           ****/
-	
-	public static final double GLU_TESS_MAX_COORD = 1.0e150;
-	
-	/* TessProperty */
-	public static final int GLU_TESS_WINDING_RULE = 100140;
-	public static final int GLU_TESS_BOUNDARY_ONLY = 100141;
-	public static final int GLU_TESS_TOLERANCE = 100142;
-	
-	/* TessWinding */
-	public static final int GLU_TESS_WINDING_ODD = 100130;
-	public static final int GLU_TESS_WINDING_NONZERO = 100131;
-	public static final int GLU_TESS_WINDING_POSITIVE = 100132;
-	public static final int GLU_TESS_WINDING_NEGATIVE = 100133;
-	public static final int GLU_TESS_WINDING_ABS_GEQ_TWO = 100134;
-	
-	/* TessCallback */
-	public static final int GLU_TESS_BEGIN = 100100;  /* void (CALLBACK*)(GLenum    type)  */
-	public static final int GLU_TESS_VERTEX = 100101;  /* void (CALLBACK*)(void      *data) */
-	public static final int GLU_TESS_END = 100102;  /* void (CALLBACK*)(void)            */
-	public static final int GLU_TESS_ERROR = 100103;  /* void (CALLBACK*)(GLenum    errno) */
-	public static final int GLU_TESS_EDGE_FLAG = 100104;  /* void (CALLBACK*)(GLboolean boundaryEdge)  */
-	public static final int GLU_TESS_COMBINE = 100105;  /* void (CALLBACK*)(GLdouble  coords[3],
-	                                                            void      *data[4],
-	                                                            GLfloat   weight[4],
-	                                                            void      **dataOut)     */
-	public static final int GLU_TESS_BEGIN_DATA = 100106;  /* void (CALLBACK*)(GLenum    type,  
-	                                                            void      *polygon_data) */
-	public static final int GLU_TESS_VERTEX_DATA = 100107;  /* void (CALLBACK*)(void      *data, 
-	                                                            void      *polygon_data) */
-	public static final int GLU_TESS_END_DATA = 100108;  /* void (CALLBACK*)(void      *polygon_data) */
-	public static final int GLU_TESS_ERROR_DATA = 100109;  /* void (CALLBACK*)(GLenum    errno, 
-	                                                            void      *polygon_data) */
-	public static final int GLU_TESS_EDGE_FLAG_DATA = 100110;  /* void (CALLBACK*)(GLboolean boundaryEdge,
-	                                                            void      *polygon_data) */
-	public static final int GLU_TESS_COMBINE_DATA = 100111;  /* void (CALLBACK*)(GLdouble  coords[3],
-	                                                            void      *data[4],
-	                                                            GLfloat   weight[4],
-	                                                            void      **dataOut,
-	                                                            void      *polygon_data) */
-	
-	/* TessError */
-	public static final int GLU_TESS_ERROR1 = 100151;
-	public static final int GLU_TESS_ERROR2 = 100152;
-	public static final int GLU_TESS_ERROR3 = 100153;
-	public static final int GLU_TESS_ERROR4 = 100154;
-	public static final int GLU_TESS_ERROR5 = 100155;
-	public static final int GLU_TESS_ERROR6 = 100156;
-	public static final int GLU_TESS_ERROR7 = 100157;
-	public static final int GLU_TESS_ERROR8 = 100158;
-	
-	public static final int GLU_TESS_MISSING_BEGIN_POLYGON = GLU_TESS_ERROR1;
-	public static final int GLU_TESS_MISSING_BEGIN_CONTOUR = GLU_TESS_ERROR2;
-	public static final int GLU_TESS_MISSING_END_POLYGON = GLU_TESS_ERROR3;
-	public static final int GLU_TESS_MISSING_END_CONTOUR = GLU_TESS_ERROR4;
-	public static final int GLU_TESS_COORD_TOO_LARGE = GLU_TESS_ERROR5;
-	public static final int GLU_TESS_NEED_COMBINE_CALLBACK = GLU_TESS_ERROR6;
-	
-	/****           NURBS constants                 ****/
-	
-	/* NurbsProperty */
-	public static final int GLU_AUTO_LOAD_MATRIX = 100200;
-	public static final int GLU_CULLING = 100201;
-	public static final int GLU_SAMPLING_TOLERANCE = 100203;
-	public static final int GLU_DISPLAY_MODE = 100204;
-	public static final int GLU_PARAMETRIC_TOLERANCE = 100202;
-	public static final int GLU_SAMPLING_METHOD = 100205;
-	public static final int GLU_U_STEP = 100206;
-	public static final int GLU_V_STEP = 100207;
-	
-	/* NurbsSampling */
-	public static final int GLU_PATH_LENGTH = 100215;
-	public static final int GLU_PARAMETRIC_ERROR = 100216;
-	public static final int GLU_DOMAIN_DISTANCE = 100217;
-	
-	
-	/* NurbsTrim */
-	public static final int GLU_MAP1_TRIM_2 = 100210;
-	public static final int GLU_MAP1_TRIM_3 = 100211;
-	
-	/* NurbsDisplay */
-	/*      GLU_FILL                100012 */
-	public static final int GLU_OUTLINE_POLYGON = 100240;
-	public static final int GLU_OUTLINE_PATCH = 100241;
-	
-	/* NurbsCallback */
-	/*      GLU_ERROR               100103 */
-	
-	/* NurbsErrors */
-	public static final int GLU_NURBS_ERROR1 = 100251;
-	public static final int GLU_NURBS_ERROR2 = 100252;
-	public static final int GLU_NURBS_ERROR3 = 100253;
-	public static final int GLU_NURBS_ERROR4 = 100254;
-	public static final int GLU_NURBS_ERROR5 = 100255;
-	public static final int GLU_NURBS_ERROR6 = 100256;
-	public static final int GLU_NURBS_ERROR7 = 100257;
-	public static final int GLU_NURBS_ERROR8 = 100258;
-	public static final int GLU_NURBS_ERROR9 = 100259;
-	public static final int GLU_NURBS_ERROR10 = 100260;
-	public static final int GLU_NURBS_ERROR11 = 100261;
-	public static final int GLU_NURBS_ERROR12 = 100262;
-	public static final int GLU_NURBS_ERROR13 = 100263;
-	public static final int GLU_NURBS_ERROR14 = 100264;
-	public static final int GLU_NURBS_ERROR15 = 100265;
-	public static final int GLU_NURBS_ERROR16 = 100266;
-	public static final int GLU_NURBS_ERROR17 = 100267;
-	public static final int GLU_NURBS_ERROR18 = 100268;
-	public static final int GLU_NURBS_ERROR19 = 100269;
-	public static final int GLU_NURBS_ERROR20 = 100270;
-	public static final int GLU_NURBS_ERROR21 = 100271;
-	public static final int GLU_NURBS_ERROR22 = 100272;
-	public static final int GLU_NURBS_ERROR23 = 100273;
-	public static final int GLU_NURBS_ERROR24 = 100274;
-	public static final int GLU_NURBS_ERROR25 = 100275;
-	public static final int GLU_NURBS_ERROR26 = 100276;
-	public static final int GLU_NURBS_ERROR27 = 100277;
-	public static final int GLU_NURBS_ERROR28 = 100278;
-	public static final int GLU_NURBS_ERROR29 = 100279;
-	public static final int GLU_NURBS_ERROR30 = 100280;
-	public static final int GLU_NURBS_ERROR31 = 100281;
-	public static final int GLU_NURBS_ERROR32 = 100282;
-	public static final int GLU_NURBS_ERROR33 = 100283;
-	public static final int GLU_NURBS_ERROR34 = 100284;
-	public static final int GLU_NURBS_ERROR35 = 100285;
-	public static final int GLU_NURBS_ERROR36 = 100286;
-	public static final int GLU_NURBS_ERROR37 = 100287;
-	
-	/* Contours types -- obsolete! */
-	public static final int GLU_CW = 100120;
-	public static final int GLU_CCW = 100121;
-	public static final int GLU_INTERIOR = 100122;
-	public static final int GLU_EXTERIOR = 100123;
-	public static final int GLU_UNKNOWN = 100124;
-	
-	/* Names without "TESS_" prefix */
-	public static final int GLU_BEGIN = GLU_TESS_BEGIN;
-	public static final int GLU_VERTEX = GLU_TESS_VERTEX;
-	public static final int GLU_END = GLU_TESS_END;
-	public static final int GLU_ERROR = GLU_TESS_ERROR;
-	public static final int GLU_EDGE_FLAG = GLU_TESS_EDGE_FLAG;
-	
-	
-	public static final native void gluBeginCurve (int nobj);
-	public static final native void gluEndCurve (int nobj);
-	public static final native void gluBeginPolygon (int tess);
-	public static final native void gluEndPolygon (int tess);
-	public static final native void gluBeginSurface (int nobj);
-	public static final native void gluEndSurface (int nobj);
-	public static final native void gluBeginTrim (int nobj);
-	public static final native void gluEndTrim (int nobj);
-	public static final native int gluBuild1DMipmaps (int target, int componenets, int width, int format, int type, int data); /* MULTIPLES TYPES ARRAY */
-	public static final native int gluBuild2DMipmaps (int target, int componenets, int width, int height, int format, int type, byte[] data); /* MULTIPLES TYPES ARRAY */
-	public static final native void gluCylinder (int qobj, double baseRadius, double topRadius, double height, int slices, int stacks);
-	public static final native void gluDeleteNurbsRenderer (int nobj);
-	public static final native void gluDeleteQuadric (int qobj);
-	public static final native void gluDeleteTess (int tess);
-	public static final native void gluDisk (int qobj, double innerRadius, double outerRadius, int slices, int loops);
-	public static final native int gluErrorString (int errCode);  /* SHOULD RETURN A STRING */
-	public static final native void gluGetNurbsProperty (int nobj, int property, float[] value);
-	public static final native int gluGetString (int name); /* SHOULD RETURN A STRING */
-	public static final native void gluGetTessProperty (int tess, int which, double[] value);
-	public static final native void gluLoadSamplingMatrices (int nobj, float[] modelMatrix, float[] projMatrix, int[] viewport);
-	public static final native void gluLookAt (double eyex, double eyey, double eyez, double centerx, double centery, double centerz, double upx, double upy, double upz);
-	public static final native int gluNewNurbsRenderer ();
-	public static final native int gluNewQuadric ();
-	public static final native int gluNewTess ();
-	public static final native void gluNextContour (int tess, int type);
-	public static final native void gluNurbsCallback (int nobj, int which, int fn);
-	public static final native void gluNurbsCurve (int nobj, int nknots, float[] knot, int stride, float[] ctlarray, int order, int type);
-	public static final native void gluNurbsProperty (int nobj, int property, float value);
-	public static final native void gluNurbsSurface (int nobj, int sknot_count, float[] sknot, int tknot_count, float[] tknot, int s_stride, int t_stride, float[] ctlarray, int sorder, int torder, int type);
-	public static final native void gluOrtho2D (double left, double right, double bottom, double top);
-	public static final native void gluPartialDisk (int qobj, double innerRadius, double outerRadius, int slices, int loops, double startAngle, double sweepAngle);
-	public static final native void gluPerspective (double fovy, double aspect, double zNear, double zFar);
-	public static final native void gluPickMatrix (double x, double y, double width, double height, int[] viewport);
-	public static final native int gluProject (double objx, double objy, double objz,double[] modelMatrix, double[] projMatrix, int[] viewport, double[] winx, double[] winy, double[] winz);
-	public static final native void gluPwlCurve (int nobj, int count, float[] array, int stride, int type);
-	public static final native void gluQuadricCallback (int qobj, int which, int fn);
-	public static final native void gluQuadricDrawStyle (int qobj, int drawStyle);
-	public static final native void gluQuadricNormals (int qobj, int normals);
-	public static final native void gluQuadricOrientation (int qobj, int orientation);
-	public static final native void gluQuadricTexture (int qobj, boolean textureCoords);
-	public static final native int gluScaleImage (int format, int widthin, int heightin, int typein, int datain, int widthout, int heightout, int typeout, int dataout); /*MULTIPLES TYPES ARRAYS*/
-	public static final native void gluSphere (int qobj, double radius, int slices, int stacks);
-	public static final native void gluTessBeginContour (int tess);
-	public static final native void gluTessEndContour (int tess);
-	public static final native void gluTessBeginPolygon (int tess, int polygon_data);
-	public static final native void gluTessEndPolygon (int tess);
-	public static final native void gluTessCallback (int tess, int which, int fn);
-	public static final native void gluTessNormal (int tess, double x, double y, double z);
-	public static final native void gluTessProperty (int tess, int property, double value); /* CHECK MSDN, VALUE'S TYPE IS DOUBLE */
-	public static final native void gluTessVertex (int tess, double[] coords, int data);
-	public static final native int gluUnProject (double winx, double winy, double winz, double[] modelMatrix, double[] projMatrix, int[] viewport, double[] objx, double[] objy, double[] objz);
-}
diff --git a/bundles/org.eclipse.swt.opengl/common/org/eclipse/swt/opengl/GLData.java b/bundles/org.eclipse.swt.opengl/common/org/eclipse/swt/opengl/GLData.java
deleted file mode 100644
index f25f11d..0000000
--- a/bundles/org.eclipse.swt.opengl/common/org/eclipse/swt/opengl/GLData.java
+++ /dev/null
@@ -1,135 +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.swt.opengl;
-
-/**
- * The GLData class is a device-independent description
- * of the pixel format attributes of a GL drawable.
- *
- * @see GLCanvas
- */
-
-public class GLData {
-	/**
-	 * Specifies a double-buffered surface.  During context
-	 * creation, only double-buffered formats are considered
-	 * when set to true. 
-	 */
-	public boolean doubleBuffer;
-
-	/**
-	 * Specifies a stereo surface.  During context creation,
-	 * only stereo formats are considered when set to true. 
-	 */
-	public boolean stereo;
-
-	/**
-	 * The size in bits of the color buffer's red channel.
-	 * During context creation, this specifies the minimum
-	 * required red bits.
-	 */
-	public int redSize;
-
-	/**
-	 * The size in bits of the color buffer's green channel.
-	 * During context creation, this specifies the minimum
-	 * required green bits.
-	 */
-	public int greenSize;
-
-	/**
-	 * The size in bits of the color buffer's blue channel.
-	 * During context creation, this specifies the minimum
-	 * required blue bits.
-	 */
-	public int blueSize;
-
-	/**
-	 * The size in bits of the color buffer's alpha channel.
-	 * During context creation, this specifies the minimum
-	 * required alpha bits.
-	 */
-	public int alphaSize;
-
-	/**
-	 * The size in bits of the depth buffer.  During context
-	 * creation, the smallest depth buffer of at least the
-	 * specified value is preferred, or zero for no depth
-	 * buffer.
-	 */
-	public int depthSize;
-
-	/**
-	 * The desired number of stencil bitplanes.  During
-	 * context creation, the smallest stencil buffer of at
-	 * least the specified value is preferred, or zero for
-	 * no stencil buffer.
-	 */
-	public int stencilSize;
-
-	/**
-	 * The size in bits of the accumulation buffer's red
-	 * channel. During context creation, this specifies the
-	 * minimum required red bits.
-	 */
-	public int accumRedSize;
-
-	/**
-	 * The size in bits of the accumulation buffer's green
-	 * channel. During context creation, this specifies the
-	 * minimum required green bits.
-	 */
-	public int accumGreenSize;
-
-	/**
-	 * The size in bits of the accumulation buffer's blue
-	 * channel. During context creation, this specifies the
-	 * minimum required blue bits.
-	 */
-	public int accumBlueSize;
-
-	/**
-	 * The size in bits of the accumulation buffer's alpha
-	 * channel. During context creation, this specifies the
-	 * minimum required alpha bits.
-	 */
-	public int accumAlphaSize;
-
-	/**
-	 * The number of multisample buffers used by this context.
-	 * During context creation, this specifies the minimum
-	 * number of multisample buffers requested.
-	 */
-	public int sampleBuffers;
-
-	/**
-	 * The number of samples accepted in the multisample buffer.
-	 * During creation, pixel formats with the smallest number of
-	 * samples that meets or exceeds the specified minimum number
-	 * are preferred.
-	 */
-	public int samples;
-	
-/**
- * Returns a string containing a concise, human-readable
- * description of the receiver.
- *
- * @return a string representation of the data
- */
-public String toString() {
-	return (doubleBuffer ? "doubleBuffer," : "") +
-		(stereo ? "stereo," : "") +
-		"r:" + redSize + " g:" + greenSize + " b:" + blueSize + " a:" + alphaSize + "," +
-		"depth:" + depthSize + ",stencil:" + stencilSize +
-		",accum r:" + accumRedSize + "g:" + accumGreenSize + "b:" + accumBlueSize + "a:" + accumAlphaSize +
-		",sampleBuffers:" + sampleBuffers + ",samples:" + samples;
-}
-}
diff --git a/bundles/org.eclipse.swt.opengl/common/org/eclipse/swt/opengl/ImageDataUtil.java b/bundles/org.eclipse.swt.opengl/common/org/eclipse/swt/opengl/ImageDataUtil.java
deleted file mode 100644
index 2069032..0000000
--- a/bundles/org.eclipse.swt.opengl/common/org/eclipse/swt/opengl/ImageDataUtil.java
+++ /dev/null
@@ -1,566 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl;
-
-import org.eclipse.swt.graphics.ImageData;
-import org.eclipse.swt.graphics.PaletteData;
-
-
-public class ImageDataUtil {
-	/**
-	 * Alpha mode, values 0 - 255 specify global alpha level
-	 */
-	static final int
-		ALPHA_OPAQUE = 255,           // Fully opaque (ignores any alpha data)
-		ALPHA_TRANSPARENT = 0,        // Fully transparent (ignores any alpha data)
-		ALPHA_CHANNEL_SEPARATE = -1,  // Use alpha channel from separate alphaData
-		ALPHA_CHANNEL_SOURCE = -2,    // Use alpha channel embedded in sourceData
-		ALPHA_MASK_UNPACKED = -3,     // Use transparency mask formed by bytes in alphaData (non-zero is opaque)
-		ALPHA_MASK_PACKED = -4,       // Use transparency mask formed by packed bits in alphaData
-		ALPHA_MASK_INDEX = -5,        // Consider source palette indices transparent if in alphaData array
-		ALPHA_MASK_RGB = -6;          // Consider source RGBs transparent if in RGB888 format alphaData array
-		
-	/**
-	 * Data types (internal)
-	 */
-	private static final int
-		// direct / true color formats with arbitrary masks & shifts
-		TYPE_GENERIC_8 = 0,
-		TYPE_GENERIC_16_MSB = 1,
-		TYPE_GENERIC_16_LSB = 2,
-		TYPE_GENERIC_24 = 3,
-		TYPE_GENERIC_32_MSB = 4,
-		TYPE_GENERIC_32_LSB = 5,
-		// palette indexed color formats
-		TYPE_INDEX_8 = 6,
-		TYPE_INDEX_4 = 7,
-		TYPE_INDEX_2 = 8,
-		TYPE_INDEX_1_MSB = 9,
-		TYPE_INDEX_1_LSB = 10;
-		
-	/**
-	 * Byte and bit order constants.
-	 */
-	static final int LSB_FIRST = 0;
-	static final int MSB_FIRST = 1;
-	
-	/**
-	 * Blit operation bits to be OR'ed together to specify the desired operation.
-	 */
-	static final int
-		BLIT_SRC = 1,     // copy source directly, else applies logic operations
-		BLIT_ALPHA = 2,   // enable alpha blending
-		BLIT_DITHER = 4;  // enable dithering in low color modes
-		
-	/**
-	 * Arbitrary channel width data to 8-bit conversion table.
-	 */
-	static final byte[][] ANY_TO_EIGHT = new byte[9][];
-	static {
-		for (int b = 0; b < 9; ++b) {
-			byte[] data = ANY_TO_EIGHT[b] = new byte[1 << b];
-			if (b == 0) continue;
-			int inc = 0;
-			for (int bit = 0x10000; (bit >>= b) != 0;) inc |= bit;
-			for (int v = 0, p = 0; v < 0x10000; v+= inc) data[p++] = (byte)(v >> 8);
-		}
-	}
-
-	/**
-	 * Blits a direct palette image into a direct palette image.
-	 * <p>
-	 * Note: When the source and destination depth, order and masks
-	 * are pairwise equal and the blitter operation is BLIT_SRC,
-	 * the masks are ignored.  Hence when not changing the image
-	 * data format, 0 may be specified for the masks.
-	 * </p>
-	 * 
-	 * @param op the blitter operation: a combination of BLIT_xxx flags
-	 *        (see BLIT_xxx constants)
-	 * @param srcData the source byte array containing image data
-	 * @param srcDepth the source depth: one of 8, 16, 24, 32
-	 * @param srcStride the source number of bytes per line
-	 * @param srcOrder the source byte ordering: one of MSB_FIRST or LSB_FIRST;
-	 *        ignored if srcDepth is not 16 or 32
-	 * @param srcX the top-left x-coord of the source blit region
-	 * @param srcY the top-left y-coord of the source blit region
-	 * @param srcWidth the width of the source blit region
-	 * @param srcHeight the height of the source blit region
-	 * @param srcRedMask the source red channel mask
-	 * @param srcGreenMask the source green channel mask
-	 * @param srcBlueMask the source blue channel mask
-	 * @param alphaMode the alpha blending or mask mode, may be
-	 *        an integer 0-255 for global alpha; ignored if BLIT_ALPHA
-	 *        not specified in the blitter operations
-	 *        (see ALPHA_MODE_xxx constants)
-	 * @param alphaData the alpha blending or mask data, varies depending
-	 *        on the value of alphaMode and sometimes ignored
-	 * @param alphaStride the alpha data number of bytes per line
-	 * @param alphaX the top-left x-coord of the alpha blit region
-	 * @param alphaY the top-left y-coord of the alpha blit region
-	 * @param destData the destination byte array containing image data
-	 * @param destDepth the destination depth: one of 8, 16, 24, 32
-	 * @param destStride the destination number of bytes per line
-	 * @param destOrder the destination byte ordering: one of MSB_FIRST or LSB_FIRST;
-	 *        ignored if destDepth is not 16 or 32
-	 * @param destX the top-left x-coord of the destination blit region
-	 * @param destY the top-left y-coord of the destination blit region
-	 * @param destWidth the width of the destination blit region
-	 * @param destHeight the height of the destination blit region
-	 * @param destRedMask the destination red channel mask
-	 * @param destGreenMask the destination green channel mask
-	 * @param destBlueMask the destination blue channel mask
-	 * @param flipX if true the resulting image is flipped along the vertical axis
-	 * @param flipY if true the resulting image is flipped along the horizontal axis
-	 */
-	static void blit(int op,
-		byte[] srcData, int srcDepth, int srcStride, int srcOrder,
-		int srcX, int srcY, int srcWidth, int srcHeight,
-		int srcRedMask, int srcGreenMask, int srcBlueMask,
-		int alphaMode, byte[] alphaData, int alphaStride, int alphaX, int alphaY,
-		byte[] destData, int destDepth, int destStride, int destOrder,
-		int destX, int destY, int destWidth, int destHeight,
-		int destRedMask, int destGreenMask, int destBlueMask,
-		boolean flipX, boolean flipY) {
-		if ((destWidth <= 0) || (destHeight <= 0) || (alphaMode == ALPHA_TRANSPARENT)) return;
-
-		// these should be supplied as params later
-		final int srcAlphaMask = 0, destAlphaMask = 0;
-
-		/*** Prepare scaling data ***/
-		final int dwm1 = destWidth - 1;
-		final int sfxi = (dwm1 != 0) ? (int)((((long)srcWidth << 16) - 1) / dwm1) : 0;
-		final int dhm1 = destHeight - 1;
-		final int sfyi = (dhm1 != 0) ? (int)((((long)srcHeight << 16) - 1) / dhm1) : 0;
-
-		/*** Prepare source-related data ***/
-		final int sbpp, stype;
-		switch (srcDepth) {
-			case 8:
-				sbpp = 1;
-				stype = TYPE_GENERIC_8;
-				break;
-			case 16:
-				sbpp = 2;
-				stype = (srcOrder == MSB_FIRST) ? TYPE_GENERIC_16_MSB : TYPE_GENERIC_16_LSB;
-				break;
-			case 24:
-				sbpp = 3;
-				stype = TYPE_GENERIC_24;
-				break;
-			case 32:
-				sbpp = 4;
-				stype = (srcOrder == MSB_FIRST) ? TYPE_GENERIC_32_MSB : TYPE_GENERIC_32_LSB;
-				break;
-			default:
-				//throw new IllegalArgumentException("Invalid source type");
-				return;
-		}			
-		int spr = srcY * srcStride + srcX * sbpp;
-
-		/*** Prepare destination-related data ***/
-		final int dbpp, dtype;
-		switch (destDepth) {
-			case 8:
-				dbpp = 1;
-				dtype = TYPE_GENERIC_8;
-				break;
-			case 16:
-				dbpp = 2;
-				dtype = (destOrder == MSB_FIRST) ? TYPE_GENERIC_16_MSB : TYPE_GENERIC_16_LSB;
-				break;
-			case 24:
-				dbpp = 3;
-				dtype = TYPE_GENERIC_24;
-				break;
-			case 32:
-				dbpp = 4;
-				dtype = (destOrder == MSB_FIRST) ? TYPE_GENERIC_32_MSB : TYPE_GENERIC_32_LSB;
-				break;
-			default:
-				//throw new IllegalArgumentException("Invalid destination type");
-				return;
-		}			
-		int dpr = ((flipY) ? destY + dhm1 : destY) * destStride + ((flipX) ? destX + dwm1 : destX) * dbpp;
-		final int dprxi = (flipX) ? -dbpp : dbpp;
-		final int dpryi = (flipY) ? -destStride : destStride;
-
-		/*** Prepare special processing data ***/
-		int apr;
-		if ((op & BLIT_ALPHA) != 0) {
-			switch (alphaMode) {
-				case ALPHA_MASK_UNPACKED:
-				case ALPHA_CHANNEL_SEPARATE:
-					if (alphaData == null) alphaMode = 0x10000;
-					apr = alphaY * alphaStride + alphaX;
-					break;
-				case ALPHA_MASK_PACKED:
-					if (alphaData == null) alphaMode = 0x10000;
-					alphaStride <<= 3;
-					apr = alphaY * alphaStride + alphaX;
-					break;
-				case ALPHA_MASK_INDEX:
-					//throw new IllegalArgumentException("Invalid alpha type");
-					return;
-				case ALPHA_MASK_RGB:
-					if (alphaData == null) alphaMode = 0x10000;
-					apr = 0;
-					break;
-				default:
-					alphaMode = (alphaMode << 16) / 255; // prescale
-				case ALPHA_CHANNEL_SOURCE:
-					apr = 0;
-					break;
-			}
-		} else {
-			alphaMode = 0x10000;
-			apr = 0;
-		}
-
-		/*** Blit ***/
-		int dp = dpr;
-		int sp = spr;
-		if ((alphaMode == 0x10000) && (stype == dtype) &&
-			(srcRedMask == destRedMask) && (srcGreenMask == destGreenMask) &&
-			(srcBlueMask == destBlueMask) && (srcAlphaMask == destAlphaMask)) {
-			/*** Fast blit (straight copy) ***/
-			switch (sbpp) {
-				case 1:
-					for (int dy = destHeight, sfy = sfyi; dy > 0; --dy, sp = spr += (sfy >>> 16) * srcStride, sfy = (sfy & 0xffff) + sfyi, dp = dpr += dpryi) {
-						for (int dx = destWidth, sfx = sfxi; dx > 0; --dx, dp += dprxi, sfx = (sfx & 0xffff) + sfxi) {
-							destData[dp] = srcData[sp];
-							sp += (sfx >>> 16);
-						}
-					}
-					break;					
-				case 2:
-					for (int dy = destHeight, sfy = sfyi; dy > 0; --dy, sp = spr += (sfy >>> 16) * srcStride, sfy = (sfy & 0xffff) + sfyi, dp = dpr += dpryi) {
-						for (int dx = destWidth, sfx = sfxi; dx > 0; --dx, dp += dprxi, sfx = (sfx & 0xffff) + sfxi) {
-							destData[dp] = srcData[sp];
-							destData[dp + 1] = srcData[sp + 1];
-							sp += (sfx >>> 16) * 2;
-						}
-					}
-					break;
-				case 3:
-					for (int dy = destHeight, sfy = sfyi; dy > 0; --dy, sp = spr += (sfy >>> 16) * srcStride, sfy = (sfy & 0xffff) + sfyi, dp = dpr += dpryi) {
-						for (int dx = destWidth, sfx = sfxi; dx > 0; --dx, dp += dprxi, sfx = (sfx & 0xffff) + sfxi) {
-							destData[dp] = srcData[sp];
-							destData[dp + 1] = srcData[sp + 1];
-							destData[dp + 2] = srcData[sp + 2];
-							sp += (sfx >>> 16) * 3;
-						}
-					}
-					break;
-				case 4:
-					for (int dy = destHeight, sfy = sfyi; dy > 0; --dy, sp = spr += (sfy >>> 16) * srcStride, sfy = (sfy & 0xffff) + sfyi, dp = dpr += dpryi) {
-						for (int dx = destWidth, sfx = sfxi; dx > 0; --dx, dp += dprxi, sfx = (sfx & 0xffff) + sfxi) {
-							destData[dp] = srcData[sp];
-							destData[dp + 1] = srcData[sp + 1];
-							destData[dp + 2] = srcData[sp + 2];
-							destData[dp + 3] = srcData[sp + 3];
-							sp += (sfx >>> 16) * 4;
-						}
-					}
-					break;
-			}
-			return;
-		}
-		/*** Comprehensive blit (apply transformations) ***/
-		final int srcRedShift = getChannelShift(srcRedMask);
-		final byte[] srcReds = ANY_TO_EIGHT[getChannelWidth(srcRedMask, srcRedShift)];
-		final int srcGreenShift = getChannelShift(srcGreenMask);
-		final byte[] srcGreens = ANY_TO_EIGHT[getChannelWidth(srcGreenMask, srcGreenShift)];
-		final int srcBlueShift = getChannelShift(srcBlueMask);
-		final byte[] srcBlues = ANY_TO_EIGHT[getChannelWidth(srcBlueMask, srcBlueShift)];
-		final int srcAlphaShift = getChannelShift(srcAlphaMask);
-		final byte[] srcAlphas = ANY_TO_EIGHT[getChannelWidth(srcAlphaMask, srcAlphaShift)];
-
-		final int destRedShift = getChannelShift(destRedMask);
-		final int destRedWidth = getChannelWidth(destRedMask, destRedShift);
-		final byte[] destReds = ANY_TO_EIGHT[destRedWidth];
-		final int destRedPreShift = 8 - destRedWidth;
-		final int destGreenShift = getChannelShift(destGreenMask);
-		final int destGreenWidth = getChannelWidth(destGreenMask, destGreenShift);
-		final byte[] destGreens = ANY_TO_EIGHT[destGreenWidth];
-		final int destGreenPreShift = 8 - destGreenWidth;
-		final int destBlueShift = getChannelShift(destBlueMask);
-		final int destBlueWidth = getChannelWidth(destBlueMask, destBlueShift);
-		final byte[] destBlues = ANY_TO_EIGHT[destBlueWidth];
-		final int destBluePreShift = 8 - destBlueWidth;
-		final int destAlphaShift = getChannelShift(destAlphaMask);
-		final int destAlphaWidth = getChannelWidth(destAlphaMask, destAlphaShift);
-		final byte[] destAlphas = ANY_TO_EIGHT[destAlphaWidth];
-		final int destAlphaPreShift = 8 - destAlphaWidth;
-
-		int ap = apr, alpha = alphaMode;
-		int r = 0, g = 0, b = 0, a = 0;
-		int rq = 0, gq = 0, bq = 0, aq = 0;
-		for (int dy = destHeight, sfy = sfyi; dy > 0; --dy,
-				sp = spr += (sfy >>> 16) * srcStride,
-				ap = apr += (sfy >>> 16) * alphaStride,
-				sfy = (sfy & 0xffff) + sfyi,
-				dp = dpr += dpryi) {
-			for (int dx = destWidth, sfx = sfxi; dx > 0; --dx,
-					dp += dprxi,
-					sfx = (sfx & 0xffff) + sfxi) {
-				/*** READ NEXT PIXEL ***/
-				switch (stype) {
-					case TYPE_GENERIC_8: {
-						final int data = srcData[sp] & 0xff;
-						sp += (sfx >>> 16);
-						r = srcReds[(data & srcRedMask) >>> srcRedShift] & 0xff;
-						g = srcGreens[(data & srcGreenMask) >>> srcGreenShift] & 0xff;
-						b = srcBlues[(data & srcBlueMask) >>> srcBlueShift] & 0xff;
-						a = srcAlphas[(data & srcAlphaMask) >>> srcAlphaShift] & 0xff;
-					} break;
-					case TYPE_GENERIC_16_MSB: {
-						final int data = ((srcData[sp] & 0xff) << 8) | (srcData[sp + 1] & 0xff);
-						sp += (sfx >>> 16) * 2;
-						r = srcReds[(data & srcRedMask) >>> srcRedShift] & 0xff;
-						g = srcGreens[(data & srcGreenMask) >>> srcGreenShift] & 0xff;
-						b = srcBlues[(data & srcBlueMask) >>> srcBlueShift] & 0xff;
-						a = srcAlphas[(data & srcAlphaMask) >>> srcAlphaShift] & 0xff;
-					} break;
-					case TYPE_GENERIC_16_LSB: {
-						final int data = ((srcData[sp + 1] & 0xff) << 8) | (srcData[sp] & 0xff);
-						sp += (sfx >>> 16) * 2;
-						r = srcReds[(data & srcRedMask) >>> srcRedShift] & 0xff;
-						g = srcGreens[(data & srcGreenMask) >>> srcGreenShift] & 0xff;
-						b = srcBlues[(data & srcBlueMask) >>> srcBlueShift] & 0xff;
-						a = srcAlphas[(data & srcAlphaMask) >>> srcAlphaShift] & 0xff;
-					} break;
-					case TYPE_GENERIC_24: {
-						final int data = (( ((srcData[sp] & 0xff) << 8) |
-							(srcData[sp + 1] & 0xff)) << 8) |
-							(srcData[sp + 2] & 0xff);
-						sp += (sfx >>> 16) * 3;
-						r = srcReds[(data & srcRedMask) >>> srcRedShift] & 0xff;
-						g = srcGreens[(data & srcGreenMask) >>> srcGreenShift] & 0xff;
-						b = srcBlues[(data & srcBlueMask) >>> srcBlueShift] & 0xff;
-						a = srcAlphas[(data & srcAlphaMask) >>> srcAlphaShift] & 0xff;
-					} break;
-					case TYPE_GENERIC_32_MSB: {
-						final int data = (( (( ((srcData[sp] & 0xff) << 8) |
-							(srcData[sp + 1] & 0xff)) << 8) |
-							(srcData[sp + 2] & 0xff)) << 8) |
-							(srcData[sp + 3] & 0xff);
-						sp += (sfx >>> 16) * 4;
-						r = srcReds[(data & srcRedMask) >>> srcRedShift] & 0xff;
-						g = srcGreens[(data & srcGreenMask) >>> srcGreenShift] & 0xff;
-						b = srcBlues[(data & srcBlueMask) >>> srcBlueShift] & 0xff;
-						a = srcAlphas[(data & srcAlphaMask) >>> srcAlphaShift] & 0xff;
-					} break;
-					case TYPE_GENERIC_32_LSB: {
-						final int data = (( (( ((srcData[sp + 3] & 0xff) << 8) |
-							(srcData[sp + 2] & 0xff)) << 8) |
-							(srcData[sp + 1] & 0xff)) << 8) |
-							(srcData[sp] & 0xff);
-						sp += (sfx >>> 16) * 4;
-						r = srcReds[(data & srcRedMask) >>> srcRedShift] & 0xff;
-						g = srcGreens[(data & srcGreenMask) >>> srcGreenShift] & 0xff;
-						b = srcBlues[(data & srcBlueMask) >>> srcBlueShift] & 0xff;
-						a = srcAlphas[(data & srcAlphaMask) >>> srcAlphaShift] & 0xff;
-					} break;
-				}
-
-				/*** DO SPECIAL PROCESSING IF REQUIRED ***/
-				switch (alphaMode) {
-					case ALPHA_CHANNEL_SEPARATE:
-						alpha = ((alphaData[ap] & 0xff) << 16) / 255;
-						ap += (sfx >> 16);
-						break;
-					case ALPHA_CHANNEL_SOURCE:
-						alpha = (a << 16) / 255;
-						break;
-					case ALPHA_MASK_UNPACKED:
-						alpha = (alphaData[ap] != 0) ? 0x10000 : 0;
-						ap += (sfx >> 16);
-						break;						
-					case ALPHA_MASK_PACKED:
-						alpha = (alphaData[ap >> 3] << ((ap & 7) + 9)) & 0x10000;
-						ap += (sfx >> 16);
-						break;
-					case ALPHA_MASK_RGB:
-						alpha = 0x10000;
-						for (int i = 0; i < alphaData.length; i += 3) {
-							if ((r == alphaData[i]) && (g == alphaData[i + 1]) && (b == alphaData[i + 2])) {
-								alpha = 0x0000;
-								break;
-							}
-						}
-						break;
-				}
-				if (alpha != 0x10000) {
-					if (alpha == 0x0000) continue;
-					switch (dtype) {
-						case TYPE_GENERIC_8: {
-							final int data = destData[dp] & 0xff;
-							rq = destReds[(data & destRedMask) >>> destRedShift] & 0xff;
-							gq = destGreens[(data & destGreenMask) >>> destGreenShift] & 0xff;
-							bq = destBlues[(data & destBlueMask) >>> destBlueShift] & 0xff;
-							aq = destAlphas[(data & destAlphaMask) >>> destAlphaShift] & 0xff;
-						} break;
-						case TYPE_GENERIC_16_MSB: {
-							final int data = ((destData[dp] & 0xff) << 8) | (destData[dp + 1] & 0xff);
-							rq = destReds[(data & destRedMask) >>> destRedShift] & 0xff;
-							gq = destGreens[(data & destGreenMask) >>> destGreenShift] & 0xff;
-							bq = destBlues[(data & destBlueMask) >>> destBlueShift] & 0xff;
-							aq = destAlphas[(data & destAlphaMask) >>> destAlphaShift] & 0xff;
-						} break;
-						case TYPE_GENERIC_16_LSB: {
-							final int data = ((destData[dp + 1] & 0xff) << 8) | (destData[dp] & 0xff);
-							rq = destReds[(data & destRedMask) >>> destRedShift] & 0xff;
-							gq = destGreens[(data & destGreenMask) >>> destGreenShift] & 0xff;
-							bq = destBlues[(data & destBlueMask) >>> destBlueShift] & 0xff;
-							aq = destAlphas[(data & destAlphaMask) >>> destAlphaShift] & 0xff;
-						} break;
-						case TYPE_GENERIC_24: {
-							final int data = (( ((destData[dp] & 0xff) << 8) |
-								(destData[dp + 1] & 0xff)) << 8) |
-								(destData[dp + 2] & 0xff);
-							rq = destReds[(data & destRedMask) >>> destRedShift] & 0xff;
-							gq = destGreens[(data & destGreenMask) >>> destGreenShift] & 0xff;
-							bq = destBlues[(data & destBlueMask) >>> destBlueShift] & 0xff;
-							aq = destAlphas[(data & destAlphaMask) >>> destAlphaShift] & 0xff;
-						} break;
-						case TYPE_GENERIC_32_MSB: {
-							final int data = (( (( ((destData[dp] & 0xff) << 8) |
-								(destData[dp + 1] & 0xff)) << 8) |
-								(destData[dp + 2] & 0xff)) << 8) |
-								(destData[dp + 3] & 0xff);
-							rq = destReds[(data & destRedMask) >>> destRedShift] & 0xff;
-							gq = destGreens[(data & destGreenMask) >>> destGreenShift] & 0xff;
-							bq = destBlues[(data & destBlueMask) >>> destBlueShift] & 0xff;
-							aq = destAlphas[(data & destAlphaMask) >>> destAlphaShift] & 0xff;
-						} break;
-						case TYPE_GENERIC_32_LSB: {
-							final int data = (( (( ((destData[dp + 3] & 0xff) << 8) |
-								(destData[dp + 2] & 0xff)) << 8) |
-								(destData[dp + 1] & 0xff)) << 8) |
-								(destData[dp] & 0xff);
-							rq = destReds[(data & destRedMask) >>> destRedShift] & 0xff;
-							gq = destGreens[(data & destGreenMask) >>> destGreenShift] & 0xff;
-							bq = destBlues[(data & destBlueMask) >>> destBlueShift] & 0xff;
-							aq = destAlphas[(data & destAlphaMask) >>> destAlphaShift] & 0xff;
-						} break;
-					}
-					// Perform alpha blending
-					a = aq + ((a - aq) * alpha >> 16);
-					r = rq + ((r - rq) * alpha >> 16);
-					g = gq + ((g - gq) * alpha >> 16);
-					b = bq + ((b - bq) * alpha >> 16);
-				}
-
-				/*** WRITE NEXT PIXEL ***/
-				final int data = 
-					(r >>> destRedPreShift << destRedShift) |
-					(g >>> destGreenPreShift << destGreenShift) |
-					(b >>> destBluePreShift << destBlueShift) |
-					(a >>> destAlphaPreShift << destAlphaShift);
-				switch (dtype) {
-					case TYPE_GENERIC_8: {
-						destData[dp] = (byte) data;
-					} break;
-					case TYPE_GENERIC_16_MSB: {
-						destData[dp] = (byte) (data >>> 8);
-						destData[dp + 1] = (byte) (data & 0xff);
-					} break;
-					case TYPE_GENERIC_16_LSB: {
-						destData[dp] = (byte) (data & 0xff);
-						destData[dp + 1] = (byte) (data >>> 8);
-					} break;
-					case TYPE_GENERIC_24: {
-						destData[dp] = (byte) (data >>> 16);
-						destData[dp + 1] = (byte) (data >>> 8);
-						destData[dp + 2] = (byte) (data & 0xff);
-					} break;
-					case TYPE_GENERIC_32_MSB: {
-						destData[dp] = (byte) (data >>> 24);
-						destData[dp + 1] = (byte) (data >>> 16);
-						destData[dp + 2] = (byte) (data >>> 8);
-						destData[dp + 3] = (byte) (data & 0xff);
-					} break;
-					case TYPE_GENERIC_32_LSB: {
-						destData[dp] = (byte) (data & 0xff);
-						destData[dp + 1] = (byte) (data >>> 8);
-						destData[dp + 2] = (byte) (data >>> 16);
-						destData[dp + 3] = (byte) (data >>> 24);
-					} break;
-				}
-			}
-		}			
-	}
-
-	/**
-	 * Computes the required channel shift from a mask.
-	 */
-	static int getChannelShift(int mask) {
-		if (mask == 0) return 0;
-		int i;
-		for (i = 0; ((mask & 1) == 0) && (i < 32); ++i) {
-			mask >>>= 1;
-		}
-		return i;
-	}
-	
-	/**
-	 * Computes the required channel width (depth) from a mask.
-	 */
-	static int getChannelWidth(int mask, int shift) {
-		if (mask == 0) return 0;
-		int i;
-		mask >>>= shift;
-		for (i = shift; ((mask & 1) != 0) && (i < 32); ++i) {
-			mask >>>= 1;
-		}
-		return i - shift;
-	}
-
-	public static ImageData convertImageData (ImageData source) {
-		PaletteData palette = new PaletteData (0xff0000, 0xff00, 0xff);
-		ImageData newSource = new ImageData (source.width, source.height, 24, palette);
-
-		ImageDataUtil.blit (
-			1,
-			source.data,
-			source.depth,
-			source.bytesPerLine,
-			(source.depth != 16) ? MSB_FIRST : LSB_FIRST,
-			0,
-			0,
-			source.width,
-			source.height,
-			source.palette.redMask,
-			source.palette.greenMask,
-			source.palette.blueMask,
-			255,
-			null,
-			0,
-			0,
-			0,
-			newSource.data,
-			newSource.depth,
-			newSource.bytesPerLine,
-			(newSource.depth != 16) ? MSB_FIRST : LSB_FIRST,
-			0,
-			0,
-			newSource.width,
-			newSource.height,
-			newSource.palette.redMask,
-			newSource.palette.greenMask,
-			newSource.palette.blueMask,
-			false,
-			true);
-
-		return newSource;
-	}
-}
diff --git a/bundles/org.eclipse.swt.opengl/common/org/eclipse/swt/opengl/Library.java b/bundles/org.eclipse.swt.opengl/common/org/eclipse/swt/opengl/Library.java
deleted file mode 100644
index 26467bc..0000000
--- a/bundles/org.eclipse.swt.opengl/common/org/eclipse/swt/opengl/Library.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl;
-
-import org.eclipse.swt.*;
-
-public class Library {
-
-public static void loadLibrary (String name) {
-	String platform = SWT.getPlatform ();	
-	try {
-		String newName = name + '-' + platform;
-		System.loadLibrary (newName);
-		return;
-	} catch (UnsatisfiedLinkError e1) {		
-		throw e1;
-	}
-}
-}
diff --git a/bundles/org.eclipse.swt.opengl/gtk/library/build.sh b/bundles/org.eclipse.swt.opengl/gtk/library/build.sh
deleted file mode 100644
index dc26d12..0000000
--- a/bundles/org.eclipse.swt.opengl/gtk/library/build.sh
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/bin/sh
-#*******************************************************************************
-# 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
-#*******************************************************************************
-
-if [ "${OS}" = "" ]; then
-	OS=`uname -s`
-fi
-
-case $OS in
-	"Linux")
-		makefile="make_linux.mak"
-		echo "Building Linux GTK version of SWT OpenGL"
-		;;
-	*)
-		echo "*** Unknown OS <${OS}>"
-		;;
-esac
-
-export JAVA_HOME
-
-make -f $makefile ${1+"$@"}
diff --git a/bundles/org.eclipse.swt.opengl/gtk/library/glx.c b/bundles/org.eclipse.swt.opengl/gtk/library/glx.c
deleted file mode 100644
index e3615ca..0000000
--- a/bundles/org.eclipse.swt.opengl/gtk/library/glx.c
+++ /dev/null
@@ -1,290 +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
-*******************************************************************************/
-
-#include "swt.h"
-#include "glx_structs.h"
-#include "glx_stats.h"
-
-#define GLX_NATIVE(func) Java_org_eclipse_swt_internal_opengl_gtk_GLX_##func
-
-#ifndef NO_glXChooseVisual
-JNIEXPORT jint JNICALL GLX_NATIVE(glXChooseVisual)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	jint rc = 0;
-	GLX_NATIVE_ENTER(env, that, glXChooseVisual_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)glXChooseVisual(arg0, arg1, lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	GLX_NATIVE_EXIT(env, that, glXChooseVisual_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_glXCopyContext
-JNIEXPORT void JNICALL GLX_NATIVE(glXCopyContext)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	GLX_NATIVE_ENTER(env, that, glXCopyContext_FUNC);
-	glXCopyContext(arg0, arg1, arg2, arg3);
-	GLX_NATIVE_EXIT(env, that, glXCopyContext_FUNC);
-}
-#endif
-
-#ifndef NO_glXCreateContext
-JNIEXPORT jint JNICALL GLX_NATIVE(glXCreateContext)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2, jboolean arg3)
-{
-	XVisualInfo _arg1, *lparg1=NULL;
-	jint rc = 0;
-	GLX_NATIVE_ENTER(env, that, glXCreateContext_FUNC);
-	if (arg1) if ((lparg1 = getXVisualInfoFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)glXCreateContext(arg0, lparg1, arg2, arg3);
-fail:
-	if (arg1 && lparg1) setXVisualInfoFields(env, arg1, lparg1);
-	GLX_NATIVE_EXIT(env, that, glXCreateContext_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_glXCreateGLXPixmap
-JNIEXPORT jint JNICALL GLX_NATIVE(glXCreateGLXPixmap)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	XVisualInfo _arg1, *lparg1=NULL;
-	jint rc = 0;
-	GLX_NATIVE_ENTER(env, that, glXCreateGLXPixmap_FUNC);
-	if (arg1) if ((lparg1 = getXVisualInfoFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)glXCreateGLXPixmap(arg0, lparg1, arg2);
-fail:
-	if (arg1 && lparg1) setXVisualInfoFields(env, arg1, lparg1);
-	GLX_NATIVE_EXIT(env, that, glXCreateGLXPixmap_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_glXDestroyContext
-JNIEXPORT void JNICALL GLX_NATIVE(glXDestroyContext)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	GLX_NATIVE_ENTER(env, that, glXDestroyContext_FUNC);
-	glXDestroyContext(arg0, arg1);
-	GLX_NATIVE_EXIT(env, that, glXDestroyContext_FUNC);
-}
-#endif
-
-#ifndef NO_glXDestroyGLXPixmap
-JNIEXPORT void JNICALL GLX_NATIVE(glXDestroyGLXPixmap)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	GLX_NATIVE_ENTER(env, that, glXDestroyGLXPixmap_FUNC);
-	glXDestroyGLXPixmap(arg0, arg1);
-	GLX_NATIVE_EXIT(env, that, glXDestroyGLXPixmap_FUNC);
-}
-#endif
-
-#ifndef NO_glXGetClientString
-JNIEXPORT jint JNICALL GLX_NATIVE(glXGetClientString)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	GLX_NATIVE_ENTER(env, that, glXGetClientString_FUNC);
-	rc = (jint)glXGetClientString(arg0, arg1);
-	GLX_NATIVE_EXIT(env, that, glXGetClientString_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_glXGetConfig
-JNIEXPORT jint JNICALL GLX_NATIVE(glXGetConfig)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2, jintArray arg3)
-{
-	XVisualInfo _arg1, *lparg1=NULL;
-	jint *lparg3=NULL;
-	jint rc = 0;
-	GLX_NATIVE_ENTER(env, that, glXGetConfig_FUNC);
-	if (arg1) if ((lparg1 = getXVisualInfoFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)glXGetConfig(arg0, lparg1, arg2, lparg3);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	if (arg1 && lparg1) setXVisualInfoFields(env, arg1, lparg1);
-	GLX_NATIVE_EXIT(env, that, glXGetConfig_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_glXGetCurrentContext
-JNIEXPORT jint JNICALL GLX_NATIVE(glXGetCurrentContext)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	GLX_NATIVE_ENTER(env, that, glXGetCurrentContext_FUNC);
-	rc = (jint)glXGetCurrentContext();
-	GLX_NATIVE_EXIT(env, that, glXGetCurrentContext_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_glXGetCurrentDrawable
-JNIEXPORT jint JNICALL GLX_NATIVE(glXGetCurrentDrawable)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	GLX_NATIVE_ENTER(env, that, glXGetCurrentDrawable_FUNC);
-	rc = (jint)glXGetCurrentDrawable();
-	GLX_NATIVE_EXIT(env, that, glXGetCurrentDrawable_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_glXIsDirect
-JNIEXPORT jboolean JNICALL GLX_NATIVE(glXIsDirect)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jboolean rc = 0;
-	GLX_NATIVE_ENTER(env, that, glXIsDirect_FUNC);
-	rc = (jboolean)glXIsDirect(arg0, arg1);
-	GLX_NATIVE_EXIT(env, that, glXIsDirect_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_glXMakeCurrent
-JNIEXPORT jboolean JNICALL GLX_NATIVE(glXMakeCurrent)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jboolean rc = 0;
-	GLX_NATIVE_ENTER(env, that, glXMakeCurrent_FUNC);
-	rc = (jboolean)glXMakeCurrent(arg0, arg1, arg2);
-	GLX_NATIVE_EXIT(env, that, glXMakeCurrent_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_glXQueryExtension
-JNIEXPORT jboolean JNICALL GLX_NATIVE(glXQueryExtension)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jintArray arg2)
-{
-	jint *lparg1=NULL;
-	jint *lparg2=NULL;
-	jboolean rc = 0;
-	GLX_NATIVE_ENTER(env, that, glXQueryExtension_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jboolean)glXQueryExtension(arg0, lparg1, lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	GLX_NATIVE_EXIT(env, that, glXQueryExtension_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_glXQueryExtensionsString
-JNIEXPORT jint JNICALL GLX_NATIVE(glXQueryExtensionsString)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	GLX_NATIVE_ENTER(env, that, glXQueryExtensionsString_FUNC);
-	rc = (jint)glXQueryExtensionsString(arg0, arg1);
-	GLX_NATIVE_EXIT(env, that, glXQueryExtensionsString_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_glXQueryServerString
-JNIEXPORT jint JNICALL GLX_NATIVE(glXQueryServerString)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	GLX_NATIVE_ENTER(env, that, glXQueryServerString_FUNC);
-	rc = (jint)glXQueryServerString(arg0, arg1, arg2);
-	GLX_NATIVE_EXIT(env, that, glXQueryServerString_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_glXQueryVersion
-JNIEXPORT jboolean JNICALL GLX_NATIVE(glXQueryVersion)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jintArray arg2)
-{
-	jint *lparg1=NULL;
-	jint *lparg2=NULL;
-	jboolean rc = 0;
-	GLX_NATIVE_ENTER(env, that, glXQueryVersion_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jboolean)glXQueryVersion(arg0, lparg1, lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	GLX_NATIVE_EXIT(env, that, glXQueryVersion_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_glXSwapBuffers
-JNIEXPORT void JNICALL GLX_NATIVE(glXSwapBuffers)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	GLX_NATIVE_ENTER(env, that, glXSwapBuffers_FUNC);
-	glXSwapBuffers(arg0, arg1);
-	GLX_NATIVE_EXIT(env, that, glXSwapBuffers_FUNC);
-}
-#endif
-
-#ifndef NO_glXUseXFont
-JNIEXPORT void JNICALL GLX_NATIVE(glXUseXFont)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	GLX_NATIVE_ENTER(env, that, glXUseXFont_FUNC);
-	glXUseXFont(arg0, arg1, arg2, arg3);
-	GLX_NATIVE_EXIT(env, that, glXUseXFont_FUNC);
-}
-#endif
-
-#ifndef NO_glXWaitGL
-JNIEXPORT void JNICALL GLX_NATIVE(glXWaitGL)
-	(JNIEnv *env, jclass that)
-{
-	GLX_NATIVE_ENTER(env, that, glXWaitGL_FUNC);
-	glXWaitGL();
-	GLX_NATIVE_EXIT(env, that, glXWaitGL_FUNC);
-}
-#endif
-
-#ifndef NO_glXWaitX
-JNIEXPORT void JNICALL GLX_NATIVE(glXWaitX)
-	(JNIEnv *env, jclass that)
-{
-	GLX_NATIVE_ENTER(env, that, glXWaitX_FUNC);
-	glXWaitX();
-	GLX_NATIVE_EXIT(env, that, glXWaitX_FUNC);
-}
-#endif
-
-#ifndef NO_memmove
-JNIEXPORT void JNICALL GLX_NATIVE(memmove)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	XVisualInfo _arg0, *lparg0=NULL;
-	GLX_NATIVE_ENTER(env, that, memmove_FUNC);
-	if (arg0) if ((lparg0 = getXVisualInfoFields(env, arg0, &_arg0)) == NULL) goto fail;
-	memmove(lparg0, arg1, arg2);
-fail:
-	if (arg0 && lparg0) setXVisualInfoFields(env, arg0, lparg0);
-	GLX_NATIVE_EXIT(env, that, memmove_FUNC);
-}
-#endif
-
diff --git a/bundles/org.eclipse.swt.opengl/gtk/library/glx.h b/bundles/org.eclipse.swt.opengl/gtk/library/glx.h
deleted file mode 100644
index 4129ee5..0000000
--- a/bundles/org.eclipse.swt.opengl/gtk/library/glx.h
+++ /dev/null
@@ -1,2 +0,0 @@
-
-#include <GL/glx.h>
diff --git a/bundles/org.eclipse.swt.opengl/gtk/library/glx_stats.c b/bundles/org.eclipse.swt.opengl/gtk/library/glx_stats.c
deleted file mode 100644
index 111d187..0000000
--- a/bundles/org.eclipse.swt.opengl/gtk/library/glx_stats.c
+++ /dev/null
@@ -1,63 +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
-*******************************************************************************/
-
-#include "swt.h"
-#include "glx_stats.h"
-
-#ifdef NATIVE_STATS
-
-int GLX_nativeFunctionCount = 21;
-int GLX_nativeFunctionCallCount[21];
-char * GLX_nativeFunctionNames[] = {
-	"glXChooseVisual",
-	"glXCopyContext",
-	"glXCreateContext",
-	"glXCreateGLXPixmap",
-	"glXDestroyContext",
-	"glXDestroyGLXPixmap",
-	"glXGetClientString",
-	"glXGetConfig",
-	"glXGetCurrentContext",
-	"glXGetCurrentDrawable",
-	"glXIsDirect",
-	"glXMakeCurrent",
-	"glXQueryExtension",
-	"glXQueryExtensionsString",
-	"glXQueryServerString",
-	"glXQueryVersion",
-	"glXSwapBuffers",
-	"glXUseXFont",
-	"glXWaitGL",
-	"glXWaitX",
-	"memmove",
-};
-
-#define STATS_NATIVE(func) Java_org_eclipse_swt_tools_internal_NativeStats_##func
-
-JNIEXPORT jint JNICALL STATS_NATIVE(GLX_1GetFunctionCount)
-	(JNIEnv *env, jclass that)
-{
-	return GLX_nativeFunctionCount;
-}
-
-JNIEXPORT jstring JNICALL STATS_NATIVE(GLX_1GetFunctionName)
-	(JNIEnv *env, jclass that, jint index)
-{
-	return (*env)->NewStringUTF(env, GLX_nativeFunctionNames[index]);
-}
-
-JNIEXPORT jint JNICALL STATS_NATIVE(GLX_1GetFunctionCallCount)
-	(JNIEnv *env, jclass that, jint index)
-{
-	return GLX_nativeFunctionCallCount[index];
-}
-
-#endif
diff --git a/bundles/org.eclipse.swt.opengl/gtk/library/glx_stats.h b/bundles/org.eclipse.swt.opengl/gtk/library/glx_stats.h
deleted file mode 100644
index 8ec1695..0000000
--- a/bundles/org.eclipse.swt.opengl/gtk/library/glx_stats.h
+++ /dev/null
@@ -1,45 +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
-*******************************************************************************/
-
-#ifdef NATIVE_STATS
-extern int GLX_nativeFunctionCount;
-extern int GLX_nativeFunctionCallCount[];
-extern char* GLX_nativeFunctionNames[];
-#define GLX_NATIVE_ENTER(env, that, func) GLX_nativeFunctionCallCount[func]++;
-#define GLX_NATIVE_EXIT(env, that, func) 
-#else
-#define GLX_NATIVE_ENTER(env, that, func) 
-#define GLX_NATIVE_EXIT(env, that, func) 
-#endif
-
-typedef enum {
-	glXChooseVisual_FUNC,
-	glXCopyContext_FUNC,
-	glXCreateContext_FUNC,
-	glXCreateGLXPixmap_FUNC,
-	glXDestroyContext_FUNC,
-	glXDestroyGLXPixmap_FUNC,
-	glXGetClientString_FUNC,
-	glXGetConfig_FUNC,
-	glXGetCurrentContext_FUNC,
-	glXGetCurrentDrawable_FUNC,
-	glXIsDirect_FUNC,
-	glXMakeCurrent_FUNC,
-	glXQueryExtension_FUNC,
-	glXQueryExtensionsString_FUNC,
-	glXQueryServerString_FUNC,
-	glXQueryVersion_FUNC,
-	glXSwapBuffers_FUNC,
-	glXUseXFont_FUNC,
-	glXWaitGL_FUNC,
-	glXWaitX_FUNC,
-	memmove_FUNC,
-} GLX_FUNCS;
diff --git a/bundles/org.eclipse.swt.opengl/gtk/library/glx_structs.c b/bundles/org.eclipse.swt.opengl/gtk/library/glx_structs.c
deleted file mode 100644
index b873c1d..0000000
--- a/bundles/org.eclipse.swt.opengl/gtk/library/glx_structs.c
+++ /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
-*******************************************************************************/
-
-#include "swt.h"
-#include "glx_structs.h"
-
-#ifndef NO_XVisualInfo
-typedef struct XVisualInfo_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID visual, visualid, screen, depth, cclass, red_mask, green_mask, blue_mask, colormap_size, bits_per_rgb;
-} XVisualInfo_FID_CACHE;
-
-XVisualInfo_FID_CACHE XVisualInfoFc;
-
-void cacheXVisualInfoFields(JNIEnv *env, jobject lpObject)
-{
-	if (XVisualInfoFc.cached) return;
-	XVisualInfoFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	XVisualInfoFc.visual = (*env)->GetFieldID(env, XVisualInfoFc.clazz, "visual", "I");
-	XVisualInfoFc.visualid = (*env)->GetFieldID(env, XVisualInfoFc.clazz, "visualid", "I");
-	XVisualInfoFc.screen = (*env)->GetFieldID(env, XVisualInfoFc.clazz, "screen", "I");
-	XVisualInfoFc.depth = (*env)->GetFieldID(env, XVisualInfoFc.clazz, "depth", "I");
-	XVisualInfoFc.cclass = (*env)->GetFieldID(env, XVisualInfoFc.clazz, "cclass", "I");
-	XVisualInfoFc.red_mask = (*env)->GetFieldID(env, XVisualInfoFc.clazz, "red_mask", "I");
-	XVisualInfoFc.green_mask = (*env)->GetFieldID(env, XVisualInfoFc.clazz, "green_mask", "I");
-	XVisualInfoFc.blue_mask = (*env)->GetFieldID(env, XVisualInfoFc.clazz, "blue_mask", "I");
-	XVisualInfoFc.colormap_size = (*env)->GetFieldID(env, XVisualInfoFc.clazz, "colormap_size", "I");
-	XVisualInfoFc.bits_per_rgb = (*env)->GetFieldID(env, XVisualInfoFc.clazz, "bits_per_rgb", "I");
-	XVisualInfoFc.cached = 1;
-}
-
-XVisualInfo *getXVisualInfoFields(JNIEnv *env, jobject lpObject, XVisualInfo *lpStruct)
-{
-	if (!XVisualInfoFc.cached) cacheXVisualInfoFields(env, lpObject);
-	lpStruct->visual = (*env)->GetIntField(env, lpObject, XVisualInfoFc.visual);
-	lpStruct->visualid = (*env)->GetIntField(env, lpObject, XVisualInfoFc.visualid);
-	lpStruct->screen = (*env)->GetIntField(env, lpObject, XVisualInfoFc.screen);
-	lpStruct->depth = (*env)->GetIntField(env, lpObject, XVisualInfoFc.depth);
-	lpStruct->cclass = (*env)->GetIntField(env, lpObject, XVisualInfoFc.cclass);
-	lpStruct->red_mask = (*env)->GetIntField(env, lpObject, XVisualInfoFc.red_mask);
-	lpStruct->green_mask = (*env)->GetIntField(env, lpObject, XVisualInfoFc.green_mask);
-	lpStruct->blue_mask = (*env)->GetIntField(env, lpObject, XVisualInfoFc.blue_mask);
-	lpStruct->colormap_size = (*env)->GetIntField(env, lpObject, XVisualInfoFc.colormap_size);
-	lpStruct->bits_per_rgb = (*env)->GetIntField(env, lpObject, XVisualInfoFc.bits_per_rgb);
-	return lpStruct;
-}
-
-void setXVisualInfoFields(JNIEnv *env, jobject lpObject, XVisualInfo *lpStruct)
-{
-	if (!XVisualInfoFc.cached) cacheXVisualInfoFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, XVisualInfoFc.visual, (jint)lpStruct->visual);
-	(*env)->SetIntField(env, lpObject, XVisualInfoFc.visualid, (jint)lpStruct->visualid);
-	(*env)->SetIntField(env, lpObject, XVisualInfoFc.screen, (jint)lpStruct->screen);
-	(*env)->SetIntField(env, lpObject, XVisualInfoFc.depth, (jint)lpStruct->depth);
-	(*env)->SetIntField(env, lpObject, XVisualInfoFc.cclass, (jint)lpStruct->cclass);
-	(*env)->SetIntField(env, lpObject, XVisualInfoFc.red_mask, (jint)lpStruct->red_mask);
-	(*env)->SetIntField(env, lpObject, XVisualInfoFc.green_mask, (jint)lpStruct->green_mask);
-	(*env)->SetIntField(env, lpObject, XVisualInfoFc.blue_mask, (jint)lpStruct->blue_mask);
-	(*env)->SetIntField(env, lpObject, XVisualInfoFc.colormap_size, (jint)lpStruct->colormap_size);
-	(*env)->SetIntField(env, lpObject, XVisualInfoFc.bits_per_rgb, (jint)lpStruct->bits_per_rgb);
-}
-#endif
-
diff --git a/bundles/org.eclipse.swt.opengl/gtk/library/glx_structs.h b/bundles/org.eclipse.swt.opengl/gtk/library/glx_structs.h
deleted file mode 100644
index c04f092..0000000
--- a/bundles/org.eclipse.swt.opengl/gtk/library/glx_structs.h
+++ /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
-*******************************************************************************/
-
-#include "glx.h"
-
-#ifndef NO_XVisualInfo
-void cacheXVisualInfoFields(JNIEnv *env, jobject lpObject);
-XVisualInfo *getXVisualInfoFields(JNIEnv *env, jobject lpObject, XVisualInfo *lpStruct);
-void setXVisualInfoFields(JNIEnv *env, jobject lpObject, XVisualInfo *lpStruct);
-#define XVisualInfo_sizeof() sizeof(XVisualInfo)
-#else
-#define cacheXVisualInfoFields(a,b)
-#define getXVisualInfoFields(a,b,c) NULL
-#define setXVisualInfoFields(a,b,c)
-#define XVisualInfo_sizeof() 0
-#endif
-
diff --git a/bundles/org.eclipse.swt.opengl/gtk/library/make_linux.mak b/bundles/org.eclipse.swt.opengl/gtk/library/make_linux.mak
deleted file mode 100644
index f2e954c..0000000
--- a/bundles/org.eclipse.swt.opengl/gtk/library/make_linux.mak
+++ /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
-#*******************************************************************************
-
-# Define the installation directories for various products.
-CC=gcc
-LD=gcc
-
-# Define the various shared libraries to be made.
-WS_PREFIX   = gtk
-GL_PREFIX   = gl
-GL_DLL      = lib$(GL_PREFIX)-$(WS_PREFIX).so
-GL_OBJ      = swt.o gl.o glu.o structs.o glx.o
-GL_LIB      = -shared -L/usr/X11R6/lib -lGL -lGLU -lm
-
-CFLAGS = -O2 -Wall -I.
-
-all: make_gl
-
-make_gl: $(GL_DLL)
-	$(LD) $(GL_LIB) -o $(GL_DLL) $(GL_OBJ)
-
-$(GL_DLL): $(GL_OBJ)
-	$(CC) $(CFLAGS) -c glx.c
-
-clean:
-	rm -f *.so *.o
diff --git a/bundles/org.eclipse.swt.opengl/gtk/library/structs.c b/bundles/org.eclipse.swt.opengl/gtk/library/structs.c
deleted file mode 100644
index f11d22d..0000000
--- a/bundles/org.eclipse.swt.opengl/gtk/library/structs.c
+++ /dev/null
@@ -1,73 +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
- *******************************************************************************/
-#include <X11/X.h>
-#include <X11/Xlib.h>
-#include "swt.h"
-#include "structs.h"
-
-typedef struct XVisualInfo_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID visual, visualid, screen, depth, cclass, red_mask, green_mask, blue_mask, colormap_size, bits_per_rgb;
-} XVisualInfo_FID_CACHE;
-typedef XVisualInfo_FID_CACHE *PXVisualInfo_FID_CACHE;
-
-XVisualInfo_FID_CACHE XVisualInfoFc;
-
-void cacheXVisualInfoFids(JNIEnv *env, jobject lpObject, PXVisualInfo_FID_CACHE lpCache)
-{
-	if (lpCache->cached) return;
-	lpCache->clazz = (*env)->GetObjectClass(env, lpObject);
-	lpCache->visual = (*env)->GetFieldID(env, lpCache->clazz, "visual", "I");
-	lpCache->visualid = (*env)->GetFieldID(env, lpCache->clazz, "visualid", "I");
-	lpCache->screen = (*env)->GetFieldID(env, lpCache->clazz, "screen", "I");
-	lpCache->depth = (*env)->GetFieldID(env, lpCache->clazz, "depth", "I");
-	lpCache->cclass = (*env)->GetFieldID(env, lpCache->clazz, "cclass", "I");
-	lpCache->red_mask = (*env)->GetFieldID(env, lpCache->clazz, "red_mask", "I");
-	lpCache->green_mask = (*env)->GetFieldID(env, lpCache->clazz, "green_mask", "I");
-	lpCache->blue_mask = (*env)->GetFieldID(env, lpCache->clazz, "blue_mask", "I");
-	lpCache->colormap_size = (*env)->GetFieldID(env, lpCache->clazz, "colormap_size", "I");
-	lpCache->bits_per_rgb = (*env)->GetFieldID(env, lpCache->clazz, "bits_per_rgb", "I");
-	lpCache->cached = 1;
-}
-
-XVisualInfo *getXVisualInfoFields(JNIEnv *env, jobject lpObject, XVisualInfo *lpStruct)
-{
-	PXVisualInfo_FID_CACHE lpCache = &XVisualInfoFc;
-	if (!lpCache->cached) cacheXVisualInfoFids(env, lpObject, lpCache);
-	lpStruct->visual = (Visual *)(*env)->GetIntField(env, lpObject, lpCache->visual);
-	lpStruct->visualid = (*env)->GetIntField(env, lpObject, lpCache->visualid);
-	lpStruct->screen = (*env)->GetIntField(env, lpObject, lpCache->screen);
-	lpStruct->depth = (*env)->GetIntField(env, lpObject, lpCache->depth);
-	lpStruct->class = (*env)->GetIntField(env, lpObject, lpCache->cclass);
-	lpStruct->red_mask = (*env)->GetIntField(env, lpObject, lpCache->red_mask);
-	lpStruct->green_mask = (*env)->GetIntField(env, lpObject, lpCache->green_mask);
-	lpStruct->blue_mask = (*env)->GetIntField(env, lpObject, lpCache->blue_mask);
-	lpStruct->colormap_size = (*env)->GetIntField(env, lpObject, lpCache->colormap_size);
-	lpStruct->bits_per_rgb = (*env)->GetIntField(env, lpObject, lpCache->bits_per_rgb);
-	return lpStruct;
-}
-
-void setXVisualInfoFields(JNIEnv *env, jobject lpObject, XVisualInfo *lpStruct)
-{
-	PXVisualInfo_FID_CACHE lpCache = &XVisualInfoFc;
-	if (!lpCache->cached) cacheXVisualInfoFids(env, lpObject, lpCache);
-	(*env)->SetIntField(env, lpObject, lpCache->visual, (jint)lpStruct->visual);
-	(*env)->SetIntField(env, lpObject, lpCache->visualid, (jint)lpStruct->visualid);
-	(*env)->SetIntField(env, lpObject, lpCache->screen, (jint)lpStruct->screen);
-	(*env)->SetIntField(env, lpObject, lpCache->depth, (jint)lpStruct->depth);
-	(*env)->SetIntField(env, lpObject, lpCache->cclass, (jint)lpStruct->class);
-	(*env)->SetIntField(env, lpObject, lpCache->red_mask, (jint)lpStruct->red_mask);
-	(*env)->SetIntField(env, lpObject, lpCache->green_mask, (jint)lpStruct->green_mask);
-	(*env)->SetIntField(env, lpObject, lpCache->blue_mask, (jint)lpStruct->blue_mask);
-	(*env)->SetIntField(env, lpObject, lpCache->colormap_size, (jint)lpStruct->colormap_size);
-	(*env)->SetIntField(env, lpObject, lpCache->bits_per_rgb, (jint)lpStruct->bits_per_rgb);
-}
diff --git a/bundles/org.eclipse.swt.opengl/gtk/library/structs.h b/bundles/org.eclipse.swt.opengl/gtk/library/structs.h
deleted file mode 100644
index 5d98fdd..0000000
--- a/bundles/org.eclipse.swt.opengl/gtk/library/structs.h
+++ /dev/null
@@ -1,16 +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
- *******************************************************************************/
-#include <X11/X.h>
-#include <X11/Xutil.h>
-
-XVisualInfo *getXVisualInfoFields(JNIEnv *env, jobject lpObject, XVisualInfo *lpStruct);
-void setXVisualInfoFields(JNIEnv *env, jobject lpObject, XVisualInfo *lpStruct);
-
diff --git a/bundles/org.eclipse.swt.opengl/gtk/org/eclipse/swt/internal/opengl/gtk/GLX.java b/bundles/org.eclipse.swt.opengl/gtk/org/eclipse/swt/internal/opengl/gtk/GLX.java
deleted file mode 100755
index 3507933..0000000
--- a/bundles/org.eclipse.swt.opengl/gtk/org/eclipse/swt/internal/opengl/gtk/GLX.java
+++ /dev/null
@@ -1,221 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.opengl.gtk;
-
-import org.eclipse.swt.opengl.Library;
-
-public class GLX {
-	
-static {
-	Library.loadLibrary("gl");
-}
-
-/*
-** Visual Config Attributes (glXGetConfig, glXGetFBConfigAttrib)
-*/
-public static final int GLX_USE_GL				= 1;	/* support GLX rendering */
-public static final int GLX_BUFFER_SIZE			= 2;	/* depth of the color buffer */
-public static final int GLX_LEVEL				= 3;	/* level in plane stacking */
-public static final int GLX_RGBA				= 4;	/* true if RGBA mode */
-public static final int GLX_DOUBLEBUFFER		= 5;	/* double buffering supported */
-public static final int GLX_STEREO				= 6;	/* stereo buffering supported */
-public static final int GLX_AUX_BUFFERS			= 7;	/* number of aux buffers */
-public static final int GLX_RED_SIZE			= 8;	/* number of red component bits */
-public static final int GLX_GREEN_SIZE			= 9;	/* number of green component bits */
-public static final int GLX_BLUE_SIZE			= 10;	/* number of blue component bits */
-public static final int GLX_ALPHA_SIZE			= 11;	/* number of alpha component bits */
-public static final int GLX_DEPTH_SIZE			= 12;	/* number of depth bits */
-public static final int GLX_STENCIL_SIZE		= 13;	/* number of stencil bits */
-public static final int GLX_ACCUM_RED_SIZE		= 14;	/* number of red accum bits */
-public static final int GLX_ACCUM_GREEN_SIZE	= 15;	/* number of green accum bits */
-public static final int GLX_ACCUM_BLUE_SIZE		= 16;	/* number of blue accum bits */
-public static final int GLX_ACCUM_ALPHA_SIZE	= 17;	/* number of alpha accum bits */
-/*
-** FBConfig-specific attributes
-*/
-public static final int GLX_X_VISUAL_TYPE		= 0x22;
-public static final int GLX_CONFIG_CAVEAT		= 0x20;	/* Like visual_info VISUAL_CAVEAT_EXT */
-public static final int GLX_TRANSPARENT_TYPE	= 0x23;
-public static final int GLX_TRANSPARENT_INDEX_VALUE	= 0x24;
-public static final int GLX_TRANSPARENT_RED_VALUE	= 0x25;
-public static final int GLX_TRANSPARENT_GREEN_VALUE	= 0x26;
-public static final int GLX_TRANSPARENT_BLUE_VALUE	= 0x27;
-public static final int GLX_TRANSPARENT_ALPHA_VALUE	= 0x28;
-public static final int GLX_DRAWABLE_TYPE		= 0x8010;
-public static final int GLX_RENDER_TYPE			= 0x8011;
-public static final int GLX_X_RENDERABLE		= 0x8012;
-public static final int GLX_FBCONFIG_ID			= 0x8013;
-public static final int GLX_MAX_PBUFFER_WIDTH	= 0x8016;
-public static final int GLX_MAX_PBUFFER_HEIGHT	= 0x8017;
-public static final int GLX_MAX_PBUFFER_PIXELS	= 0x8018;
-public static final int GLX_VISUAL_ID			= 0x800B;
-
-/*
-** Error return values from glXGetConfig.  Success is indicated by
-** a value of 0.
-*/
-public static final int GLX_BAD_SCREEN		= 1;	/* screen # is bad */
-public static final int GLX_BAD_ATTRIBUTE	= 2;	/* attribute to get is bad */
-public static final int GLX_NO_EXTENSION	= 3;	/* no glx extension on server */
-public static final int GLX_BAD_VISUAL		= 4;	/* visual # not known by GLX */
-public static final int GLX_BAD_CONTEXT		= 5;	/* returned only by import_context EXT? */
-public static final int GLX_BAD_VALUE		= 6;	/* returned only by glXSwapIntervalSGI? */
-public static final int GLX_BAD_ENUM		= 7;	/* unused? */
-
-/* FBConfig attribute values */
-
-/*
-** Generic "don't care" value for glX ChooseFBConfig attributes (except
-** GLX_LEVEL)
-*/
-public static final int GLX_DONT_CARE			= 0xFFFFFFFF;
-
-/* GLX_RENDER_TYPE bits */
-public static final int GLX_RGBA_BIT			= 0x00000001;
-public static final int GLX_COLOR_INDEX_BIT		= 0x00000002;
-
-/* GLX_DRAWABLE_TYPE bits */
-public static final int GLX_WINDOW_BIT			= 0x00000001;
-public static final int GLX_PIXMAP_BIT			= 0x00000002;
-public static final int GLX_PBUFFER_BIT			= 0x00000004;
-
-/* GLX_CONFIG_CAVEAT attribute values */
-public static final int GLX_NONE				= 0x8000;
-public static final int GLX_SLOW_CONFIG			= 0x8001;
-public static final int GLX_NON_CONFORMANT_CONFIG	= 0x800D;
-
-/* GLX_X_VISUAL_TYPE attribute values */
-public static final int GLX_TRUE_COLOR			= 0x8002;
-public static final int GLX_DIRECT_COLOR		= 0x8003;
-public static final int GLX_PSEUDO_COLOR		= 0x8004;
-public static final int GLX_STATIC_COLOR		= 0x8005;
-public static final int GLX_GRAY_SCALE			= 0x8006;
-public static final int GLX_STATIC_GRAY			= 0x8007;
-
-/* GLX_TRANSPARENT_TYPE attribute values */
-/* public static final int GLX_NONE			   0x8000 */
-public static final int GLX_TRANSPARENT_RGB		= 0x8008;
-public static final int GLX_TRANSPARENT_INDEX	= 0x8009;
-
-/* glXCreateGLXPbuffer attributes */
-public static final int GLX_PRESERVED_CONTENTS	= 0x801B;
-public static final int GLX_LARGEST_PBUFFER		= 0x801C;
-public static final int GLX_PBUFFER_HEIGHT		= 0x8040;	/* New for GLX 1.3 */
-public static final int GLX_PBUFFER_WIDTH		= 0x8041;	/* New for GLX 1.3 */
-
-/* glXQueryGLXPBuffer attributes */
-public static final int GLX_WIDTH		= 0x801D;
-public static final int GLX_HEIGHT		= 0x801E;
-public static final int GLX_EVENT_MASK	= 0x801F;
-
-/* glXCreateNewContext render_type attribute values */
-public static final int GLX_RGBA_TYPE			= 0x8014;
-public static final int GLX_COLOR_INDEX_TYPE	= 0x8015;
-
-/* glXQueryContext attributes */
-/* public static final int GLX_FBCONFIG_ID		  0x8013 */
-/* public static final int GLX_RENDER_TYPE		  0x8011 */
-public static final int GLX_SCREEN			= 0x800C;
-
-/* glXSelectEvent event mask bits */
-public static final int GLX_PBUFFER_CLOBBER_MASK	= 0x08000000;
-
-/* GLXPbufferClobberEvent event_type values */
-public static final int GLX_DAMAGED			= 0x8020;
-public static final int GLX_SAVED			= 0x8021;
-
-/* GLXPbufferClobberEvent draw_type values */
-public static final int GLX_WINDOW			= 0x8022;
-public static final int GLX_PBUFFER			= 0x8023;
-
-/* GLXPbufferClobberEvent buffer_mask bits */
-public static final int GLX_FRONT_LEFT_BUFFER_BIT	= 0x00000001;
-public static final int GLX_FRONT_RIGHT_BUFFER_BIT	= 0x00000002;
-public static final int GLX_BACK_LEFT_BUFFER_BIT	= 0x00000004;
-public static final int GLX_BACK_RIGHT_BUFFER_BIT	= 0x00000008;
-public static final int GLX_AUX_BUFFERS_BIT		= 0x00000010;
-public static final int GLX_DEPTH_BUFFER_BIT		= 0x00000020;
-public static final int GLX_STENCIL_BUFFER_BIT		= 0x00000040;
-public static final int GLX_ACCUM_BUFFER_BIT		= 0x00000080;
-
-/*
-** Extension return values from glXGetConfig.  These are also
-** accepted as parameter values for glXChooseVisual.
-*/
-
-public static final int GLX_X_VISUAL_TYPE_EXT = 0x22;	/* visual_info extension type */
-public static final int GLX_TRANSPARENT_TYPE_EXT = 0x23;	/* visual_info extension */
-public static final int GLX_TRANSPARENT_INDEX_VALUE_EXT = 0x24;	/* visual_info extension */
-public static final int GLX_TRANSPARENT_RED_VALUE_EXT	= 0x25;	/* visual_info extension */
-public static final int GLX_TRANSPARENT_GREEN_VALUE_EXT = 0x26;	/* visual_info extension */
-public static final int GLX_TRANSPARENT_BLUE_VALUE_EXT	= 0x27;	/* visual_info extension */
-public static final int GLX_TRANSPARENT_ALPHA_VALUE_EXT = 0x28;	/* visual_info extension */
-
-/* Property values for visual_type */
-public static final int GLX_TRUE_COLOR_EXT	= 0x8002;
-public static final int GLX_DIRECT_COLOR_EXT	= 0x8003;
-public static final int GLX_PSEUDO_COLOR_EXT	= 0x8004;
-public static final int GLX_STATIC_COLOR_EXT	= 0x8005;
-public static final int GLX_GRAY_SCALE_EXT	= 0x8006;
-public static final int GLX_STATIC_GRAY_EXT	= 0x8007;
-
-/* Property values for transparent pixel */
-public static final int GLX_NONE_EXT		= 0x8000;
-public static final int GLX_TRANSPARENT_RGB_EXT		= 0x8008;
-public static final int GLX_TRANSPARENT_INDEX_EXT	= 0x8009;
-
-/* Property values for visual_rating */
-public static final int GLX_VISUAL_CAVEAT_EXT		= 0x20;  /* visual_rating extension type */
-public static final int GLX_SLOW_VISUAL_EXT		= 0x8001;
-public static final int GLX_NON_CONFORMANT_VISUAL_EXT	= 0x800D;
-
-/*
-** Names for attributes to glXGetClientString.
-*/
-public static final int GLX_VENDOR		= 0x1;
-public static final int GLX_VERSION		= 0x2;
-public static final int GLX_EXTENSIONS	= 0x3;
-
-/*
-** Names for attributes to glXQueryContextInfoEXT.
-*/
-public static final int GLX_SHARE_CONTEXT_EXT = 0x800A;	/* id of share context */
-public static final int GLX_VISUAL_ID_EXT = 0x800B;	/* id of context's visual */
-public static final int GLX_SCREEN_EXT = 0x800C;	/* screen number */
-
-/*
-* GLX 1.4 
-*/
-public static final int GLX_SAMPLE_BUFFERS = 100000;
-public static final int GLX_SAMPLES = 100001;
-
-public static final native int glXChooseVisual(int dpy, int screen, int[] attribList);
-public static final native void glXCopyContext(int dpy, int src, int dst, int mask);
-public static final native int glXCreateContext(int dpy, XVisualInfo vis, int shareList, boolean direct);
-public static final native int glXCreateGLXPixmap(int dpy, XVisualInfo vis, int pixmap);
-public static final native void glXDestroyContext(int dpy, int ctx);
-public static final native void glXDestroyGLXPixmap(int dpy, int pix);
-public static final native int glXGetConfig(int dpy, XVisualInfo vis, int attrib, int[] value);
-public static final native int glXGetCurrentContext();
-public static final native int glXGetCurrentDrawable();
-public static final native boolean glXIsDirect(int dpy, int ctx);
-public static final native boolean glXMakeCurrent(int dpy, int drawable, int ctx);
-public static final native boolean glXQueryExtension(int dpy, int[] errorBase, int[] eventBase);
-public static final native boolean glXQueryVersion(int dpy, int[] major, int[] minor);
-public static final native void glXSwapBuffers(int dpy, int drawable);
-public static final native void glXUseXFont(int font, int first, int count, int listBase);
-public static final native void glXWaitGL();
-public static final native void glXWaitX();
-public static final native int glXGetClientString(int dpy, int name);
-public static final native int glXQueryServerString(int dpy, int screen, int name);
-public static final native int glXQueryExtensionsString(int dpy, int screen);
-public static final native void memmove(XVisualInfo dest, int src, int size);
-}
diff --git a/bundles/org.eclipse.swt.opengl/gtk/org/eclipse/swt/internal/opengl/gtk/XVisualInfo.java b/bundles/org.eclipse.swt.opengl/gtk/org/eclipse/swt/internal/opengl/gtk/XVisualInfo.java
deleted file mode 100755
index 8f39696..0000000
--- a/bundles/org.eclipse.swt.opengl/gtk/org/eclipse/swt/internal/opengl/gtk/XVisualInfo.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.opengl.gtk;
-
- 
-public class XVisualInfo {
-	public int visual;
-	public int visualid;
-	public int screen;
-	public int depth;
-	public int cclass;
-	public int red_mask, green_mask, blue_mask;
-	public int colormap_size;
-	public int bits_per_rgb;
-	public static final int sizeof = 40;
-}
diff --git a/bundles/org.eclipse.swt.opengl/gtk/org/eclipse/swt/opengl/GLCanvas.java b/bundles/org.eclipse.swt.opengl/gtk/org/eclipse/swt/opengl/GLCanvas.java
deleted file mode 100644
index 113f3ed..0000000
--- a/bundles/org.eclipse.swt.opengl/gtk/org/eclipse/swt/opengl/GLCanvas.java
+++ /dev/null
@@ -1,257 +0,0 @@
-package org.eclipse.swt.opengl;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.gtk.*;
-import org.eclipse.swt.internal.opengl.gtk.*;
-import org.eclipse.opengl.*;
-
-/**
- * GLCanvas is a widget capable of displaying OpenGL content.
- */
-
-public class GLCanvas extends Canvas {
-	int /*long*/ xdisplay;
-	int /*long*/ xid;
-	int /*long*/ context;
-	int /*long*/ glWindow;
-	XVisualInfo vinfo;
-
-	private static final int MAX_ATTRIBUTES = 32;
-
-/**
- * Create a GLCanvas widget using the attributes described in the GLData
- * object provided.
- *
- * @param parent a composite widget
- * @param style the bitwise OR'ing of widget styles
- * @param data the requested attributes of the GLCanvas
- *
- * @exception IllegalArgumentException
- * <ul><li>ERROR_NULL_ARGUMENT when the data is null
- *     <li>ERROR_UNSUPPORTED_DEPTH when the requested attributes cannot be provided</ul> 
- * @exception SWTException
- * <ul><li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread
- *     <li>ERROR_CANNOT_CREATE_OBJECT when failed to create OLE Object
- *     <li>ERROR_CANNOT_OPEN_FILE when failed to open file
- *     <li>ERROR_INTERFACE_NOT_FOUND when unable to create callbacks for OLE Interfaces
- *     <li>ERROR_INVALID_CLASSID
- * </ul>
- */
-public GLCanvas (Composite parent, int style, GLData data) {
-	super (parent, style);	
-	if (data == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-	int glxAttrib [] = new int [MAX_ATTRIBUTES];
-	int pos = 0;
-
-	OS.gtk_widget_realize (handle);
-	int /*long*/ window = OS.GTK_WIDGET_WINDOW (handle);
-	xdisplay = OS.gdk_x11_drawable_get_xdisplay (window);
-	int xscreen = OS.XDefaultScreen (xdisplay);
-
-	glxAttrib [pos++] = GLX.GLX_RGBA;
-	if (data.doubleBuffer) glxAttrib [pos++] = GLX.GLX_DOUBLEBUFFER;
-	if (data.stereo) glxAttrib [pos++] = GLX.GLX_STEREO;
-	if (data.redSize > 0) {
-		glxAttrib [pos++] = GLX.GLX_RED_SIZE;
-		glxAttrib [pos++] = data.redSize;
-	}
-	if (data.greenSize > 0) {
-		glxAttrib [pos++] = GLX.GLX_GREEN_SIZE;
-		glxAttrib [pos++] = data.greenSize;
-	}
-	if (data.blueSize > 0) {
-		glxAttrib [pos++] = GLX.GLX_BLUE_SIZE;
-		glxAttrib [pos++] = data.blueSize;
-	}
-	if (data.alphaSize > 0) {
-		glxAttrib [pos++] = GLX.GLX_ALPHA_SIZE;
-		glxAttrib [pos++] = data.alphaSize;
-	}
-	if (data.depthSize > 0) {
-		glxAttrib [pos++] = GLX.GLX_DEPTH_SIZE;
-		glxAttrib [pos++] = data.depthSize;
-	}
-	if (data.stencilSize > 0) {
-		glxAttrib [pos++] = GLX.GLX_STENCIL_SIZE;
-		glxAttrib [pos++] = data.stencilSize;
-	}
-	if (data.accumRedSize > 0) {
-		glxAttrib [pos++] = GLX.GLX_ACCUM_RED_SIZE;
-		glxAttrib [pos++] = data.accumRedSize;
-	}
-	if (data.accumGreenSize > 0) {
-		glxAttrib [pos++] = GLX.GLX_ACCUM_GREEN_SIZE;
-		glxAttrib [pos++] = data.accumGreenSize;
-	}
-	if (data.accumBlueSize > 0) {
-		glxAttrib [pos++] = GLX.GLX_ACCUM_BLUE_SIZE;
-		glxAttrib [pos++] = data.accumBlueSize;
-	}
-	if (data.accumAlphaSize > 0) {
-		glxAttrib [pos++] = GLX.GLX_ACCUM_ALPHA_SIZE;
-		glxAttrib [pos++] = data.accumAlphaSize;
-	}
-	if (data.sampleBuffers > 0) {
-		glxAttrib [pos++] = GLX.GLX_SAMPLE_BUFFERS;
-		glxAttrib [pos++] = data.sampleBuffers;
-	}
-	if (data.samples > 0) {
-		glxAttrib [pos++] = GLX.GLX_SAMPLES;
-		glxAttrib [pos++] = data.samples;
-	}
-	glxAttrib [pos++] = 0;
-	int infoPtr = GLX.glXChooseVisual (xdisplay, xscreen, glxAttrib);
-	if (infoPtr == 0) SWT.error (SWT.ERROR_UNSUPPORTED_DEPTH);
-	vinfo = new XVisualInfo ();
-	GLX.memmove (vinfo, infoPtr, XVisualInfo.sizeof);
-	OS.XFree (infoPtr);
-	int /*long*/ screen = OS.gdk_screen_get_default ();
-	int /*long*/ gdkvisual = OS.gdk_x11_screen_lookup_visual (screen, vinfo.visualid);
-	//context = GLX.glXCreateContext (xdisplay, info, share == null ? 0 : share.context, true);
-	context = GLX.glXCreateContext (xdisplay, vinfo, 0, true);
-	if (context == 0) SWT.error (SWT.ERROR_NO_HANDLES);
-	GdkWindowAttr attrs = new GdkWindowAttr ();
-	attrs.width = 1;
-	attrs.height = 1;
-	attrs.event_mask = OS.GDK_KEY_PRESS_MASK | OS.GDK_KEY_RELEASE_MASK |
-		OS.GDK_FOCUS_CHANGE_MASK | OS.GDK_POINTER_MOTION_MASK |
-		OS.GDK_BUTTON_PRESS_MASK | OS.GDK_BUTTON_RELEASE_MASK |
-		OS.GDK_ENTER_NOTIFY_MASK | OS.GDK_LEAVE_NOTIFY_MASK |
-		OS.GDK_EXPOSURE_MASK | OS.GDK_VISIBILITY_NOTIFY_MASK;
-	attrs.window_type = OS.GDK_WINDOW_CHILD;
-	attrs.visual = gdkvisual;
-	glWindow = OS.gdk_window_new (window, attrs, OS.GDK_WA_VISUAL);
-	OS.gdk_window_set_user_data (glWindow, handle);
-	xid = OS.gdk_x11_drawable_get_xid (glWindow);
-	OS.gdk_window_show (glWindow);
-
-	Listener listener = new Listener () {
-		public void handleEvent (Event event) {
-			switch (event.type) {
-			case SWT.Paint:
-				/**
-				* Bug in MESA.  MESA does some nasty sort of polling to try
-				* and ensure that their buffer sizes match the current X state.
-				* This state can be updated using glViewport().
-				* FIXME: There has to be a better way of doing this.
-				*/
-				int [] viewport = new int [4];
-				GL.glGetIntegerv (GL.GL_VIEWPORT, viewport);
-				GL.glViewport (viewport [0],viewport [1],viewport [2],viewport [3]);
-				break;
-			case SWT.Resize:
-				Rectangle clientArea = getClientArea();
-				OS.gdk_window_move (glWindow, clientArea.x, clientArea.y);
-				OS.gdk_window_resize (glWindow, clientArea.width, clientArea.height);
-				break;
-			case SWT.Dispose:
-				if (context != 0) {
-					if (GLX.glXGetCurrentContext () == context) {
-						GLX.glXMakeCurrent(xdisplay, 0, 0);
-					}
-					GLX.glXDestroyContext (xdisplay, context);
-					context = 0;
-				}
-				if (glWindow != 0) {
-					OS.gdk_window_destroy (glWindow);
-					glWindow = 0;
-				}
-				break;
-			}
-		}
-	};
-	addListener (SWT.Resize, listener);
-	addListener (SWT.Paint, listener);
-	addListener (SWT.Dispose, listener);
-}
-
-/**
- * Returns a GLData object describing the created context.
- *  
- * @return GLData description of the OpenGL context attributes
- * @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 GLData getGLData () {
-	checkWidget ();
-	GLData data = new GLData ();
-	int [] value = new int [1];
-	GLX.glXGetConfig (xdisplay, vinfo, GLX.GLX_DOUBLEBUFFER, value);
-	data.doubleBuffer = value [0] != 0;
-	GLX.glXGetConfig (xdisplay, vinfo, GLX.GLX_STEREO, value);
-	data.stereo = value [0] != 0;
-	GLX.glXGetConfig (xdisplay, vinfo, GLX.GLX_RED_SIZE, value);
-	data.redSize = value [0];
-	GLX.glXGetConfig (xdisplay, vinfo, GLX.GLX_GREEN_SIZE, value);
-	data.greenSize = value [0];
-	GLX.glXGetConfig (xdisplay, vinfo, GLX.GLX_BLUE_SIZE, value);
-	data.blueSize = value [0];
-	GLX.glXGetConfig (xdisplay, vinfo, GLX.GLX_ALPHA_SIZE, value);
-	data.alphaSize = value [0];
-	GLX.glXGetConfig (xdisplay, vinfo, GLX.GLX_DEPTH_SIZE, value);
-	data.depthSize = value [0];
-	GLX.glXGetConfig (xdisplay, vinfo, GLX.GLX_STENCIL_SIZE, value);
-	data.stencilSize = value [0];
-	GLX.glXGetConfig (xdisplay, vinfo, GLX.GLX_ACCUM_RED_SIZE, value);
-	data.accumRedSize = value [0];
-	GLX.glXGetConfig (xdisplay, vinfo, GLX.GLX_ACCUM_GREEN_SIZE, value);
-	data.accumGreenSize = value [0];
-	GLX.glXGetConfig (xdisplay, vinfo, GLX.GLX_ACCUM_BLUE_SIZE, value);
-	data.accumBlueSize = value [0];
-	GLX.glXGetConfig (xdisplay, vinfo, GLX.GLX_ACCUM_ALPHA_SIZE, value);
-	data.accumAlphaSize = value [0];
-	GLX.glXGetConfig (xdisplay, vinfo, GLX.GLX_SAMPLE_BUFFERS, value);
-	data.sampleBuffers = value [0];
-	GLX.glXGetConfig (xdisplay, vinfo, GLX.GLX_SAMPLES, value);
-	data.samples = value [0];
-	return data;
-}
-
-/**
- * Returns a boolean indicating whether the receiver's OpenGL context
- * is the current context.
- *  
- * @return true if the receiver holds the current OpenGL context,
- * false otherwise
- * @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 isCurrent () {
-	checkWidget ();
-	return GLX.glXGetCurrentContext () == context;
-}
-
-/**
- * Sets the OpenGL context associated with this GLCanvas to be the
- * current GL context.
- * 
- * @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 setCurrent () {
-	checkWidget ();
-	if (GLX.glXGetCurrentContext () == context) return;
-	GLX.glXMakeCurrent (xdisplay, xid, context);
-}
-
-/**
- * Swaps the front and back color buffers.
- * 
- * @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 swapBuffers () {
-	checkWidget ();
-	GLX.glXSwapBuffers (xdisplay, xid);
-}
-}
diff --git a/bundles/org.eclipse.swt.opengl/motif/library/build.sh b/bundles/org.eclipse.swt.opengl/motif/library/build.sh
deleted file mode 100644
index afec19d..0000000
--- a/bundles/org.eclipse.swt.opengl/motif/library/build.sh
+++ /dev/null
@@ -1,70 +0,0 @@
-#!/bin/sh
-#*******************************************************************************
-# 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
-#     Kevin Cornell (Rational Software Corporation)
-#     Tom Tromey (Red Hat, Inc.)
-#     Sridhar Bidigalu (ICS)
-#*******************************************************************************
-
-cd `dirname $0`
-
-# Determine the operating system being built
-makefile=""
-OS=`uname -s`
-MODEL=`uname -m`
-
-case $OS in
-	"AIX")
-		JAVA_HOME=/bluebird/teamswt/swt-builddir/aixj9
-		MOTIF_HOME=/usr
-		CDE_HOME=/usr/dt
-		makefile="make_aix.mak"
-		echo "Building AIX version of SWT"
-		;;
-	"Linux")
-		JAVA_HOME=/bluebird/teamswt/swt-builddir/IBMJava2-141
-		MOTIF_HOME=/bluebird/teamswt/swt-builddir/motif21
-		QT_HOME=$QTDIR
-		makefile="make_linux.mak"
-		echo "Building Linux version of SWT"
-		;;
-	"SunOS")
-		JAVA_HOME=/usr/java
-		MOTIF_HOME=/usr/dt
-		CDE_HOME=/usr/dt
-		PATH=/opt/SUNWspro/bin:$PATH
-		export PATH		
-		makefile="make_solaris.mak"
-		echo "Building Solaris version of SWT"
-		;;
-	"HP-UX")
-		JAVA_HOME=/opt/jdk14101
-		MOTIF_HOME=/usr
-		CDE_HOME=/usr/dt
-		case $MODEL in
-			"ia64")
-				makefile="make_hpux_ia64.mak"
-				echo "Building HPUX ia64 version of SWT"
-				;;
-			*)
-				makefile="make_hpux_PA_RISC.mak"
-				echo "Building HPUX risc version of SWT"
-				;;
-		esac
-		;;
-
-	*)
-		echo "Unknown OS -- build aborted"
-		;;
-esac
-
-export JAVA_HOME MOTIF_HOME CDE_HOME QT_HOME
-
-make -f $makefile $1 $2 $3 $4
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt.opengl/motif/library/glx.c b/bundles/org.eclipse.swt.opengl/motif/library/glx.c
deleted file mode 100644
index df8e102..0000000
--- a/bundles/org.eclipse.swt.opengl/motif/library/glx.c
+++ /dev/null
@@ -1,232 +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
- *******************************************************************************/
-#include <GL/glx.h>
-#include "swt.h"
-#include "structs.h"
-
-#define XGL_NATIVE(func) Java_org_eclipse_swt_opengl_internal_motif_XGL_##func
-
-JNIEXPORT jint JNICALL XGL_NATIVE(glXChooseVisual)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	jint rc;
-
-	DEBUG_CALL("glXChooseVisual\n")
-
-	if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
-	rc = (jint)glXChooseVisual((Display *)arg0, arg1, (int *)lparg2);
-	if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	return rc;
-}
-
-JNIEXPORT void JNICALL XGL_NATIVE(glXCopyContext)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	DEBUG_CALL("glXCopyContext\n")
-
-	glXCopyContext((Display *)arg0, (GLXContext)arg1, (GLXContext)arg2, arg3);
-}
-
-JNIEXPORT jint JNICALL XGL_NATIVE(glXCreateContext)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2, jboolean arg3)
-{
-	XVisualInfo _arg1, *lparg1=NULL;
-	jint rc;
-
-	DEBUG_CALL("glXCreateContext\n")
-
-	if (arg1) lparg1 = getXVisualInfoFields(env, arg1, &_arg1);
-	rc = (jint)glXCreateContext((Display *)arg0, lparg1, (GLXContext)arg2, arg3);
-	if (arg1) setXVisualInfoFields(env, arg1, lparg1);
-	return rc;
-}
-
-JNIEXPORT jint JNICALL XGL_NATIVE(glXCreateGLXPixmap)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	XVisualInfo _arg1, *lparg1=NULL;
-	jint rc;
-
-	DEBUG_CALL("glXCreateGLXPixmap\n")
-
-	if (arg1) lparg1 = getXVisualInfoFields(env, arg1, &_arg1);
-	rc = (jint)glXCreateGLXPixmap((Display *)arg0, lparg1, arg2);
-	if (arg1) setXVisualInfoFields(env, arg1, lparg1);
-	return rc;
-}
-
-JNIEXPORT void JNICALL XGL_NATIVE(glXDestroyContext)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	DEBUG_CALL("glXDestroyContext\n")
-
-	glXDestroyContext((Display *)arg0, (GLXContext)arg1);
-}
-
-JNIEXPORT void JNICALL XGL_NATIVE(glXDestroyGLXPixmap)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	DEBUG_CALL("glXDestroyGLXPixmap\n")
-
-	glXDestroyGLXPixmap((Display *)arg0, arg1);
-}
-
-JNIEXPORT jint JNICALL XGL_NATIVE(glXGetClientString)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	DEBUG_CALL("glXGetClientString\n")
-
-	return (jint)glXGetClientString((Display *)arg0, arg1);
-}
-
-JNIEXPORT jint JNICALL XGL_NATIVE(glXGetConfig)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2, jintArray arg3)
-{
-	XVisualInfo _arg1, *lparg1=NULL;
-	jint *lparg3=NULL;
-	jint rc;
-
-	DEBUG_CALL("glXGetConfig\n")
-
-	if (arg1) lparg1 = getXVisualInfoFields(env, arg1, &_arg1);
-	if (arg3) lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL);
-	rc = (jint)glXGetConfig((Display *)arg0, lparg1, arg2, (int *)lparg3);
-	if (arg1) setXVisualInfoFields(env, arg1, lparg1);
-	if (arg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	return rc;
-}
-
-JNIEXPORT jint JNICALL XGL_NATIVE(glXGetCurrentContext)
-	(JNIEnv *env, jclass that)
-{
-	DEBUG_CALL("glXGetCurrentContext\n")
-
-	return (jint)glXGetCurrentContext();
-}
-
-JNIEXPORT jint JNICALL XGL_NATIVE(glXGetCurrentDrawable)
-	(JNIEnv *env, jclass that)
-{
-	DEBUG_CALL("glXGetCurrentDrawable\n")
-
-	return (jint)glXGetCurrentDrawable();
-}
-
-JNIEXPORT jboolean JNICALL XGL_NATIVE(glXIsDirect)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	DEBUG_CALL("glXIsDirect\n")
-
-	return (jboolean)glXIsDirect((Display *)arg0, (GLXContext)arg1);
-}
-
-JNIEXPORT jboolean JNICALL XGL_NATIVE(glXMakeCurrent)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	DEBUG_CALL("glXMakeCurrent\n")
-
-	return (jboolean)glXMakeCurrent((Display *)arg0, (GLXDrawable)arg1, (GLXContext)arg2);
-}
-
-JNIEXPORT jboolean JNICALL XGL_NATIVE(glXQueryExtension)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jintArray arg2)
-{
-	jint *lparg1=NULL;
-	jint *lparg2=NULL;
-	jboolean rc;
-
-	DEBUG_CALL("glXQueryExtension\n")
-
-	if (arg1) lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL);
-	if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
-	rc = (jboolean)glXQueryExtension((Display *)arg0, (int *)lparg1, (int *)lparg2);
-	if (arg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	return rc;
-}
-
-JNIEXPORT jint JNICALL XGL_NATIVE(glXQueryExtensionsString)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	DEBUG_CALL("glXQueryExtensionsString\n")
-
-	return (jint)glXQueryExtensionsString((Display *)arg0, arg1);
-}
-
-JNIEXPORT jint JNICALL XGL_NATIVE(glXQueryServerString)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	DEBUG_CALL("glXQueryServerString\n")
-
-	return (jint)glXQueryServerString((Display *)arg0, arg1, arg2);
-}
-
-JNIEXPORT jboolean JNICALL XGL_NATIVE(glXQueryVersion)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jintArray arg2)
-{
-	jint *lparg1=NULL;
-	jint *lparg2=NULL;
-	jboolean rc;
-
-	DEBUG_CALL("glXQueryVersion\n")
-
-	if (arg1) lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL);
-	if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
-	rc = (jboolean)glXQueryVersion((Display *)arg0, (int *)lparg1, (int *)lparg2);
-	if (arg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	return rc;
-}
-
-JNIEXPORT void JNICALL XGL_NATIVE(glXSwapBuffers)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	DEBUG_CALL("glXSwapBuffers\n")
-
-	glXSwapBuffers((Display *)arg0, (GLXDrawable)arg1);
-}
-
-JNIEXPORT void JNICALL XGL_NATIVE(glXUseXFont)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	DEBUG_CALL("glXUseXFont\n")
-
-	glXUseXFont(arg0, arg1, arg2, arg3);
-}
-
-JNIEXPORT void JNICALL XGL_NATIVE(glXWaitGL)
-	(JNIEnv *env, jclass that)
-{
-	DEBUG_CALL("glXWaitGL\n")
-
-	glXWaitGL();
-}
-
-JNIEXPORT void JNICALL XGL_NATIVE(glXWaitX)
-	(JNIEnv *env, jclass that)
-{
-	DEBUG_CALL("glXWaitX\n")
-
-	glXWaitX();
-}
-
-JNIEXPORT void JNICALL XGL_NATIVE(memmove__Lorg_eclipse_swt_opengl_internal_motif_XVisualInfo_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	XVisualInfo _arg0, *lparg0=NULL;
-
-	DEBUG_CALL("memmove__Lorg_eclipse_swt_opengl_internal_motif_XVisualInfo_2II\n")
-
-	if (arg0) lparg0 = &_arg0;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-	if (arg0) setXVisualInfoFields(env, arg0, lparg0);
-}
diff --git a/bundles/org.eclipse.swt.opengl/motif/library/make_aix.mak b/bundles/org.eclipse.swt.opengl/motif/library/make_aix.mak
deleted file mode 100644
index 78b7b7a..0000000
--- a/bundles/org.eclipse.swt.opengl/motif/library/make_aix.mak
+++ /dev/null
@@ -1,40 +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
-#*******************************************************************************
-
-# Define the installation directories for various products.
-#    JAVA_HOME  - The JDK > 1.3
-JAVA_HOME   = /usr/java131
-
-# Define the various shared libraries to be made.
-SWT_PREFIX   = swt
-WS_PREFIX    = motif
-SWT_DLL      = lib$(SWT_PREFIX)-$(WS_PREFIX).so
-SWT_OBJ      = swt.o gl.o glu.o structs.o glx.o
-SWT_LIB      = -G -bnoentry -lc_r -lC_r -lm -bexpall -lMrm -lX11 -lXext -liconv -lGL -lGLU
-
-#
-# The following CFLAGS are for compiling the SWT OpenGL library.
-#
-CFLAGS = -O -s \
-	-DAIX \
-	-DNO_XINERAMA_EXTENSIONS \
-	-q mbcs -qlanglvl=extended -qmaxmem=8192 \
-	-I$(JAVA_HOME)/include
-
-all: make_swt
-
-make_swt: $(SWT_DLL)
-
-$(SWT_DLL): $(SWT_OBJ)
-	ld $(SWT_LIB) -o $(SWT_DLL) $(SWT_OBJ)
-
-clean:
-	rm -f *.o *.so *.a
diff --git a/bundles/org.eclipse.swt.opengl/motif/library/make_hpux.mak b/bundles/org.eclipse.swt.opengl/motif/library/make_hpux.mak
deleted file mode 100644
index e0afb28..0000000
--- a/bundles/org.eclipse.swt.opengl/motif/library/make_hpux.mak
+++ /dev/null
@@ -1,44 +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
-#*******************************************************************************
-
-# Define the installation directories for various products.
-JAVA_HOME  = /opt/java1.3
-
-# Define the various shared libraries to be made.
-SWT_PREFIX   = gl
-WS_PREFIX    = motif
-SWT_DLL      = lib$(SWT_PREFIX)-$(WS_PREFIX).sl
-SWT_OBJ      = swt.o gl.o glu.o structs.o glx.o
-SWT_LIB      = -L/usr/lib -L/opt/graphics/OpenGL/lib -G -lGL -lGLU -lc -ldld -lm
-
-#
-# The following CFLAGS are for compiling the SWT OpenGL library.
-#
-# Note:
-#   The flag -xarch=generic ensure the compiled modules will be targeted
-#   for 32-bit architectures. If this flag is not
-#
-CFLAGS = -Ae +z \
-	-DNO_XINERAMA_EXTENSIONS \
-	-D_HPUX -D_POSIX_C_SOURCE=199506L \
-	-I./ \
-	-I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/hp-ux \
-	-I/opt/graphics/OpenGL/include
-
-all: make_swt
-
-make_swt: $(SWT_DLL)
-
-$(SWT_DLL): $(SWT_OBJ)
-	ld -b -z -o $@ $(SWT_OBJ) $(SWT_LIB)
-
-clean:
-	rm -f *.sl *.o
diff --git a/bundles/org.eclipse.swt.opengl/motif/library/make_linux.mak b/bundles/org.eclipse.swt.opengl/motif/library/make_linux.mak
deleted file mode 100644
index 2c995c0..0000000
--- a/bundles/org.eclipse.swt.opengl/motif/library/make_linux.mak
+++ /dev/null
@@ -1,38 +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
-#*******************************************************************************
-
-# Define the installation directories for various products.
-JAVA_HOME   = /bluebird/teamswt/swt-builddir/ive/bin
-
-
-# Define the various shared libraries to be made.
-SWT_PREFIX   = gl
-WS_PREFIX    = motif
-SWT_DLL      = lib$(SWT_PREFIX)-$(WS_PREFIX).so
-SWT_OBJ      = swt.o gl.o glu.o structs.o glx.o
-SWT_LIB      = -shared -L/usr/X11R6/lib -lGL -lGLU -lm
-
-#
-# The following CFLAGS are for compiling the SWT OpenGL library.
-#
-CFLAGS = -O -s \
-	-I./ \
-	-I$(JAVA_HOME)/include
-
-all: make_swt
-
-make_swt: $(SWT_DLL)
-
-$(SWT_DLL): $(SWT_OBJ)
-	ld -o $@ $(SWT_OBJ) $(SWT_LIB)
-
-clean:
-	rm -f *.so *.o
diff --git a/bundles/org.eclipse.swt.opengl/motif/library/make_solaris.mak b/bundles/org.eclipse.swt.opengl/motif/library/make_solaris.mak
deleted file mode 100644
index c9510b7..0000000
--- a/bundles/org.eclipse.swt.opengl/motif/library/make_solaris.mak
+++ /dev/null
@@ -1,45 +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
-#*******************************************************************************
-
-# Define the installation directories for various products.
-JAVA_HOME   = /bluebird/teamswt/swt-builddir/ive/bin
-
-# Define the various shared libraries to be made.
-SWT_PREFIX   = gl
-WS_PREFIX    = motif
-SWT_DLL      = lib$(SWT_PREFIX)-$(WS_PREFIX).so
-SWT_OBJ      = swt.o gl.o glu.o structs.o glx.o
-SWT_LIB      = -G -L/usr/lib -lm -lGL -lGLU
-
-#
-# The following CFLAGS are for compiling the SWT OpenGL library.
-#
-# Note:
-#   The flag -xarch=generic ensure the compiled modules will be targeted
-#   for 32-bit architectures.
-#
-CFLAGS = -O -s \
-	-xarch=generic \
-	-KPIC \
-	-I./ \
-	-I$(JAVA_HOME)/include
-
-all: make_swt
-
-make_swt: $(SWT_DLL)
-
-$(SWT_DLL): $(SWT_OBJ)
-	ld -o $@ $(SWT_OBJ) $(SWT_LIB)
-
-clean:
-	rm -f *.so *.o
-
-
diff --git a/bundles/org.eclipse.swt.opengl/motif/library/structs.c b/bundles/org.eclipse.swt.opengl/motif/library/structs.c
deleted file mode 100644
index f11d22d..0000000
--- a/bundles/org.eclipse.swt.opengl/motif/library/structs.c
+++ /dev/null
@@ -1,73 +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
- *******************************************************************************/
-#include <X11/X.h>
-#include <X11/Xlib.h>
-#include "swt.h"
-#include "structs.h"
-
-typedef struct XVisualInfo_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID visual, visualid, screen, depth, cclass, red_mask, green_mask, blue_mask, colormap_size, bits_per_rgb;
-} XVisualInfo_FID_CACHE;
-typedef XVisualInfo_FID_CACHE *PXVisualInfo_FID_CACHE;
-
-XVisualInfo_FID_CACHE XVisualInfoFc;
-
-void cacheXVisualInfoFids(JNIEnv *env, jobject lpObject, PXVisualInfo_FID_CACHE lpCache)
-{
-	if (lpCache->cached) return;
-	lpCache->clazz = (*env)->GetObjectClass(env, lpObject);
-	lpCache->visual = (*env)->GetFieldID(env, lpCache->clazz, "visual", "I");
-	lpCache->visualid = (*env)->GetFieldID(env, lpCache->clazz, "visualid", "I");
-	lpCache->screen = (*env)->GetFieldID(env, lpCache->clazz, "screen", "I");
-	lpCache->depth = (*env)->GetFieldID(env, lpCache->clazz, "depth", "I");
-	lpCache->cclass = (*env)->GetFieldID(env, lpCache->clazz, "cclass", "I");
-	lpCache->red_mask = (*env)->GetFieldID(env, lpCache->clazz, "red_mask", "I");
-	lpCache->green_mask = (*env)->GetFieldID(env, lpCache->clazz, "green_mask", "I");
-	lpCache->blue_mask = (*env)->GetFieldID(env, lpCache->clazz, "blue_mask", "I");
-	lpCache->colormap_size = (*env)->GetFieldID(env, lpCache->clazz, "colormap_size", "I");
-	lpCache->bits_per_rgb = (*env)->GetFieldID(env, lpCache->clazz, "bits_per_rgb", "I");
-	lpCache->cached = 1;
-}
-
-XVisualInfo *getXVisualInfoFields(JNIEnv *env, jobject lpObject, XVisualInfo *lpStruct)
-{
-	PXVisualInfo_FID_CACHE lpCache = &XVisualInfoFc;
-	if (!lpCache->cached) cacheXVisualInfoFids(env, lpObject, lpCache);
-	lpStruct->visual = (Visual *)(*env)->GetIntField(env, lpObject, lpCache->visual);
-	lpStruct->visualid = (*env)->GetIntField(env, lpObject, lpCache->visualid);
-	lpStruct->screen = (*env)->GetIntField(env, lpObject, lpCache->screen);
-	lpStruct->depth = (*env)->GetIntField(env, lpObject, lpCache->depth);
-	lpStruct->class = (*env)->GetIntField(env, lpObject, lpCache->cclass);
-	lpStruct->red_mask = (*env)->GetIntField(env, lpObject, lpCache->red_mask);
-	lpStruct->green_mask = (*env)->GetIntField(env, lpObject, lpCache->green_mask);
-	lpStruct->blue_mask = (*env)->GetIntField(env, lpObject, lpCache->blue_mask);
-	lpStruct->colormap_size = (*env)->GetIntField(env, lpObject, lpCache->colormap_size);
-	lpStruct->bits_per_rgb = (*env)->GetIntField(env, lpObject, lpCache->bits_per_rgb);
-	return lpStruct;
-}
-
-void setXVisualInfoFields(JNIEnv *env, jobject lpObject, XVisualInfo *lpStruct)
-{
-	PXVisualInfo_FID_CACHE lpCache = &XVisualInfoFc;
-	if (!lpCache->cached) cacheXVisualInfoFids(env, lpObject, lpCache);
-	(*env)->SetIntField(env, lpObject, lpCache->visual, (jint)lpStruct->visual);
-	(*env)->SetIntField(env, lpObject, lpCache->visualid, (jint)lpStruct->visualid);
-	(*env)->SetIntField(env, lpObject, lpCache->screen, (jint)lpStruct->screen);
-	(*env)->SetIntField(env, lpObject, lpCache->depth, (jint)lpStruct->depth);
-	(*env)->SetIntField(env, lpObject, lpCache->cclass, (jint)lpStruct->class);
-	(*env)->SetIntField(env, lpObject, lpCache->red_mask, (jint)lpStruct->red_mask);
-	(*env)->SetIntField(env, lpObject, lpCache->green_mask, (jint)lpStruct->green_mask);
-	(*env)->SetIntField(env, lpObject, lpCache->blue_mask, (jint)lpStruct->blue_mask);
-	(*env)->SetIntField(env, lpObject, lpCache->colormap_size, (jint)lpStruct->colormap_size);
-	(*env)->SetIntField(env, lpObject, lpCache->bits_per_rgb, (jint)lpStruct->bits_per_rgb);
-}
diff --git a/bundles/org.eclipse.swt.opengl/motif/library/structs.h b/bundles/org.eclipse.swt.opengl/motif/library/structs.h
deleted file mode 100644
index 5d98fdd..0000000
--- a/bundles/org.eclipse.swt.opengl/motif/library/structs.h
+++ /dev/null
@@ -1,16 +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
- *******************************************************************************/
-#include <X11/X.h>
-#include <X11/Xutil.h>
-
-XVisualInfo *getXVisualInfoFields(JNIEnv *env, jobject lpObject, XVisualInfo *lpStruct);
-void setXVisualInfoFields(JNIEnv *env, jobject lpObject, XVisualInfo *lpStruct);
-
diff --git a/bundles/org.eclipse.swt.opengl/motif/org/eclipse/swt/opengl/GLContext.java b/bundles/org.eclipse.swt.opengl/motif/org/eclipse/swt/opengl/GLContext.java
deleted file mode 100644
index 29df45c..0000000
--- a/bundles/org.eclipse.swt.opengl/motif/org/eclipse/swt/opengl/GLContext.java
+++ /dev/null
@@ -1,303 +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.swt.opengl;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.motif.*;
-import org.eclipse.swt.opengl.internal.motif.*;
-
-/**
- * Instances of <code>GLContext</code> are used to draw on swt <code>Drawable</code>s 
- * through invocations of provided OpenGL functions.
- * <p>
- * Application code must explicitly invoke the <code>GLContext.dispose ()</code> 
- * method to release the operating system resources managed by each instance
- * when those instances are no longer required. This is <em>particularly</em>
- * important on Windows95 and Windows98 where the operating system has a limited
- * number of device contexts available.
- * </p>
- */
-public class GLContext {
-	int handle;
-	int gc;
-	GCData data;
-	Drawable drawable;
-	int selectBufferPtr = 0;
-
-	static final int MSB_FIRST = 1;
-	static final int LSB_FIRST = 2;
-
-	/**
-	 * Constructs a new instance of this class which has been
-	 * configured to draw on the specified drawable.
-	 * <p>
-	 * You must dispose the <code>GLContext</code> when it is no longer required. 
-	 * </p>
-	 * 
-	 * @param drawable the drawable to draw on
-	 * @exception IllegalArgumentException <ul>
-	 *    <li>ERROR_NULL_ARGUMENT - if the drawable is null</li>
-	 * </ul>
-	 * @exception SWTError <ul>
-	 *    <li>ERROR_NO_HANDLES if a handle could not be obtained for gc creation</li>
-	 *    <li>ERROR_UNSUPPORTED_DEPTH - if the current display depth is not supported</li>
-	 * </ul>
-	 */
-	public GLContext (Drawable drawable) {
-		if (drawable == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-		this.drawable = drawable;
-		this.data = new GCData ();
-		gc = drawable.internal_new_GC (data);
-		if (gc == 0) SWT.error (SWT.ERROR_NO_HANDLES);
-		int xDisplay = data.display;
-		int screen = OS.XDefaultScreen (xDisplay);
-		int depth = OS.XDefaultDepthOfScreen (OS.XDefaultScreenOfDisplay (xDisplay));
-		int attrib [] = {
-			XGL.GLX_LEVEL,
-			0,
-			XGL.GLX_RGBA,
-			XGL.GLX_DOUBLEBUFFER,
-//			XGL.GLX_DEPTH_SIZE,
-//			depth,
-			0
-		};
-		int infoPtr = XGL.glXChooseVisual (xDisplay, screen, attrib);
-		if (infoPtr == 0) SWT.error (SWT.ERROR_UNSUPPORTED_DEPTH);
-		XVisualInfo info = new XVisualInfo ();
-		XGL.memmove (info, infoPtr, XVisualInfo.sizeof);
-		OS.XFree (infoPtr);
-		handle = XGL.glXCreateContext (xDisplay, info, 0, false);
-		if (handle == 0) SWT.error (SWT.ERROR_NO_HANDLES);
-	}
-	
-	public ImageData convertImageData (ImageData source) {
-		PaletteData palette = new PaletteData (0xff0000, 0xff00, 0xff);
-		ImageData newSource = new ImageData (source.width, source.height, 24, palette);
-		ImageDataUtil.blit (
-			1,
-			source.data,
-			source.depth,
-			source.bytesPerLine,
-			(source.depth != 16) ? MSB_FIRST : LSB_FIRST,
-			0,
-			0,
-			source.width,
-			source.height,
-			source.palette.redMask,
-			source.palette.greenMask,
-			source.palette.blueMask,
-			255,
-			null,
-			0,
-			0,
-			0,
-			newSource.data,
-			newSource.depth,
-			newSource.bytesPerLine,
-			(newSource.depth != 16) ? MSB_FIRST : LSB_FIRST,
-			0,
-			0,
-			newSource.width,
-			newSource.height,
-			newSource.palette.redMask,
-			newSource.palette.greenMask,
-			newSource.palette.blueMask,
-			false,
-			true);
-
-		return newSource;
-	}
-
-	/**
-	 * Disposes of the operating system resources associated with
-	 * the receiver. Applications must dispose of all <code>GLContext</code>s
-	 * that they allocate.
-	 */
-	public void dispose () {
-		if (handle == 0) return;
-		int xDisplay = data.display;
-		if (XGL.glXGetCurrentContext () == handle) {
-			XGL.glXMakeCurrent (xDisplay, 0, 0);
-		}
-		if (selectBufferPtr != 0) OS.XtFree (selectBufferPtr);
-		XGL.glXDestroyContext (xDisplay, handle);
-		handle = 0;
-		// drawable may be disposed
-		try {
-			drawable.internal_dispose_GC (gc, data);
-		} catch (SWTException e) {
-		}
-		gc = 0;
-		data.display = data.drawable = data.colormap = 0;
-		/*data.fontList =*/ data.clipRgn = data.renderTable = 0;
-		drawable = null;
-		data.device = null;
-		data.image = null;
-		//data.codePage = null;
-		data = null;
-	}
-
-	public int[] getSelectBuffer (int selectBufferPtr, int[] selectBuffer) {
-		OS.memmove (selectBuffer, selectBufferPtr, selectBuffer.length * 4);
-		return selectBuffer;
-	}
-
-	public int getSelectBufferPtr (int[] selectBuffer) {
-		if (selectBufferPtr == 0) {
-			selectBufferPtr = OS.XtMalloc (selectBuffer.length * 4);
-		}
-		OS.memmove (selectBufferPtr, selectBuffer, selectBuffer.length * 4);
-		return selectBufferPtr;
-	}
-
-	/**
-	 * Returns a boolean indicating whether the receiver is the current
-	 * <code>GLContext</code>.
-	 *  
-	 * @return true if the receiver is the current <code>GLContext</code>,
-	 * false otherwise
-	 * @exception SWTError <ul>
-	 *    <li>ERROR_GRAPHIC_DISPOSED if the receiver is disposed</li>
-	 * </ul>
-	 */
-	public boolean isCurrent () {
-		if (isDisposed ()) 	SWT.error (SWT.ERROR_GRAPHIC_DISPOSED);
-		return XGL.glXGetCurrentContext () == handle;
-	}
-
-	/**
-	 * Returns a boolean indicating whether the <code>GLContext</code> has been
-	 * disposed.
-	 * <p>
-	 * This method gets the dispose state for the <code>GLContext</code>.
-	 * When a <code>GLContext</code> has been disposed, it is an error to
-	 * invoke any other method using the <code>GLContext</code>.
-	 *
-	 * @return true if the <code>GLContext</code> is disposed, false otherwise
-	 */
-	public boolean isDisposed () {
-		return handle == 0;
-	}
-
-	/**
-	 * Loads the specified bitmap font.
-	 * 
-	 * @param fdata
-	 * @param device
-	 * @param base
-	 * @param first
-	 * @param count
-	 */
-	public void loadBitmapFont (FontData fdata, Device device, int base, int startIndex, int length) {
-		/* Temporary code, due some problems when running on UTF-8 loadBitmapFont ()
-		 * is restrict to works only for ascii. 
-		 * Note: en_US.ISO8859-1 also code be used.
-		 */
-		fdata.setLocale ("C");
-		Font font = new Font (device, fdata);
-		int fontList = font.handle;
-		int[] buffer = new int [1];
-		if (!OS.XmFontListInitFontContext (buffer, fontList)) return;
-		int context = buffer [0];
-		XFontStruct fontStruct = new XFontStruct ();
-		int fontListEntry;
-		int[] fontStructPtr = new int [1];
-		int[] fontNamePtr = new int [1];
-		int xfont = 0;
-		// go through each entry in the font list
-		while ((fontListEntry = OS.XmFontListNextEntry (context)) != 0) {
-			int fontPtr = OS.XmFontListEntryGetFont (fontListEntry, buffer);
-			if (buffer [0] == OS.XmFONT_IS_FONT) {
-				// FontList contains a single font
-				OS.memmove (fontStruct, fontPtr, 20 * 4);
-				xfont = fontStruct.fid;
-			} else {
-				// FontList contains a fontSet
-				int nFonts = OS.XFontsOfFontSet (fontPtr, fontStructPtr, fontNamePtr);
-				int[] fontStructs = new int [nFonts];
-				OS.memmove (fontStructs, fontStructPtr [0], nFonts * 4);
-				// Go through each fontStruct in the font set.
-				for (int i = 0; i < nFonts; i++) {
-					OS.memmove (fontStruct, fontStructs [i], XFontStruct.sizeof);
-					xfont = fontStruct.fid;
-				}
-			}
-		}
-		if (xfont != 0) {
-			XGL.glXUseXFont (xfont, startIndex, length, base);
-		}
-		font.dispose ();
-		OS.XmFontListFreeFontContext (context);
-	}
-
-	/**
-	 * Loads the specified outline font.
-	 * 
-	 * @param fdata
-	 * @param device
-	 * @param base
-	 * @param first
-	 * @param count
-	 * @param deviation
-	 * @param extrusion
-	 * @param format
-	 * @param lpgmf
-	 */
-	public void loadOutlineFont (FontData fdata, Device device, int base, int first,
-	int count, float deviation, float extrusion, int format, GLYPHMETRICSFLOAT[] lpgmf) {
-		// stub
-	}
-
-	/**
-	 * Resizes the receiver.
-	 * 
-	 * @param x
-	 * @param y
-	 * @param width
-	 * @param height
-	 */
-	public void resize (int x, int y, int width, int height) {
-		if (height == 0) height = 1;
-		GL.glViewport (x, y, width, height);
-		GL.glMatrixMode (GL.GL_PROJECTION);
-		GL.glLoadIdentity ();
-		GLU.gluPerspective (45.0f, (float) width / (float) height, 0.1f, 100.0f);
-		GL.glMatrixMode (GL.GL_MODELVIEW);
-		GL.glLoadIdentity ();
-	}
-
-	/**
-	 * Sets the receiver to be the current <code>GLContext</code>.
-	 * 
-	 * @exception SWTError <ul>
-	 *    <li>ERROR_GRAPHIC_DISPOSED if the receiver is disposed</li>
-	 * </ul>
-	 */
-	public void setCurrent () {
-		if (isDisposed ()) SWT.error (SWT.ERROR_GRAPHIC_DISPOSED);
-		if (XGL.glXGetCurrentContext () == handle) return;
-		XGL.glXMakeCurrent (data.display, data.drawable, handle);
-	}
-
-	/**
-	 * Swaps the receiver's buffers.
-	 * 
-	 * @exception SWTError <ul>
-	 *    <li>ERROR_GRAPHIC_DISPOSED if the receiver is disposed</li>
-	 * </ul>
-	 */
-	public void swapBuffers () {
-		if (isDisposed ()) SWT.error (SWT.ERROR_GRAPHIC_DISPOSED);
-		XGL.glXSwapBuffers (data.display, data.drawable);
-	}
-}
diff --git a/bundles/org.eclipse.swt.opengl/motif/org/eclipse/swt/opengl/internal/motif/XGL.java b/bundles/org.eclipse.swt.opengl/motif/org/eclipse/swt/opengl/internal/motif/XGL.java
deleted file mode 100644
index a5a3e5a..0000000
--- a/bundles/org.eclipse.swt.opengl/motif/org/eclipse/swt/opengl/internal/motif/XGL.java
+++ /dev/null
@@ -1,227 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl.internal.motif;
-
-import org.eclipse.swt.opengl.Library;
-
-public class XGL {
-	
-static {
-	Library.loadLibrary("gl");
-}
-
-public static final int GLX_VERSION_1_1 = 1;
-public static final int GLX_VERSION_1_2 = 1;
-public static final int GLX_VERSION_1_3 = 1;
-
-/*
-** Visual Config Attributes (glXGetConfig, glXGetFBConfigAttrib)
-*/
-public static final int GLX_USE_GL		= 1;	/* support GLX rendering */
-public static final int GLX_BUFFER_SIZE		= 2;	/* depth of the color buffer */
-public static final int GLX_LEVEL		= 3;	/* level in plane stacking */
-public static final int GLX_RGBA		= 4;	/* true if RGBA mode */
-public static final int GLX_DOUBLEBUFFER	= 5;	/* double buffering supported */
-public static final int GLX_STEREO		= 6;	/* stereo buffering supported */
-public static final int GLX_AUX_BUFFERS		= 7;	/* number of aux buffers */
-public static final int GLX_RED_SIZE		= 8;	/* number of red component bits */
-public static final int GLX_GREEN_SIZE		= 9;	/* number of green component bits */
-public static final int GLX_BLUE_SIZE		= 10;	/* number of blue component bits */
-public static final int GLX_ALPHA_SIZE		= 11;	/* number of alpha component bits */
-public static final int GLX_DEPTH_SIZE		= 12;	/* number of depth bits */
-public static final int GLX_STENCIL_SIZE	= 13;	/* number of stencil bits */
-public static final int GLX_ACCUM_RED_SIZE	= 14;	/* number of red accum bits */
-public static final int GLX_ACCUM_GREEN_SIZE	= 15;	/* number of green accum bits */
-public static final int GLX_ACCUM_BLUE_SIZE	= 16;	/* number of blue accum bits */
-public static final int GLX_ACCUM_ALPHA_SIZE	= 17;	/* number of alpha accum bits */
-/*
-** FBConfig-specific attributes
-*/
-public static final int GLX_X_VISUAL_TYPE		= 0x22;
-public static final int GLX_CONFIG_CAVEAT		= 0x20;	/* Like visual_info VISUAL_CAVEAT_EXT */
-public static final int GLX_TRANSPARENT_TYPE		= 0x23;
-public static final int GLX_TRANSPARENT_INDEX_VALUE	= 0x24;
-public static final int GLX_TRANSPARENT_RED_VALUE	= 0x25;
-public static final int GLX_TRANSPARENT_GREEN_VALUE	= 0x26;
-public static final int GLX_TRANSPARENT_BLUE_VALUE	= 0x27;
-public static final int GLX_TRANSPARENT_ALPHA_VALUE	= 0x28;
-public static final int GLX_DRAWABLE_TYPE		= 0x8010;
-public static final int GLX_RENDER_TYPE			= 0x8011;
-public static final int GLX_X_RENDERABLE		= 0x8012;
-public static final int GLX_FBCONFIG_ID			= 0x8013;
-public static final int GLX_MAX_PBUFFER_WIDTH		= 0x8016;
-public static final int GLX_MAX_PBUFFER_HEIGHT		= 0x8017;
-public static final int GLX_MAX_PBUFFER_PIXELS		= 0x8018;
-public static final int GLX_VISUAL_ID			= 0x800B;
-
-/*
-** Error return values from glXGetConfig.  Success is indicated by
-** a value of 0.
-*/
-public static final int GLX_BAD_SCREEN		= 1;	/* screen # is bad */
-public static final int GLX_BAD_ATTRIBUTE	= 2;	/* attribute to get is bad */
-public static final int GLX_NO_EXTENSION	= 3;	/* no glx extension on server */
-public static final int GLX_BAD_VISUAL		= 4;	/* visual # not known by GLX */
-public static final int GLX_BAD_CONTEXT		= 5;	/* returned only by import_context EXT? */
-public static final int GLX_BAD_VALUE		= 6;	/* returned only by glXSwapIntervalSGI? */
-public static final int GLX_BAD_ENUM		= 7;	/* unused? */
-
-/* FBConfig attribute values */
-
-/*
-** Generic "don't care" value for glX ChooseFBConfig attributes (except
-** GLX_LEVEL)
-*/
-public static final int GLX_DONT_CARE			= 0xFFFFFFFF;
-
-/* GLX_RENDER_TYPE bits */
-public static final int GLX_RGBA_BIT			= 0x00000001;
-public static final int GLX_COLOR_INDEX_BIT		= 0x00000002;
-
-/* GLX_DRAWABLE_TYPE bits */
-public static final int GLX_WINDOW_BIT			= 0x00000001;
-public static final int GLX_PIXMAP_BIT			= 0x00000002;
-public static final int GLX_PBUFFER_BIT			= 0x00000004;
-
-/* GLX_CONFIG_CAVEAT attribute values */
-public static final int GLX_NONE			= 0x8000;
-public static final int GLX_SLOW_CONFIG			= 0x8001;
-public static final int GLX_NON_CONFORMANT_CONFIG	= 0x800D;
-
-/* GLX_X_VISUAL_TYPE attribute values */
-public static final int GLX_TRUE_COLOR			= 0x8002;
-public static final int GLX_DIRECT_COLOR		= 0x8003;
-public static final int GLX_PSEUDO_COLOR		= 0x8004;
-public static final int GLX_STATIC_COLOR		= 0x8005;
-public static final int GLX_GRAY_SCALE			= 0x8006;
-public static final int GLX_STATIC_GRAY			= 0x8007;
-
-/* GLX_TRANSPARENT_TYPE attribute values */
-/* public static final int GLX_NONE			   0x8000 */
-public static final int GLX_TRANSPARENT_RGB		= 0x8008;
-public static final int GLX_TRANSPARENT_INDEX		= 0x8009;
-
-/* glXCreateGLXPbuffer attributes */
-public static final int GLX_PRESERVED_CONTENTS		= 0x801B;
-public static final int GLX_LARGEST_PBUFFER		= 0x801C;
-public static final int GLX_PBUFFER_HEIGHT		= 0x8040;	/* New for GLX 1.3 */
-public static final int GLX_PBUFFER_WIDTH		= 0x8041;	/* New for GLX 1.3 */
-
-/* glXQueryGLXPBuffer attributes */
-public static final int GLX_WIDTH			= 0x801D;
-public static final int GLX_HEIGHT			= 0x801E;
-public static final int GLX_EVENT_MASK			= 0x801F;
-
-/* glXCreateNewContext render_type attribute values */
-public static final int GLX_RGBA_TYPE			= 0x8014;
-public static final int GLX_COLOR_INDEX_TYPE		= 0x8015;
-
-/* glXQueryContext attributes */
-/* public static final int GLX_FBCONFIG_ID		  0x8013 */
-/* public static final int GLX_RENDER_TYPE		  0x8011 */
-public static final int GLX_SCREEN			= 0x800C;
-
-/* glXSelectEvent event mask bits */
-public static final int GLX_PBUFFER_CLOBBER_MASK	= 0x08000000;
-
-/* GLXPbufferClobberEvent event_type values */
-public static final int GLX_DAMAGED			= 0x8020;
-public static final int GLX_SAVED			= 0x8021;
-
-/* GLXPbufferClobberEvent draw_type values */
-public static final int GLX_WINDOW			= 0x8022;
-public static final int GLX_PBUFFER			= 0x8023;
-
-/* GLXPbufferClobberEvent buffer_mask bits */
-public static final int GLX_FRONT_LEFT_BUFFER_BIT	= 0x00000001;
-public static final int GLX_FRONT_RIGHT_BUFFER_BIT	= 0x00000002;
-public static final int GLX_BACK_LEFT_BUFFER_BIT	= 0x00000004;
-public static final int GLX_BACK_RIGHT_BUFFER_BIT	= 0x00000008;
-public static final int GLX_AUX_BUFFERS_BIT		= 0x00000010;
-public static final int GLX_DEPTH_BUFFER_BIT		= 0x00000020;
-public static final int GLX_STENCIL_BUFFER_BIT		= 0x00000040;
-public static final int GLX_ACCUM_BUFFER_BIT		= 0x00000080;
-
-/*
-** Extension return values from glXGetConfig.  These are also
-** accepted as parameter values for glXChooseVisual.
-*/
-
-public static final int GLX_X_VISUAL_TYPE_EXT	= 0x22;	/* visual_info extension type */
-public static final int GLX_TRANSPARENT_TYPE_EXT = 0x23;	/* visual_info extension */
-public static final int GLX_TRANSPARENT_INDEX_VALUE_EXT = 0x24;	/* visual_info extension */
-public static final int GLX_TRANSPARENT_RED_VALUE_EXT	= 0x25;	/* visual_info extension */
-public static final int GLX_TRANSPARENT_GREEN_VALUE_EXT = 0x26;	/* visual_info extension */
-public static final int GLX_TRANSPARENT_BLUE_VALUE_EXT	= 0x27;	/* visual_info extension */
-public static final int GLX_TRANSPARENT_ALPHA_VALUE_EXT = 0x28;	/* visual_info extension */
-
-/* Property values for visual_type */
-public static final int GLX_TRUE_COLOR_EXT	= 0x8002;
-public static final int GLX_DIRECT_COLOR_EXT	= 0x8003;
-public static final int GLX_PSEUDO_COLOR_EXT	= 0x8004;
-public static final int GLX_STATIC_COLOR_EXT	= 0x8005;
-public static final int GLX_GRAY_SCALE_EXT	= 0x8006;
-public static final int GLX_STATIC_GRAY_EXT	= 0x8007;
-
-/* Property values for transparent pixel */
-public static final int GLX_NONE_EXT		= 0x8000;
-public static final int GLX_TRANSPARENT_RGB_EXT		= 0x8008;
-public static final int GLX_TRANSPARENT_INDEX_EXT	= 0x8009;
-
-/* Property values for visual_rating */
-public static final int GLX_VISUAL_CAVEAT_EXT		= 0x20;  /* visual_rating extension type */
-public static final int GLX_SLOW_VISUAL_EXT		= 0x8001;
-public static final int GLX_NON_CONFORMANT_VISUAL_EXT	= 0x800D;
-
-/*
-** Names for attributes to glXGetClientString.
-*/
-public static final int GLX_VENDOR		= 0x1;
-public static final int GLX_VERSION		= 0x2;
-public static final int GLX_EXTENSIONS		= 0x3;
-
-/*
-** Names for attributes to glXQueryContextInfoEXT.
-*/
-public static final int GLX_SHARE_CONTEXT_EXT	= 0x800A;	/* id of share context */
-public static final int GLX_VISUAL_ID_EXT	= 0x800B;	/* id of context's visual */
-public static final int GLX_SCREEN_EXT		= 0x800C;	/* screen number */
-
-/* GLX Extension Strings */
-public static final int GLX_EXT_import_context	= 1;
-public static final int GLX_EXT_visual_info	= 1;
-public static final int GLX_EXT_visual_rating	= 1;
-public static final int GLX_ARB_get_proc_address = 1;
-
-public static final native int glXChooseVisual(int dpy, int screen, int[] attribList);
-public static final native void glXCopyContext(int dpy, int src, int dst, int mask);
-//public static final native int glXCreateContext(int dpy, int vis, int shareList, boolean direct);
-public static final native int glXCreateContext(int dpy, XVisualInfo vis, int shareList, boolean direct);
-public static final native int glXCreateGLXPixmap(int dpy, XVisualInfo vis, int pixmap);
-public static final native void glXDestroyContext(int dpy, int ctx);
-public static final native void glXDestroyGLXPixmap(int dpy, int pix);
-public static final native int glXGetConfig(int dpy, XVisualInfo vis, int attrib, int[] value);
-public static final native int glXGetCurrentContext();
-public static final native int glXGetCurrentDrawable();
-public static final native boolean glXIsDirect(int dpy, int ctx);
-public static final native boolean glXMakeCurrent(int dpy, int drawable, int ctx);
-public static final native boolean glXQueryExtension(int dpy, int[] errorBase, int[] eventBase);
-public static final native boolean glXQueryVersion(int dpy, int[] major, int[] minor);
-public static final native void glXSwapBuffers(int dpy, int drawable);
-public static final native void glXUseXFont(int font, int first, int count, int listBase);
-public static final native void glXWaitGL();
-public static final native void glXWaitX();
-public static final native int glXGetClientString(int dpy, int name);
-public static final native int glXQueryServerString(int dpy, int screen, int name);
-public static final native int glXQueryExtensionsString(int dpy, int screen);
-public static final native void memmove(XVisualInfo dest, int src, int size);
-
-}
diff --git a/bundles/org.eclipse.swt.opengl/motif/org/eclipse/swt/opengl/internal/motif/XVisualInfo.java b/bundles/org.eclipse.swt.opengl/motif/org/eclipse/swt/opengl/internal/motif/XVisualInfo.java
deleted file mode 100644
index 028032d..0000000
--- a/bundles/org.eclipse.swt.opengl/motif/org/eclipse/swt/opengl/internal/motif/XVisualInfo.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl.internal.motif;
-
- 
-public class XVisualInfo {
-	public int visual;
-	public int visualid;
-	public int screen;
-	public int depth;
-	public int cclass;
-	public int red_mask, green_mask, blue_mask;
-	public int colormap_size;
-	public int bits_per_rgb;
-	public static final int sizeof = 40;
-}
diff --git a/bundles/org.eclipse.swt.opengl/plugin.properties b/bundles/org.eclipse.swt.opengl/plugin.properties
deleted file mode 100644
index 4e303e2..0000000
--- a/bundles/org.eclipse.swt.opengl/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.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 = Standard Widget Toolkit OpenGL Bindings
-providerName = Eclipse.org
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt.opengl/plugin.xml b/bundles/org.eclipse.swt.opengl/plugin.xml
deleted file mode 100644
index feaf868..0000000
--- a/bundles/org.eclipse.swt.opengl/plugin.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-   id="org.eclipse.swt.opengl"
-   name="%pluginName"
-   version="3.1.0"
-   provider-name="%providerName">
-
-   <runtime>
-      <library name="$ws$/swt.jar">
-         <export name="*"/>
-         <packages prefixes="org.eclipse.swt.opengl"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.swt" export="true"/>
-   </requires>
-
-
-</plugin>
diff --git a/bundles/org.eclipse.swt.opengl/win32/library/build.bat b/bundles/org.eclipse.swt.opengl/win32/library/build.bat
deleted file mode 100644
index e3cd949..0000000
--- a/bundles/org.eclipse.swt.opengl/win32/library/build.bat
+++ /dev/null
@@ -1,34 +0,0 @@
-rem *******************************************************************************
-rem  Copyright (c) 2000, 2005 IBM Corporation and others.
-rem  All rights reserved. This program and the accompanying materials
-rem  are made available under the terms of the Eclipse Public License v1.0
-rem  which accompanies this distribution, and is available at 
-rem  http://www.eclipse.org/legal/epl-v10.html
-rem  
-rem  Contributors:
-rem      IBM Corporation - initial API and implementation
-rem *******************************************************************************
-
-@echo off
-
-IF NOT "%JAVA_HOME%"=="" GOTO MAKE
-
-rem *****
-rem Javah
-rem *****
-set JAVA_HOME=j:\teamswt\swt-builddir\ive\bin
-set path=%JAVA_HOME%;%path%
-
-rem ********
-rem MSVC 6.0
-rem ********
-call k:\dev\products\msvc60\vc98\bin\vcvars32.bat
-
-rem ****** 
-rem MS-SDK
-rem ******
-set Mssdk=j:\teamswt\swt-builddir\mssdk
-call %mssdk%\setenv.bat
-
-:MAKE
-nmake -f make_win32.mak %1 %2 %3 %4
diff --git a/bundles/org.eclipse.swt.opengl/win32/library/glw.c b/bundles/org.eclipse.swt.opengl/win32/library/glw.c
deleted file mode 100644
index 81c8ed5..0000000
--- a/bundles/org.eclipse.swt.opengl/win32/library/glw.c
+++ /dev/null
@@ -1,283 +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
- *******************************************************************************/
-#include <windows.h>
-#include <wingdi.h>
-#include "jni.h"
-#include "swt.h"
-#include "structs.h"
-
-#define WGL_NATIVE(func) Java_org_eclipse_swt_opengl_internal_win32_WGL_##func
-
-JNIEXPORT jint JNICALL WGL_NATIVE(ChoosePixelFormat)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	PIXELFORMATDESCRIPTOR _arg1, *lparg1=NULL;
-	jint rc;
-
-	DEBUG_CALL("ChoosePixelFormat\n")
-
-	if (arg1) lparg1 = getPIXELFORMATDESCRIPTORFields(env, arg1, &_arg1);
-	rc = (jint)ChoosePixelFormat((HDC)arg0, (CONST PIXELFORMATDESCRIPTOR *)lparg1);
-	if (arg1) setPIXELFORMATDESCRIPTORFields(env, arg1, lparg1);
-	return rc;
-}
-
-JNIEXPORT jint JNICALL WGL_NATIVE(DescribePixelFormat)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3)
-{
-	PIXELFORMATDESCRIPTOR _arg3, *lparg3=NULL;
-	jint rc;
-
-	DEBUG_CALL("DescribePixelFormat\n")
-
-	if (arg3) lparg3 = getPIXELFORMATDESCRIPTORFields(env, arg3, &_arg3);
-	rc = (jint)DescribePixelFormat((HDC)arg0, arg1, arg2, (LPPIXELFORMATDESCRIPTOR)lparg3);
-	if (arg3) setPIXELFORMATDESCRIPTORFields(env, arg3, lparg3);
-	return rc;
-}
-
-JNIEXPORT jint JNICALL WGL_NATIVE(GetPixelFormat)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	DEBUG_CALL("GetPixelFormat\n")
-
-	return (jint)GetPixelFormat((HDC)arg0);
-}
-
-JNIEXPORT jboolean JNICALL WGL_NATIVE(SetPixelFormat)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2)
-{
-	PIXELFORMATDESCRIPTOR _arg2, *lparg2=NULL;
-	jboolean rc;
-
-	DEBUG_CALL("SetPixelFormat\n")
-
-	if (arg2) lparg2 = getPIXELFORMATDESCRIPTORFields(env, arg2, &_arg2);
-	rc = (jboolean)SetPixelFormat((HDC)arg0, arg1, (CONST PIXELFORMATDESCRIPTOR *)lparg2);
-	if (arg2) setPIXELFORMATDESCRIPTORFields(env, arg2, lparg2);
-	return rc;
-}
-
-JNIEXPORT jboolean JNICALL WGL_NATIVE(SwapBuffers)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	DEBUG_CALL("SwapBuffers\n")
-
-	return (jboolean)SwapBuffers((HDC)arg0);
-}
-
-JNIEXPORT jboolean JNICALL WGL_NATIVE(wglCopyContext)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	DEBUG_CALL("wglCopyContext\n")
-
-	return (jboolean)wglCopyContext((HGLRC)arg0, (HGLRC)arg1, (UINT)arg2);
-}
-
-JNIEXPORT jint JNICALL WGL_NATIVE(wglCreateContext)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	DEBUG_CALL("wglCreateContext\n")
-
-	return (jint)wglCreateContext((HDC)arg0);
-}
-
-JNIEXPORT jint JNICALL WGL_NATIVE(wglCreateLayerContext)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	DEBUG_CALL("wglCreateLayerContext\n")
-
-	return (jint)wglCreateLayerContext((HDC)arg0, arg1);
-}
-
-JNIEXPORT jboolean JNICALL WGL_NATIVE(wglDeleteContext)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	DEBUG_CALL("wglDeleteContext\n")
-
-	return (jboolean)wglDeleteContext((HGLRC)arg0);
-}
-
-JNIEXPORT jboolean JNICALL WGL_NATIVE(wglDescribeLayerPlane)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jobject arg4)
-{
-	LAYERPLANEDESCRIPTOR _arg4, *lparg4=NULL;
-	jboolean rc;
-
-	DEBUG_CALL("wglDescribeLayerPlane\n")
-
-	if (arg4) lparg4 = getLAYERPLANEDESCRIPTORFields(env, arg4, &_arg4);
-	rc = (jboolean)wglDescribeLayerPlane((HDC)arg0, arg1, arg2, arg3, (LPLAYERPLANEDESCRIPTOR)lparg4);
-	if (arg4) setLAYERPLANEDESCRIPTORFields(env, arg4, lparg4);
-	return rc;
-}
-
-JNIEXPORT jint JNICALL WGL_NATIVE(wglGetCurrentContext)
-	(JNIEnv *env, jclass that)
-{
-	DEBUG_CALL("wglGetCurrentContext\n")
-
-	return (jint)wglGetCurrentContext();
-}
-
-JNIEXPORT jint JNICALL WGL_NATIVE(wglGetCurrentDC)
-	(JNIEnv *env, jclass that)
-{
-	DEBUG_CALL("wglGetCurrentDC\n")
-
-	return (jint)wglGetCurrentDC();
-}
-
-JNIEXPORT jint JNICALL WGL_NATIVE(wglGetLayerPaletteEntries)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jintArray arg4)
-{
-	jint *lparg4=NULL;
-	jint rc;
-
-	DEBUG_CALL("wglGetLayerPaletteEntries\n")
-
-	if (arg4) lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL);
-	rc = (jint)wglGetLayerPaletteEntries((HDC)arg0, arg1, arg2, arg3, (COLORREF *)lparg4);
-	if (arg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	return rc;
-}
-
-JNIEXPORT jint JNICALL WGL_NATIVE(wglGetProcAddress)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-	jint rc;
-
-	DEBUG_CALL("wglGetProcAddress\n")
-
-	if (arg0) lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL);
-	rc = (jint)wglGetProcAddress((LPCSTR)lparg0);
-	if (arg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	return rc;
-}
-
-JNIEXPORT jboolean JNICALL WGL_NATIVE(wglMakeCurrent)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	DEBUG_CALL("wglMakeCurrent\n")
-
-	return (jboolean)wglMakeCurrent((HDC)arg0, (HGLRC)arg1);
-}
-
-JNIEXPORT jboolean JNICALL WGL_NATIVE(wglRealizeLayerPalette)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jboolean arg2)
-{
-	DEBUG_CALL("wglRealizeLayerPalette\n")
-
-	return (jboolean)wglRealizeLayerPalette((HDC)arg0, arg1, (BOOL)arg2);
-}
-
-JNIEXPORT jint JNICALL WGL_NATIVE(wglSetLayerPaletteEntries)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jintArray arg4)
-{
-	jint *lparg4=NULL;
-	jint rc;
-
-	DEBUG_CALL("wglSetLayerPaletteEntries\n")
-
-	if (arg4) lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL);
-	rc = (jint)wglSetLayerPaletteEntries((HDC)arg0, arg1, arg2, arg3, (CONST COLORREF *)lparg4);
-	if (arg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	return rc;
-}
-
-JNIEXPORT jboolean JNICALL WGL_NATIVE(wglShareLists)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	DEBUG_CALL("wglShareLists\n")
-
-	return (jboolean)wglShareLists((HGLRC)arg0, (HGLRC)arg1);
-}
-
-JNIEXPORT jboolean JNICALL WGL_NATIVE(wglSwapLayerBuffers)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	DEBUG_CALL("wglSwapLayerBuffers\n")
-
-	return (jboolean)wglSwapLayerBuffers((HDC)arg0, arg1);
-}
-
-JNIEXPORT jboolean JNICALL WGL_NATIVE(wglUseFontBitmapsA)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	DEBUG_CALL("wglUseFontBitmapsA\n")
-
-	return (jboolean)wglUseFontBitmapsA((HDC)arg0, arg1, arg2, arg3);
-}
-
-JNIEXPORT jboolean JNICALL WGL_NATIVE(wglUseFontBitmapsW)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	DEBUG_CALL("wglUseFontBitmapsW\n")
-
-	return (jboolean)wglUseFontBitmapsW((HDC)arg0, arg1, arg2, arg3);
-}
-
-JNIEXPORT jboolean JNICALL WGL_NATIVE(wglUseFontOutlinesA)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jfloat arg4, jfloat arg5, jint arg6, jobject arg7)
-{
-//	GLYPHMETRICSFLOAT _arg7, *lparg7=NULL;
-	jboolean rc;
-
-	DEBUG_CALL("wglUseFontOutlinesA\n")
-
-//	if (arg7) lparg7 = getGLYPHMETRICSFLOATFields(env, arg7, &_arg7);
-	rc = (jboolean)wglUseFontOutlinesA((HDC)arg0, arg1, arg2, arg3, (FLOAT)arg4, (FLOAT)arg5, arg6, (LPGLYPHMETRICSFLOAT)arg7);
-//	if (arg7) setGLYPHMETRICSFLOATFields(env, arg7, lparg7);
-	return rc;
-}
-
-JNIEXPORT jboolean JNICALL WGL_NATIVE(wglUseFontOutlinesW)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jfloat arg4, jfloat arg5, jint arg6, jobject arg7)
-{
-//	GLYPHMETRICSFLOAT _arg7, *lparg7=NULL;
-	jboolean rc;
-
-	DEBUG_CALL("wglUseFontOutlinesW\n")
-
-//	if (arg7) lparg7 = getGLYPHMETRICSFLOATFields(env, arg7, &_arg7);
-	rc = (jboolean)wglUseFontOutlinesW((HDC)arg0, arg1, arg2, arg3, (FLOAT)arg4, (FLOAT)arg5, arg6, (LPGLYPHMETRICSFLOAT)arg7);
-//	if (arg7) setGLYPHMETRICSFLOATFields(env, arg7, lparg7);
-	return rc;
-}
-
-JNIEXPORT void JNICALL WGL_NATIVE(MoveMemoryW__Lorg_eclipse_swt_opengl_internal_win32_GLYPHMETRICSFLOAT_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	GLYPHMETRICSFLOAT _arg0, *lparg0=NULL;
-
-	DEBUG_CALL("MoveMemoryW__Lorg_eclipse_swt_opengl_internal_win32_GLYPHMETRICSFLOAT_2II\n")
-	DEBUG_CHECK_NULL(env, arg1)
-	
-	if (arg0) lparg0 = &_arg0;
-	MoveMemory((PVOID)lparg0, (CONST VOID *)arg1, arg2);
-	if (arg0) setGLYPHMETRICSFLOATFields(env, arg0, lparg0);
-}
-
-JNIEXPORT void JNICALL WGL_NATIVE(MoveMemoryA__Lorg_eclipse_swt_opengl_internal_win32_GLYPHMETRICSFLOAT_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	GLYPHMETRICSFLOAT _arg0, *lparg0=NULL;
-
-	DEBUG_CALL("MoveMemoryA__Lorg_eclipse_swt_opengl_internal_win32_GLYPHMETRICSFLOAT_2II\n")
-	DEBUG_CHECK_NULL(env, arg1)
-	
-	if (arg0) lparg0 = &_arg0;
-	MoveMemory((PVOID)lparg0, (CONST VOID *)arg1, arg2);
-	if (arg0) setGLYPHMETRICSFLOATFields(env, arg0, lparg0);
-}
-
-
diff --git a/bundles/org.eclipse.swt.opengl/win32/library/make_win32.mak b/bundles/org.eclipse.swt.opengl/win32/library/make_win32.mak
deleted file mode 100644
index af6a861..0000000
--- a/bundles/org.eclipse.swt.opengl/win32/library/make_win32.mak
+++ /dev/null
@@ -1,56 +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
-#*******************************************************************************
-
-# assumes JAVA_HOME is set in the environment from which nmake is run
-
-APPVER=5.0
-!include <win32.mak>
-
-pgm_ver_str="SWT $(maj_ver).$(min_ver) for Windows"
-timestamp_str=__DATE__\" \"__TIME__\" (EST)\"
-copyright = "Copyright (C) 1999, 2003 IBM Corp.  All rights reserved."
-
-SWT_PREFIX=gl
-WS_PREFIX=win32
-SWT_LIB     = $(SWT_PREFIX)-$(WS_PREFIX).dll
-
-LINK_LIBS = opengl32.lib glu32.lib gdi32.lib
-
-# note: thoroughly test all examples after changing any optimization flags
-SWT_CDEBUG = #-Zi -Odi
-SWT_LDEBUG = #/DEBUG /DEBUGTYPE:both
-CFLAGS = -c -W3 -G6 -GD -O1 $(SWT_CDEBUG) -nologo -D_X86_=1 -D_WIN32 -D_WIN95 -D_WIN32_WINDOWS=0x0400 -D_MT -MT -DWIN32 -D_WIN32_DCOM /I$(JAVA_HOME)\include /I.
-RCFLAGS = -DSWT_COMMA_VERSION=$(comma_ver)
-LFLAGS = /INCREMENTAL:NO /PDB:NONE /RELEASE /NOLOGO $(SWT_LDEBUG) -entry:_DllMainCRTStartup@12 -dll /BASE:0x10000000 /comment:$(pgm_ver_str) /comment:$(copyright) /DLL
-
-SWT_OBJS = swt.obj gl.obj glu.obj glw.obj structs.obj
-
-all: $(SWT_LIB)
-
-.c.obj:
-	cl $(CFLAGS) $*.c
-
-$(SWT_LIB): $(SWT_OBJS) swt.res
-	echo $(LFLAGS) >templrf
-	echo $(LINK_LIBS) >>templrf
-	echo -machine:IX86 >>templrf
-	echo -subsystem:windows >>templrf
-	echo -out:$(SWT_LIB) >>templrf
-	echo $(SWT_OBJS) >>templrf
-	echo swt.res >>templrf
-	link @templrf
-	del templrf
-	
-swt.res:
-	rc $(RCFLAGS) -DSWT_ORG_FILENAME=\"$(SWT_LIB)\" -r -fo swt.res swt.rc
-	
-clean:
-    del *.obj *.res *.dll *.lib *.exp
diff --git a/bundles/org.eclipse.swt.opengl/win32/library/structs.c b/bundles/org.eclipse.swt.opengl/win32/library/structs.c
deleted file mode 100644
index a38435b..0000000
--- a/bundles/org.eclipse.swt.opengl/win32/library/structs.c
+++ /dev/null
@@ -1,304 +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
- *******************************************************************************/
-
-#include "swt.h"
-#include "structs.h"
-
-typedef struct GLYPHMETRICSFLOAT_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID gmfCellIncY, gmfCellIncX, gmfptGlyphOrigin_y, gmfptGlyphOrigin_x, gmfBlackBoxY, gmfBlackBoxX;
-} GLYPHMETRICSFLOAT_FID_CACHE;
-typedef GLYPHMETRICSFLOAT_FID_CACHE *PGLYPHMETRICSFLOAT_FID_CACHE;
-
-GLYPHMETRICSFLOAT_FID_CACHE GLYPHMETRICSFLOATFc;
-
-void cacheGLYPHMETRICSFLOATFids(JNIEnv *env, jobject lpObject, PGLYPHMETRICSFLOAT_FID_CACHE lpCache)
-{
-	if (lpCache->cached) return;
-	lpCache->clazz = (*env)->GetObjectClass(env, lpObject);
-	lpCache->gmfCellIncY = (*env)->GetFieldID(env, lpCache->clazz, "gmfCellIncY", "F");
-	lpCache->gmfCellIncX = (*env)->GetFieldID(env, lpCache->clazz, "gmfCellIncX", "F");
-	lpCache->gmfptGlyphOrigin_y = (*env)->GetFieldID(env, lpCache->clazz, "gmfptGlyphOrigin_y", "F");
-	lpCache->gmfptGlyphOrigin_x = (*env)->GetFieldID(env, lpCache->clazz, "gmfptGlyphOrigin_x", "F");
-	lpCache->gmfBlackBoxY = (*env)->GetFieldID(env, lpCache->clazz, "gmfBlackBoxY", "F");
-	lpCache->gmfBlackBoxX = (*env)->GetFieldID(env, lpCache->clazz, "gmfBlackBoxX", "F");
-	lpCache->cached = 1;
-}
-
-GLYPHMETRICSFLOAT *getGLYPHMETRICSFLOATFields(JNIEnv *env, jobject lpObject, GLYPHMETRICSFLOAT *lpStruct)
-{
-	PGLYPHMETRICSFLOAT_FID_CACHE lpCache = &GLYPHMETRICSFLOATFc;
-	if (!lpCache->cached) cacheGLYPHMETRICSFLOATFids(env, lpObject, lpCache);
-	lpStruct->gmfCellIncY = (*env)->GetFloatField(env, lpObject, lpCache->gmfCellIncY);
-	lpStruct->gmfCellIncX = (*env)->GetFloatField(env, lpObject, lpCache->gmfCellIncX);
-	lpStruct->gmfptGlyphOrigin.y = (*env)->GetFloatField(env, lpObject, lpCache->gmfptGlyphOrigin_y);
-	lpStruct->gmfptGlyphOrigin.x = (*env)->GetFloatField(env, lpObject, lpCache->gmfptGlyphOrigin_x);
-	lpStruct->gmfBlackBoxY = (*env)->GetFloatField(env, lpObject, lpCache->gmfBlackBoxY);
-	lpStruct->gmfBlackBoxX = (*env)->GetFloatField(env, lpObject, lpCache->gmfBlackBoxX);
-	return lpStruct;
-}
-
-void setGLYPHMETRICSFLOATFields(JNIEnv *env, jobject lpObject, GLYPHMETRICSFLOAT *lpStruct)
-{
-	PGLYPHMETRICSFLOAT_FID_CACHE lpCache = &GLYPHMETRICSFLOATFc;
-	if (!lpCache->cached) cacheGLYPHMETRICSFLOATFids(env, lpObject, lpCache);
-	(*env)->SetFloatField(env, lpObject, lpCache->gmfCellIncY, (jfloat)lpStruct->gmfCellIncY);
-	(*env)->SetFloatField(env, lpObject, lpCache->gmfCellIncX, (jfloat)lpStruct->gmfCellIncX);
-	(*env)->SetFloatField(env, lpObject, lpCache->gmfptGlyphOrigin_y, (jfloat)lpStruct->gmfptGlyphOrigin.y);
-	(*env)->SetFloatField(env, lpObject, lpCache->gmfptGlyphOrigin_x, (jfloat)lpStruct->gmfptGlyphOrigin.x);
-	(*env)->SetFloatField(env, lpObject, lpCache->gmfBlackBoxY, (jfloat)lpStruct->gmfBlackBoxY);
-	(*env)->SetFloatField(env, lpObject, lpCache->gmfBlackBoxX, (jfloat)lpStruct->gmfBlackBoxX);
-}
-
-typedef struct LAYERPLANEDESCRIPTOR_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID crTransparent, bReserved, iLayerPlane, cAuxBuffers, cStencilBits, cDepthBits, cAccumAlphaBits, cAccumBlueBits, cAccumGreenBits, cAccumRedBits, cAccumBits, cAlphaShift, cAlphaBits, cBlueShift, cBlueBits, cGreenShift, cGreenBits, cRedShift, cRedBits, cColorBits, iPixelType, dwFlags, nVersion, nSize;
-} LAYERPLANEDESCRIPTOR_FID_CACHE;
-typedef LAYERPLANEDESCRIPTOR_FID_CACHE *PLAYERPLANEDESCRIPTOR_FID_CACHE;
-
-LAYERPLANEDESCRIPTOR_FID_CACHE LAYERPLANEDESCRIPTORFc;
-
-void cacheLAYERPLANEDESCRIPTORFids(JNIEnv *env, jobject lpObject, PLAYERPLANEDESCRIPTOR_FID_CACHE lpCache)
-{
-	if (lpCache->cached) return;
-	lpCache->clazz = (*env)->GetObjectClass(env, lpObject);
-	lpCache->crTransparent = (*env)->GetFieldID(env, lpCache->clazz, "crTransparent", "I");
-	lpCache->bReserved = (*env)->GetFieldID(env, lpCache->clazz, "bReserved", "B");
-	lpCache->iLayerPlane = (*env)->GetFieldID(env, lpCache->clazz, "iLayerPlane", "B");
-	lpCache->cAuxBuffers = (*env)->GetFieldID(env, lpCache->clazz, "cAuxBuffers", "B");
-	lpCache->cStencilBits = (*env)->GetFieldID(env, lpCache->clazz, "cStencilBits", "B");
-	lpCache->cDepthBits = (*env)->GetFieldID(env, lpCache->clazz, "cDepthBits", "B");
-	lpCache->cAccumAlphaBits = (*env)->GetFieldID(env, lpCache->clazz, "cAccumAlphaBits", "B");
-	lpCache->cAccumBlueBits = (*env)->GetFieldID(env, lpCache->clazz, "cAccumBlueBits", "B");
-	lpCache->cAccumGreenBits = (*env)->GetFieldID(env, lpCache->clazz, "cAccumGreenBits", "B");
-	lpCache->cAccumRedBits = (*env)->GetFieldID(env, lpCache->clazz, "cAccumRedBits", "B");
-	lpCache->cAccumBits = (*env)->GetFieldID(env, lpCache->clazz, "cAccumBits", "B");
-	lpCache->cAlphaShift = (*env)->GetFieldID(env, lpCache->clazz, "cAlphaShift", "B");
-	lpCache->cAlphaBits = (*env)->GetFieldID(env, lpCache->clazz, "cAlphaBits", "B");
-	lpCache->cBlueShift = (*env)->GetFieldID(env, lpCache->clazz, "cBlueShift", "B");
-	lpCache->cBlueBits = (*env)->GetFieldID(env, lpCache->clazz, "cBlueBits", "B");
-	lpCache->cGreenShift = (*env)->GetFieldID(env, lpCache->clazz, "cGreenShift", "B");
-	lpCache->cGreenBits = (*env)->GetFieldID(env, lpCache->clazz, "cGreenBits", "B");
-	lpCache->cRedShift = (*env)->GetFieldID(env, lpCache->clazz, "cRedShift", "B");
-	lpCache->cRedBits = (*env)->GetFieldID(env, lpCache->clazz, "cRedBits", "B");
-	lpCache->cColorBits = (*env)->GetFieldID(env, lpCache->clazz, "cColorBits", "B");
-	lpCache->iPixelType = (*env)->GetFieldID(env, lpCache->clazz, "iPixelType", "B");
-	lpCache->dwFlags = (*env)->GetFieldID(env, lpCache->clazz, "dwFlags", "I");
-	lpCache->nVersion = (*env)->GetFieldID(env, lpCache->clazz, "nVersion", "S");
-	lpCache->nSize = (*env)->GetFieldID(env, lpCache->clazz, "nSize", "S");
-	lpCache->cached = 1;
-}
-
-LAYERPLANEDESCRIPTOR *getLAYERPLANEDESCRIPTORFields(JNIEnv *env, jobject lpObject, LAYERPLANEDESCRIPTOR *lpStruct)
-{
-	PLAYERPLANEDESCRIPTOR_FID_CACHE lpCache = &LAYERPLANEDESCRIPTORFc;
-	if (!lpCache->cached) cacheLAYERPLANEDESCRIPTORFids(env, lpObject, lpCache);
-	lpStruct->crTransparent = (*env)->GetIntField(env, lpObject, lpCache->crTransparent);
-	lpStruct->bReserved = (*env)->GetByteField(env, lpObject, lpCache->bReserved);
-	lpStruct->iLayerPlane = (*env)->GetByteField(env, lpObject, lpCache->iLayerPlane);
-	lpStruct->cAuxBuffers = (*env)->GetByteField(env, lpObject, lpCache->cAuxBuffers);
-	lpStruct->cStencilBits = (*env)->GetByteField(env, lpObject, lpCache->cStencilBits);
-	lpStruct->cDepthBits = (*env)->GetByteField(env, lpObject, lpCache->cDepthBits);
-	lpStruct->cAccumAlphaBits = (*env)->GetByteField(env, lpObject, lpCache->cAccumAlphaBits);
-	lpStruct->cAccumBlueBits = (*env)->GetByteField(env, lpObject, lpCache->cAccumBlueBits);
-	lpStruct->cAccumGreenBits = (*env)->GetByteField(env, lpObject, lpCache->cAccumGreenBits);
-	lpStruct->cAccumRedBits = (*env)->GetByteField(env, lpObject, lpCache->cAccumRedBits);
-	lpStruct->cAccumBits = (*env)->GetByteField(env, lpObject, lpCache->cAccumBits);
-	lpStruct->cAlphaShift = (*env)->GetByteField(env, lpObject, lpCache->cAlphaShift);
-	lpStruct->cAlphaBits = (*env)->GetByteField(env, lpObject, lpCache->cAlphaBits);
-	lpStruct->cBlueShift = (*env)->GetByteField(env, lpObject, lpCache->cBlueShift);
-	lpStruct->cBlueBits = (*env)->GetByteField(env, lpObject, lpCache->cBlueBits);
-	lpStruct->cGreenShift = (*env)->GetByteField(env, lpObject, lpCache->cGreenShift);
-	lpStruct->cGreenBits = (*env)->GetByteField(env, lpObject, lpCache->cGreenBits);
-	lpStruct->cRedShift = (*env)->GetByteField(env, lpObject, lpCache->cRedShift);
-	lpStruct->cRedBits = (*env)->GetByteField(env, lpObject, lpCache->cRedBits);
-	lpStruct->cColorBits = (*env)->GetByteField(env, lpObject, lpCache->cColorBits);
-	lpStruct->iPixelType = (*env)->GetByteField(env, lpObject, lpCache->iPixelType);
-	lpStruct->dwFlags = (*env)->GetIntField(env, lpObject, lpCache->dwFlags);
-	lpStruct->nVersion = (*env)->GetShortField(env, lpObject, lpCache->nVersion);
-	lpStruct->nSize = (*env)->GetShortField(env, lpObject, lpCache->nSize);
-	return lpStruct;
-}
-
-void setLAYERPLANEDESCRIPTORFields(JNIEnv *env, jobject lpObject, LAYERPLANEDESCRIPTOR *lpStruct)
-{
-	PLAYERPLANEDESCRIPTOR_FID_CACHE lpCache = &LAYERPLANEDESCRIPTORFc;
-	if (!lpCache->cached) cacheLAYERPLANEDESCRIPTORFids(env, lpObject, lpCache);
-	(*env)->SetIntField(env, lpObject, lpCache->crTransparent, (jint)lpStruct->crTransparent);
-	(*env)->SetByteField(env, lpObject, lpCache->bReserved, (jbyte)lpStruct->bReserved);
-	(*env)->SetByteField(env, lpObject, lpCache->iLayerPlane, (jbyte)lpStruct->iLayerPlane);
-	(*env)->SetByteField(env, lpObject, lpCache->cAuxBuffers, (jbyte)lpStruct->cAuxBuffers);
-	(*env)->SetByteField(env, lpObject, lpCache->cStencilBits, (jbyte)lpStruct->cStencilBits);
-	(*env)->SetByteField(env, lpObject, lpCache->cDepthBits, (jbyte)lpStruct->cDepthBits);
-	(*env)->SetByteField(env, lpObject, lpCache->cAccumAlphaBits, (jbyte)lpStruct->cAccumAlphaBits);
-	(*env)->SetByteField(env, lpObject, lpCache->cAccumBlueBits, (jbyte)lpStruct->cAccumBlueBits);
-	(*env)->SetByteField(env, lpObject, lpCache->cAccumGreenBits, (jbyte)lpStruct->cAccumGreenBits);
-	(*env)->SetByteField(env, lpObject, lpCache->cAccumRedBits, (jbyte)lpStruct->cAccumRedBits);
-	(*env)->SetByteField(env, lpObject, lpCache->cAccumBits, (jbyte)lpStruct->cAccumBits);
-	(*env)->SetByteField(env, lpObject, lpCache->cAlphaShift, (jbyte)lpStruct->cAlphaShift);
-	(*env)->SetByteField(env, lpObject, lpCache->cAlphaBits, (jbyte)lpStruct->cAlphaBits);
-	(*env)->SetByteField(env, lpObject, lpCache->cBlueShift, (jbyte)lpStruct->cBlueShift);
-	(*env)->SetByteField(env, lpObject, lpCache->cBlueBits, (jbyte)lpStruct->cBlueBits);
-	(*env)->SetByteField(env, lpObject, lpCache->cGreenShift, (jbyte)lpStruct->cGreenShift);
-	(*env)->SetByteField(env, lpObject, lpCache->cGreenBits, (jbyte)lpStruct->cGreenBits);
-	(*env)->SetByteField(env, lpObject, lpCache->cRedShift, (jbyte)lpStruct->cRedShift);
-	(*env)->SetByteField(env, lpObject, lpCache->cRedBits, (jbyte)lpStruct->cRedBits);
-	(*env)->SetByteField(env, lpObject, lpCache->cColorBits, (jbyte)lpStruct->cColorBits);
-	(*env)->SetByteField(env, lpObject, lpCache->iPixelType, (jbyte)lpStruct->iPixelType);
-	(*env)->SetIntField(env, lpObject, lpCache->dwFlags, (jint)lpStruct->dwFlags);
-	(*env)->SetShortField(env, lpObject, lpCache->nVersion, (jshort)lpStruct->nVersion);
-	(*env)->SetShortField(env, lpObject, lpCache->nSize, (jshort)lpStruct->nSize);
-}
-
-typedef struct POINTFLOAT_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID y, x;
-} POINTFLOAT_FID_CACHE;
-typedef POINTFLOAT_FID_CACHE *PPOINTFLOAT_FID_CACHE;
-
-POINTFLOAT_FID_CACHE POINTFLOATFc;
-
-void cachePOINTFLOATFids(JNIEnv *env, jobject lpObject, PPOINTFLOAT_FID_CACHE lpCache)
-{
-	if (lpCache->cached) return;
-	lpCache->clazz = (*env)->GetObjectClass(env, lpObject);
-	lpCache->y = (*env)->GetFieldID(env, lpCache->clazz, "y", "F");
-	lpCache->x = (*env)->GetFieldID(env, lpCache->clazz, "x", "F");
-	lpCache->cached = 1;
-}
-
-POINTFLOAT *getPOINTFLOATFields(JNIEnv *env, jobject lpObject, POINTFLOAT *lpStruct)
-{
-	PPOINTFLOAT_FID_CACHE lpCache = &POINTFLOATFc;
-	if (!lpCache->cached) cachePOINTFLOATFids(env, lpObject, lpCache);
-	lpStruct->y = (*env)->GetFloatField(env, lpObject, lpCache->y);
-	lpStruct->x = (*env)->GetFloatField(env, lpObject, lpCache->x);
-	return lpStruct;
-}
-
-void setPOINTFLOATFields(JNIEnv *env, jobject lpObject, POINTFLOAT *lpStruct)
-{
-	PPOINTFLOAT_FID_CACHE lpCache = &POINTFLOATFc;
-	if (!lpCache->cached) cachePOINTFLOATFids(env, lpObject, lpCache);
-	(*env)->SetFloatField(env, lpObject, lpCache->y, (jfloat)lpStruct->y);
-	(*env)->SetFloatField(env, lpObject, lpCache->x, (jfloat)lpStruct->x);
-}
-
-typedef struct PIXELFORMATDESCRIPTOR_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID dwDamageMask, dwVisibleMask, dwLayerMask, bReserved, iLayerType, cAuxBuffers, cStencilBits, cDepthBits, cAccumAlphaBits, cAccumBlueBits, cAccumGreenBits, cAccumRedBits, cAccumBits, cAlphaShift, cAlphaBits, cBlueShift, cBlueBits, cGreenShift, cGreenBits, cRedShift, cRedBits, cColorBits, iPixelType, dwFlags, nVersion, nSize;
-} PIXELFORMATDESCRIPTOR_FID_CACHE;
-typedef PIXELFORMATDESCRIPTOR_FID_CACHE *PPIXELFORMATDESCRIPTOR_FID_CACHE;
-
-PIXELFORMATDESCRIPTOR_FID_CACHE PIXELFORMATDESCRIPTORFc;
-
-void cachePIXELFORMATDESCRIPTORFids(JNIEnv *env, jobject lpObject, PPIXELFORMATDESCRIPTOR_FID_CACHE lpCache)
-{
-	if (lpCache->cached) return;
-	lpCache->clazz = (*env)->GetObjectClass(env, lpObject);
-	lpCache->dwDamageMask = (*env)->GetFieldID(env, lpCache->clazz, "dwDamageMask", "I");
-	lpCache->dwVisibleMask = (*env)->GetFieldID(env, lpCache->clazz, "dwVisibleMask", "I");
-	lpCache->dwLayerMask = (*env)->GetFieldID(env, lpCache->clazz, "dwLayerMask", "I");
-	lpCache->bReserved = (*env)->GetFieldID(env, lpCache->clazz, "bReserved", "B");
-	lpCache->iLayerType = (*env)->GetFieldID(env, lpCache->clazz, "iLayerType", "B");
-	lpCache->cAuxBuffers = (*env)->GetFieldID(env, lpCache->clazz, "cAuxBuffers", "B");
-	lpCache->cStencilBits = (*env)->GetFieldID(env, lpCache->clazz, "cStencilBits", "B");
-	lpCache->cDepthBits = (*env)->GetFieldID(env, lpCache->clazz, "cDepthBits", "B");
-	lpCache->cAccumAlphaBits = (*env)->GetFieldID(env, lpCache->clazz, "cAccumAlphaBits", "B");
-	lpCache->cAccumBlueBits = (*env)->GetFieldID(env, lpCache->clazz, "cAccumBlueBits", "B");
-	lpCache->cAccumGreenBits = (*env)->GetFieldID(env, lpCache->clazz, "cAccumGreenBits", "B");
-	lpCache->cAccumRedBits = (*env)->GetFieldID(env, lpCache->clazz, "cAccumRedBits", "B");
-	lpCache->cAccumBits = (*env)->GetFieldID(env, lpCache->clazz, "cAccumBits", "B");
-	lpCache->cAlphaShift = (*env)->GetFieldID(env, lpCache->clazz, "cAlphaShift", "B");
-	lpCache->cAlphaBits = (*env)->GetFieldID(env, lpCache->clazz, "cAlphaBits", "B");
-	lpCache->cBlueShift = (*env)->GetFieldID(env, lpCache->clazz, "cBlueShift", "B");
-	lpCache->cBlueBits = (*env)->GetFieldID(env, lpCache->clazz, "cBlueBits", "B");
-	lpCache->cGreenShift = (*env)->GetFieldID(env, lpCache->clazz, "cGreenShift", "B");
-	lpCache->cGreenBits = (*env)->GetFieldID(env, lpCache->clazz, "cGreenBits", "B");
-	lpCache->cRedShift = (*env)->GetFieldID(env, lpCache->clazz, "cRedShift", "B");
-	lpCache->cRedBits = (*env)->GetFieldID(env, lpCache->clazz, "cRedBits", "B");
-	lpCache->cColorBits = (*env)->GetFieldID(env, lpCache->clazz, "cColorBits", "B");
-	lpCache->iPixelType = (*env)->GetFieldID(env, lpCache->clazz, "iPixelType", "B");
-	lpCache->dwFlags = (*env)->GetFieldID(env, lpCache->clazz, "dwFlags", "I");
-	lpCache->nVersion = (*env)->GetFieldID(env, lpCache->clazz, "nVersion", "S");
-	lpCache->nSize = (*env)->GetFieldID(env, lpCache->clazz, "nSize", "S");
-	lpCache->cached = 1;
-}
-
-PIXELFORMATDESCRIPTOR *getPIXELFORMATDESCRIPTORFields(JNIEnv *env, jobject lpObject, PIXELFORMATDESCRIPTOR *lpStruct)
-{
-	PPIXELFORMATDESCRIPTOR_FID_CACHE lpCache = &PIXELFORMATDESCRIPTORFc;
-	if (!lpCache->cached) cachePIXELFORMATDESCRIPTORFids(env, lpObject, lpCache);
-	lpStruct->dwDamageMask = (*env)->GetIntField(env, lpObject, lpCache->dwDamageMask);
-	lpStruct->dwVisibleMask = (*env)->GetIntField(env, lpObject, lpCache->dwVisibleMask);
-	lpStruct->dwLayerMask = (*env)->GetIntField(env, lpObject, lpCache->dwLayerMask);
-	lpStruct->bReserved = (*env)->GetByteField(env, lpObject, lpCache->bReserved);
-	lpStruct->iLayerType = (*env)->GetByteField(env, lpObject, lpCache->iLayerType);
-	lpStruct->cAuxBuffers = (*env)->GetByteField(env, lpObject, lpCache->cAuxBuffers);
-	lpStruct->cStencilBits = (*env)->GetByteField(env, lpObject, lpCache->cStencilBits);
-	lpStruct->cDepthBits = (*env)->GetByteField(env, lpObject, lpCache->cDepthBits);
-	lpStruct->cAccumAlphaBits = (*env)->GetByteField(env, lpObject, lpCache->cAccumAlphaBits);
-	lpStruct->cAccumBlueBits = (*env)->GetByteField(env, lpObject, lpCache->cAccumBlueBits);
-	lpStruct->cAccumGreenBits = (*env)->GetByteField(env, lpObject, lpCache->cAccumGreenBits);
-	lpStruct->cAccumRedBits = (*env)->GetByteField(env, lpObject, lpCache->cAccumRedBits);
-	lpStruct->cAccumBits = (*env)->GetByteField(env, lpObject, lpCache->cAccumBits);
-	lpStruct->cAlphaShift = (*env)->GetByteField(env, lpObject, lpCache->cAlphaShift);
-	lpStruct->cAlphaBits = (*env)->GetByteField(env, lpObject, lpCache->cAlphaBits);
-	lpStruct->cBlueShift = (*env)->GetByteField(env, lpObject, lpCache->cBlueShift);
-	lpStruct->cBlueBits = (*env)->GetByteField(env, lpObject, lpCache->cBlueBits);
-	lpStruct->cGreenShift = (*env)->GetByteField(env, lpObject, lpCache->cGreenShift);
-	lpStruct->cGreenBits = (*env)->GetByteField(env, lpObject, lpCache->cGreenBits);
-	lpStruct->cRedShift = (*env)->GetByteField(env, lpObject, lpCache->cRedShift);
-	lpStruct->cRedBits = (*env)->GetByteField(env, lpObject, lpCache->cRedBits);
-	lpStruct->cColorBits = (*env)->GetByteField(env, lpObject, lpCache->cColorBits);
-	lpStruct->iPixelType = (*env)->GetByteField(env, lpObject, lpCache->iPixelType);
-	lpStruct->dwFlags = (*env)->GetIntField(env, lpObject, lpCache->dwFlags);
-	lpStruct->nVersion = (*env)->GetShortField(env, lpObject, lpCache->nVersion);
-	lpStruct->nSize = (*env)->GetShortField(env, lpObject, lpCache->nSize);
-	return lpStruct;
-}
-
-void setPIXELFORMATDESCRIPTORFields(JNIEnv *env, jobject lpObject, PIXELFORMATDESCRIPTOR *lpStruct)
-{
-	PPIXELFORMATDESCRIPTOR_FID_CACHE lpCache = &PIXELFORMATDESCRIPTORFc;
-	if (!lpCache->cached) cachePIXELFORMATDESCRIPTORFids(env, lpObject, lpCache);
-	(*env)->SetIntField(env, lpObject, lpCache->dwDamageMask, (jint)lpStruct->dwDamageMask);
-	(*env)->SetIntField(env, lpObject, lpCache->dwVisibleMask, (jint)lpStruct->dwVisibleMask);
-	(*env)->SetIntField(env, lpObject, lpCache->dwLayerMask, (jint)lpStruct->dwLayerMask);
-	(*env)->SetByteField(env, lpObject, lpCache->bReserved, (jbyte)lpStruct->bReserved);
-	(*env)->SetByteField(env, lpObject, lpCache->iLayerType, (jbyte)lpStruct->iLayerType);
-	(*env)->SetByteField(env, lpObject, lpCache->cAuxBuffers, (jbyte)lpStruct->cAuxBuffers);
-	(*env)->SetByteField(env, lpObject, lpCache->cStencilBits, (jbyte)lpStruct->cStencilBits);
-	(*env)->SetByteField(env, lpObject, lpCache->cDepthBits, (jbyte)lpStruct->cDepthBits);
-	(*env)->SetByteField(env, lpObject, lpCache->cAccumAlphaBits, (jbyte)lpStruct->cAccumAlphaBits);
-	(*env)->SetByteField(env, lpObject, lpCache->cAccumBlueBits, (jbyte)lpStruct->cAccumBlueBits);
-	(*env)->SetByteField(env, lpObject, lpCache->cAccumGreenBits, (jbyte)lpStruct->cAccumGreenBits);
-	(*env)->SetByteField(env, lpObject, lpCache->cAccumRedBits, (jbyte)lpStruct->cAccumRedBits);
-	(*env)->SetByteField(env, lpObject, lpCache->cAccumBits, (jbyte)lpStruct->cAccumBits);
-	(*env)->SetByteField(env, lpObject, lpCache->cAlphaShift, (jbyte)lpStruct->cAlphaShift);
-	(*env)->SetByteField(env, lpObject, lpCache->cAlphaBits, (jbyte)lpStruct->cAlphaBits);
-	(*env)->SetByteField(env, lpObject, lpCache->cBlueShift, (jbyte)lpStruct->cBlueShift);
-	(*env)->SetByteField(env, lpObject, lpCache->cBlueBits, (jbyte)lpStruct->cBlueBits);
-	(*env)->SetByteField(env, lpObject, lpCache->cGreenShift, (jbyte)lpStruct->cGreenShift);
-	(*env)->SetByteField(env, lpObject, lpCache->cGreenBits, (jbyte)lpStruct->cGreenBits);
-	(*env)->SetByteField(env, lpObject, lpCache->cRedShift, (jbyte)lpStruct->cRedShift);
-	(*env)->SetByteField(env, lpObject, lpCache->cRedBits, (jbyte)lpStruct->cRedBits);
-	(*env)->SetByteField(env, lpObject, lpCache->cColorBits, (jbyte)lpStruct->cColorBits);
-	(*env)->SetByteField(env, lpObject, lpCache->iPixelType, (jbyte)lpStruct->iPixelType);
-	(*env)->SetIntField(env, lpObject, lpCache->dwFlags, (jint)lpStruct->dwFlags);
-	(*env)->SetShortField(env, lpObject, lpCache->nVersion, (jshort)lpStruct->nVersion);
-	(*env)->SetShortField(env, lpObject, lpCache->nSize, (jshort)lpStruct->nSize);
-}
-
diff --git a/bundles/org.eclipse.swt.opengl/win32/library/structs.h b/bundles/org.eclipse.swt.opengl/win32/library/structs.h
deleted file mode 100644
index 14c62a8..0000000
--- a/bundles/org.eclipse.swt.opengl/win32/library/structs.h
+++ /dev/null
@@ -1,24 +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
- *******************************************************************************/
-#include <windows.h>
-
-GLYPHMETRICSFLOAT *getGLYPHMETRICSFLOATFields(JNIEnv *env, jobject lpObject, GLYPHMETRICSFLOAT *lpStruct);
-void setGLYPHMETRICSFLOATFields(JNIEnv *env, jobject lpObject, GLYPHMETRICSFLOAT *lpStruct);
-
-LAYERPLANEDESCRIPTOR *getLAYERPLANEDESCRIPTORFields(JNIEnv *env, jobject lpObject, LAYERPLANEDESCRIPTOR *lpStruct);
-void setLAYERPLANEDESCRIPTORFields(JNIEnv *env, jobject lpObject, LAYERPLANEDESCRIPTOR *lpStruct);
-
-POINTFLOAT *getPOINTFLOATFields(JNIEnv *env, jobject lpObject, POINTFLOAT *lpStruct);
-void setPOINTFLOATFields(JNIEnv *env, jobject lpObject, POINTFLOAT *lpStruct);
-
-PIXELFORMATDESCRIPTOR *getPIXELFORMATDESCRIPTORFields(JNIEnv *env, jobject lpObject, PIXELFORMATDESCRIPTOR *lpStruct);
-void setPIXELFORMATDESCRIPTORFields(JNIEnv *env, jobject lpObject, PIXELFORMATDESCRIPTOR *lpStruct);
-
diff --git a/bundles/org.eclipse.swt.opengl/win32/library/swt.rc b/bundles/org.eclipse.swt.opengl/win32/library/swt.rc
deleted file mode 100644
index c5b350c..0000000
--- a/bundles/org.eclipse.swt.opengl/win32/library/swt.rc
+++ /dev/null
@@ -1,67 +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
- *******************************************************************************/
- 
-#include "windows.h"
-
-VS_VERSION_INFO VERSIONINFO
- PRODUCTVERSION 0,0,0,0
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x40000L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
-BEGIN
-    BLOCK "StringFileInfo"
-    BEGIN
-        BLOCK "040904b0"
-        BEGIN
-            VALUE "CompanyName", "IBM Corporation\0"
-            VALUE "FileDescription", "Standard Widget Toolkit\0"
-            VALUE "InternalName", "SWT\0"
-            VALUE "LegalCopyright", "© Copyright 2000, 2003 IBM Corp.  All Rights Reserved.\0"
-            VALUE "OriginalFilename", SWT_ORG_FILENAME
-            VALUE "ProductName", "\0"
-            VALUE "ProductVersion", "0,0,0,0\0"
-        END
-    END
-    BLOCK "VarFileInfo"
-    BEGIN
-        VALUE "Translation", 0x409, 1200
-    END
-END
-
-/* SHMENUBAR Pocket PC 
- * ID_MENU SHMENUBAR DISCARDABLE
- * BEGIN
- * 	ID_MENU, 1,
- *  IMAGE_NONE, ID_MENU_ITEM1, 0, 0,
- *  0, 0, 0,
- * END
- * ID_MENU MENU DISCARDABLE
- * BEGIN
- *  MENUITEM "", ID_MENU_ITEM1
- * END
- */
-100 RCDATA DISCARDABLE 
-BEGIN
-    100, 1,
-    -2, 101, 0, 0, 
-    0, 0, 0,
-END
-
-100 MENU DISCARDABLE
-BEGIN
-	MENUITEM "", 101
-END
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt.opengl/win32/org/eclipse/swt/opengl/GLCanvas.java b/bundles/org.eclipse.swt.opengl/win32/org/eclipse/swt/opengl/GLCanvas.java
deleted file mode 100644
index 32b1a1a..0000000
--- a/bundles/org.eclipse.swt.opengl/win32/org/eclipse/swt/opengl/GLCanvas.java
+++ /dev/null
@@ -1,189 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.opengl.internal.win32.*;
-import org.eclipse.swt.internal.win32.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * GLCanvas is a widget capable of displaying OpenGL content.
- */
-
-public class GLCanvas extends Canvas {
-	int context;
-	int pixelFormat;
-
-/**
- * Create a GLCanvas widget using the attributes described in the GLData
- * object provided.
- *
- * @param parent a composite widget
- * @param style the bitwise OR'ing of widget styles
- * @param data the requested attributes of the GLCanvas
- *
- * @exception IllegalArgumentException
- * <ul><li>ERROR_NULL_ARGUMENT when the data is null
- *     <li>ERROR_UNSUPPORTED_DEPTH when the requested attributes cannot be provided</ul> 
- * @exception SWTException
- * <ul><li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread
- *     <li>ERROR_CANNOT_CREATE_OBJECT when failed to create OLE Object
- *     <li>ERROR_CANNOT_OPEN_FILE when failed to open file
- *     <li>ERROR_INTERFACE_NOT_FOUND when unable to create callbacks for OLE Interfaces
- *     <li>ERROR_INVALID_CLASSID
- * </ul>
- */
-public GLCanvas (Composite parent, int style, GLData data) {
-	super (parent, style);
-	if (data == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-
-	PIXELFORMATDESCRIPTOR pfd = new PIXELFORMATDESCRIPTOR ();
-	pfd.nSize = (short) PIXELFORMATDESCRIPTOR.sizeof;
-	pfd.nVersion = 1;
-	pfd.dwFlags = WGL.PFD_DRAW_TO_WINDOW | WGL.PFD_SUPPORT_OPENGL;
-	pfd.dwLayerMask = WGL.PFD_MAIN_PLANE;
-	pfd.iPixelType = (byte) WGL.PFD_TYPE_RGBA;
-	if (data.doubleBuffer) pfd.dwFlags |= WGL.PFD_DOUBLEBUFFER;
-	if (data.stereo) pfd.dwFlags |= WGL.PFD_STEREO;
-	pfd.cRedBits = (byte) data.redSize;
-	pfd.cGreenBits = (byte) data.greenSize;
-	pfd.cBlueBits = (byte) data.blueSize;
-	pfd.cAlphaBits = (byte) data.alphaSize;
-	pfd.cDepthBits = (byte) data.depthSize;
-	pfd.cStencilBits = (byte) data.stencilSize;
-	pfd.cAccumRedBits = (byte) data.accumRedSize;
-	pfd.cAccumGreenBits = (byte) data.accumGreenSize;
-	pfd.cAccumBlueBits = (byte) data.accumBlueSize;
-	pfd.cAccumAlphaBits = (byte) data.accumAlphaSize;
-	pfd.cAccumBits = (byte) (pfd.cAccumRedBits + pfd.cAccumGreenBits + pfd.cAccumBlueBits + pfd.cAccumAlphaBits);
-	//FIXME - use wglChoosePixelFormatARB
-//	if (data.sampleBuffers > 0) {
-//		wglAttrib [pos++] = WGL.WGL_SAMPLE_BUFFERS_ARB;
-//		wglAttrib [pos++] = data.sampleBuffers;
-//	}
-//	if (data.samples > 0) {
-//		wglAttrib [pos++] = WGL.WGL_SAMPLES_ARB;
-//		wglAttrib [pos++] = data.samples;
-//	}
-
-	int hDC = OS.GetDC (handle);
-	pixelFormat = WGL.ChoosePixelFormat (hDC, pfd);
-	if (pixelFormat == 0) {
-		OS.ReleaseDC (handle, hDC);
-		SWT.error (SWT.ERROR_UNSUPPORTED_DEPTH);
-	}
-	if (!WGL.SetPixelFormat (hDC, pixelFormat, pfd)) {
-		OS.ReleaseDC (handle, hDC);
-		SWT.error (SWT.ERROR_UNSUPPORTED_DEPTH);
-	}
-	context = WGL.wglCreateContext (hDC);
-	if (context == 0) {
-		OS.ReleaseDC (handle, hDC);
-		SWT.error (SWT.ERROR_NO_HANDLES);
-	}
-	OS.ReleaseDC (handle, hDC);
-//	if (share != null) {
-//		WGL.wglShareLists (context, share.context);
-//	}
-	
-	Listener listener = new Listener () {
-		public void handleEvent (Event event) {
-			switch (event.type) {
-			case SWT.Dispose:
-				WGL.wglDeleteContext (context);
-				break;
-			}
-		}
-	};
-	addListener (SWT.Dispose, listener);
-}
-
-/**
- * Returns a GLData object describing the created context.
- *  
- * @return GLData description of the OpenGL context attributes
- * @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 GLData getGLData () {
-	checkWidget ();
-	GLData data = new GLData ();
-	PIXELFORMATDESCRIPTOR pfd = new PIXELFORMATDESCRIPTOR ();
-	pfd.nSize = (short) PIXELFORMATDESCRIPTOR.sizeof;
-	int hDC = OS.GetDC (handle);
-	WGL.DescribePixelFormat(hDC, pixelFormat, PIXELFORMATDESCRIPTOR.sizeof, pfd);
-	OS.ReleaseDC (handle, hDC);
-	data.doubleBuffer = (pfd.dwFlags & WGL.PFD_DOUBLEBUFFER) != 0;
-	data.stereo = (pfd.dwFlags & WGL.PFD_STEREO) != 0;
-	data.redSize = pfd.cRedBits;
-	data.greenSize = pfd.cGreenBits;
-	data.blueSize = pfd.cBlueBits;
-	data.alphaSize = pfd.cAlphaBits;
-	data.depthSize = pfd.cDepthBits;
-	data.stencilSize = pfd.cStencilBits;
-	data.accumRedSize = pfd.cAccumRedBits;
-	data.accumGreenSize = pfd.cAccumGreenBits;
-	data.accumBlueSize = pfd.cAccumBlueBits;
-	data.accumAlphaSize = pfd.cAccumAlphaBits;
-	return data;
-}
-
-/**
- * Returns a boolean indicating whether the receiver's OpenGL context
- * is the current context.
- *  
- * @return true if the receiver holds the current OpenGL context,
- * false otherwise
- * @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 isCurrent () {
-	checkWidget ();
-	return WGL.wglGetCurrentContext () == handle;
-}
-
-/**
- * Sets the OpenGL context associated with this GLCanvas to be the
- * current GL context.
- * 
- * @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 setCurrent () {
-	checkWidget ();
-	if (WGL.wglGetCurrentContext () == handle) return;
-	int hDC = OS.GetDC (handle);
-	WGL.wglMakeCurrent (hDC, context);
-	OS.ReleaseDC (handle, hDC);
-}
-
-/**
- * Swaps the front and back color buffers.
- * 
- * @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 swapBuffers () {
-	checkWidget ();
-	int hDC = OS.GetDC (handle);
-	WGL.SwapBuffers (hDC);
-	OS.ReleaseDC (handle, hDC);
-}
-}
diff --git a/bundles/org.eclipse.swt.opengl/win32/org/eclipse/swt/opengl/internal/win32/LAYERPLANEDESCRIPTOR.java b/bundles/org.eclipse.swt.opengl/win32/org/eclipse/swt/opengl/internal/win32/LAYERPLANEDESCRIPTOR.java
deleted file mode 100644
index 8f674ae..0000000
--- a/bundles/org.eclipse.swt.opengl/win32/org/eclipse/swt/opengl/internal/win32/LAYERPLANEDESCRIPTOR.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl.internal.win32;
-
-
-public class LAYERPLANEDESCRIPTOR {
-    public short nSize;
-    public short nVersion;
-    public int dwFlags;
-    public byte iPixelType;
-    public byte cColorBits;
-    public byte cRedBits;
-    public byte cRedShift;
-    public byte cGreenBits;
-    public byte cGreenShift;
-    public byte cBlueBits;
-    public byte cBlueShift;
-    public byte cAlphaBits;
-    public byte cAlphaShift;
-    public byte cAccumBits;
-    public byte cAccumRedBits;
-    public byte cAccumGreenBits;
-    public byte cAccumBlueBits;
-    public byte cAccumAlphaBits;
-    public byte cDepthBits;
-    public byte cStencilBits;
-    public byte cAuxBuffers;
-    public byte iLayerPlane;
-    public byte bReserved;
-    public int crTransparent;
-	public static final int sizeof = 36;
-}
diff --git a/bundles/org.eclipse.swt.opengl/win32/org/eclipse/swt/opengl/internal/win32/PIXELFORMATDESCRIPTOR.java b/bundles/org.eclipse.swt.opengl/win32/org/eclipse/swt/opengl/internal/win32/PIXELFORMATDESCRIPTOR.java
deleted file mode 100644
index a817010..0000000
--- a/bundles/org.eclipse.swt.opengl/win32/org/eclipse/swt/opengl/internal/win32/PIXELFORMATDESCRIPTOR.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl.internal.win32;
-
-
-public class PIXELFORMATDESCRIPTOR {
-   	public short nSize;
-    public short nVersion;
-    public int dwFlags;
-    public byte iPixelType;
-    public byte cColorBits;
-    public byte cRedBits;
-    public byte cRedShift;
-    public byte cGreenBits;
-    public byte cGreenShift;
-    public byte cBlueBits;
-    public byte cBlueShift;
-    public byte cAlphaBits;
-    public byte cAlphaShift;
-    public byte cAccumBits;
-    public byte cAccumRedBits;
-    public byte cAccumGreenBits;
-    public byte cAccumBlueBits;
-    public byte cAccumAlphaBits;
-    public byte cDepthBits;
-    public byte cStencilBits;
-    public byte cAuxBuffers;
-    public byte iLayerType;
-    public byte bReserved;
-    public int dwLayerMask;
-    public int dwVisibleMask;
-    public int dwDamageMask;
-	public static final int sizeof = 40;
-}
diff --git a/bundles/org.eclipse.swt.opengl/win32/org/eclipse/swt/opengl/internal/win32/WGL.java b/bundles/org.eclipse.swt.opengl/win32/org/eclipse/swt/opengl/internal/win32/WGL.java
deleted file mode 100644
index 52db669..0000000
--- a/bundles/org.eclipse.swt.opengl/win32/org/eclipse/swt/opengl/internal/win32/WGL.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl.internal.win32;
-
-
-import org.eclipse.swt.opengl.*;
-import org.eclipse.swt.opengl.Library;
-import org.eclipse.swt.internal.win32.OS;
-
-public class WGL {
-	
-static {
-	Library.loadLibrary("gl");
-}
-	
-public static final int WGL_FONT_LINES      = 0;
-public static final int WGL_FONT_POLYGONS   = 1;
-
-/* LAYERPLANEDESCRIPTOR flags */
-public static final int LPD_DOUBLEBUFFER        = 0x00000001;
-public static final int LPD_STEREO              = 0x00000002;
-public static final int LPD_SUPPORT_GDI         = 0x00000010;
-public static final int LPD_SUPPORT_OPENGL      = 0x00000020;
-public static final int LPD_SHARE_DEPTH         = 0x00000040;
-public static final int LPD_SHARE_STENCIL       = 0x00000080;
-public static final int LPD_SHARE_ACCUM         = 0x00000100;
-public static final int LPD_SWAP_EXCHANGE       = 0x00000200;
-public static final int LPD_SWAP_COPY           = 0x00000400;
-public static final int LPD_TRANSPARENT         = 0x00001000;
-
-public static final int LPD_TYPE_RGBA        = 0;
-public static final int LPD_TYPE_COLORINDEX  = 1;
-
-/* wglSwapLayerBuffers flags */
-public static final int WGL_SWAP_MAIN_PLANE     = 0x00000001;
-public static final int WGL_SWAP_OVERLAY1       = 0x00000002;
-public static final int WGL_SWAP_OVERLAY2       = 0x00000004;
-public static final int WGL_SWAP_OVERLAY3       = 0x00000008;
-public static final int WGL_SWAP_OVERLAY4       = 0x00000010;
-public static final int WGL_SWAP_OVERLAY5       = 0x00000020;
-public static final int WGL_SWAP_OVERLAY6       = 0x00000040;
-public static final int WGL_SWAP_OVERLAY7       = 0x00000080;
-public static final int WGL_SWAP_OVERLAY8       = 0x00000100;
-public static final int WGL_SWAP_OVERLAY9       = 0x00000200;
-public static final int WGL_SWAP_OVERLAY10      = 0x00000400;
-public static final int WGL_SWAP_OVERLAY11      = 0x00000800;
-public static final int WGL_SWAP_OVERLAY12      = 0x00001000;
-public static final int WGL_SWAP_OVERLAY13      = 0x00002000;
-public static final int WGL_SWAP_OVERLAY14      = 0x00004000;
-public static final int WGL_SWAP_OVERLAY15      = 0x00008000;
-public static final int WGL_SWAP_UNDERLAY1      = 0x00010000;
-public static final int WGL_SWAP_UNDERLAY2      = 0x00020000;
-public static final int WGL_SWAP_UNDERLAY3      = 0x00040000;
-public static final int WGL_SWAP_UNDERLAY4      = 0x00080000;
-public static final int WGL_SWAP_UNDERLAY5      = 0x00100000;
-public static final int WGL_SWAP_UNDERLAY6      = 0x00200000;
-public static final int WGL_SWAP_UNDERLAY7      = 0x00400000;
-public static final int WGL_SWAP_UNDERLAY8      = 0x00800000;
-public static final int WGL_SWAP_UNDERLAY9      = 0x01000000;
-public static final int WGL_SWAP_UNDERLAY10     = 0x02000000;
-public static final int WGL_SWAP_UNDERLAY11     = 0x04000000;
-public static final int WGL_SWAP_UNDERLAY12     = 0x08000000;
-public static final int WGL_SWAP_UNDERLAY13     = 0x10000000;
-public static final int WGL_SWAP_UNDERLAY14     = 0x20000000;
-public static final int WGL_SWAP_UNDERLAY15     = 0x40000000;
-
-/* pixel types */
-public static final int PFD_TYPE_RGBA        = 0;
-public static final int PFD_TYPE_COLORINDEX  = 1;
-
-/* layer types */
-public static final int PFD_MAIN_PLANE       = 0;
-public static final int PFD_OVERLAY_PLANE    = 1;
-public static final int PFD_UNDERLAY_PLANE   = (-1);
-
-/* PIXELFORMATDESCRIPTOR flags */
-public static final int PFD_DOUBLEBUFFER            = 0x00000001;
-public static final int PFD_STEREO                  = 0x00000002;
-public static final int PFD_DRAW_TO_WINDOW          = 0x00000004;
-public static final int PFD_DRAW_TO_BITMAP          = 0x00000008;
-public static final int PFD_SUPPORT_GDI             = 0x00000010;
-public static final int PFD_SUPPORT_OPENGL          = 0x00000020;
-public static final int PFD_GENERIC_FORMAT          = 0x00000040;
-public static final int PFD_NEED_PALETTE            = 0x00000080;
-public static final int PFD_NEED_SYSTEM_PALETTE     = 0x00000100;
-public static final int PFD_SWAP_EXCHANGE           = 0x00000200;
-public static final int PFD_SWAP_COPY               = 0x00000400;
-public static final int PFD_SWAP_LAYER_BUFFERS      = 0x00000800;
-public static final int PFD_GENERIC_ACCELERATED     = 0x00001000;
-public static final int PFD_SUPPORT_DIRECTDRAW      = 0x00002000;
-
-/* PIXELFORMATDESCRIPTOR flags for use in ChoosePixelFormat only */
-public static final int PFD_DEPTH_DONTCARE          = 0x20000000;
-public static final int PFD_DOUBLEBUFFER_DONTCARE   = 0x40000000;
-public static final int PFD_STEREO_DONTCARE         = 0x80000000;
-
-public static final native int ChoosePixelFormat(int hdc, PIXELFORMATDESCRIPTOR ppfd);
-public static final native int DescribePixelFormat(int hdc, int iPixelFormat, int nBytes, PIXELFORMATDESCRIPTOR ppfd);
-public static final native int GetPixelFormat(int hdc);
-public static final native boolean SetPixelFormat(int hdc, int iPixelFormat, PIXELFORMATDESCRIPTOR ppfd);
-public static final native boolean SwapBuffers(int hdc);
-public static final native boolean wglCopyContext(int hglrcSrc, int hglrcDst, int mask);
-public static final native int wglCreateContext(int hdc);
-public static final native int wglCreateLayerContext(int hdc, int iLayerPlane);
-public static final native boolean wglDeleteContext(int hglrc);
-public static final native int wglGetCurrentContext();
-public static final native int wglGetCurrentDC();
-public static final native int wglGetProcAddress(byte[] lpszProc);
-public static final native boolean wglMakeCurrent(int hdc, int hglrc);
-public static final native boolean wglShareLists(int hglrc1, int hglrc2);
-public static final native boolean wglUseFontBitmapsA(int hdc, int first, int count, int listBase);
-public static final native boolean wglUseFontBitmapsW(int hdc, int first, int count, int listBase);
-public static final boolean wglUseFontBitmaps(int hdc, int first, int count, int listBase) {
-	if (OS.IsUnicode) return wglUseFontBitmapsW(hdc, first, count, listBase);
-	return wglUseFontBitmapsA(hdc, first, count, listBase);
-}
-public static final native boolean wglUseFontOutlinesA(int hdc, int first, int count, int listBase, float deviation, float extrusion, int format, int lpgmf);
-public static final native boolean wglUseFontOutlinesW(int hdc, int first, int count, int listBase, float deviation, float extrusion, int format, int lpgmf);
-public static final boolean wglUseFontOutlines(int hdc, int first, int count, int listBase, float deviation, float extrusion, int format, int lpgmf) {
-	if (OS.IsUnicode) return wglUseFontOutlinesW(hdc, first, count, listBase, deviation, extrusion, format, lpgmf);
-	return wglUseFontOutlinesA(hdc, first, count, listBase, deviation, extrusion, format, lpgmf);
-}
-public static final native boolean wglDescribeLayerPlane(int hdc, int iPixelFormat, int iLayerPlane, int nBytes, LAYERPLANEDESCRIPTOR plpd);
-public static final native int wglSetLayerPaletteEntries(int hdc, int iLayerPlane, int iStart, int cEntries, int[] pcr);
-public static final native int wglGetLayerPaletteEntries(int hdc, int iLayerPlane, int iStart, int cEntries, int[] pcr);
-public static final native boolean wglRealizeLayerPalette(int hdc, int iLayerPlane, boolean bRealize);
-public static final native boolean wglSwapLayerBuffers(int hdc, int fuPlanes);
-}
diff --git a/bundles/org.eclipse.swt/buildnotes_swt.html b/bundles/org.eclipse.swt/buildnotes_swt.html
index f7c0e14..d0c4cb6 100755
--- a/bundles/org.eclipse.swt/buildnotes_swt.html
+++ b/bundles/org.eclipse.swt/buildnotes_swt.html
@@ -11,6 +11,33 @@
 Eclipse Platform Build Notes<br>
 SWT</h1>
 
+<h2> SWT Build 3.4 30 - Friday February 22, 2008</h2>
+<blockquote>
+28132 Repaint cheeze with editor bottom right corner
+<br>173794 	[Browser Mozilla]: Display-Filter (SWT.MouseWheel) no longer working when focus set to Browser
+<br>190992 	String truncation in non-English cases.
+<br>195585 	HTMLTransfer does not support non-English text.
+<br>210857 	Text box without 'SWT.V_SCROLL' uneditable
+<br>211284 	[Browser] Browser widget in ON_TOP shell not focused on first click (Mozilla/Safari)
+<br>211357 	FileViewer crashes
+<br>211359 	Apple+Q doesn't quit an SWT app, nor does menu selection of same
+<br>213489 	Increasing height of table rows via MeasureItem listener affects row height but not line height (OS X)
+<br>213937 	The Method getBorderWidth () from Control returns 0 every time
+<br>214557 	Combo#add(String,int) does update selection-index
+<br>215252 	frequent "invalid thread access"
+<br>217371 	[Browser] Support click-through for Browser and toolbar buttons
+<br>217842 	NPE in GC when creating problems View
+<br>218229 	API to open an URL in the OS default browser
+<br>218234 	Display keeps lock on runnable for timerExcec when disposed
+<br>218682 	2nd GC erases the first.
+<br>218700 	Tree getHeaderHeight not implemented
+<br>218702 	Tree getSelectionCount not implemented
+<br>219326 	Shell with custom region and SWT.NO_TRIM still has border
+<br>219601 	StyledText: Unexpected loss of mouse cursor
+<br>219621 	Tree get/set column order not implemented
+<br>219693 	Eclipse crashes when Browser closed with command-W
+</blockquote>
+
 <h2> SWT Build 3.4 29 - Tuesday February 12, 2008</h2>
 <blockquote>
 196191  Performance Improvement for JPEGFileFormat class initializer
diff --git a/examples/org.eclipse.swt.examples.browser.demos/.classpath b/examples/org.eclipse.swt.examples.browser.demos/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/examples/org.eclipse.swt.examples.browser.demos/.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.swt.examples.browser.demos/.project b/examples/org.eclipse.swt.examples.browser.demos/.project
deleted file mode 100644
index db0b47d..0000000
--- a/examples/org.eclipse.swt.examples.browser.demos/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.swt.examples.BrowserDemo</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.swt.examples.browser.demos/.settings/org.eclipse.jdt.core.prefs b/examples/org.eclipse.swt.examples.browser.demos/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 714b88a..0000000
--- a/examples/org.eclipse.swt.examples.browser.demos/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-#Mon Dec 11 15:14:31 EST 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.swt.examples.browser.demos/about.html b/examples/org.eclipse.swt.examples.browser.demos/about.html
deleted file mode 100644
index 4602330..0000000
--- a/examples/org.eclipse.swt.examples.browser.demos/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.swt.examples.browser.demos/build.properties b/examples/org.eclipse.swt.examples.browser.demos/build.properties
deleted file mode 100644
index 9764da6..0000000
--- a/examples/org.eclipse.swt.examples.browser.demos/build.properties
+++ /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
-###############################################################################
-source.BrowserDemo.jar = src/
-output.BrowserDemo.jar = bin/
-bin.includes = doc-html/,\
-			   plugin.properties,\
-			   plugin.xml,\
-			   about.html,\
-               BrowserDemo.jar,\
-               css1/,\
-               css2/,\
-               css3/,\
-               css4/,\
-               icons/
diff --git a/examples/org.eclipse.swt.examples.browser.demos/css1/back1.jpg b/examples/org.eclipse.swt.examples.browser.demos/css1/back1.jpg
deleted file mode 100644
index bab9f33..0000000
--- a/examples/org.eclipse.swt.examples.browser.demos/css1/back1.jpg
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.browser.demos/css1/back2.jpg b/examples/org.eclipse.swt.examples.browser.demos/css1/back2.jpg
deleted file mode 100644
index 83f68de..0000000
--- a/examples/org.eclipse.swt.examples.browser.demos/css1/back2.jpg
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.browser.demos/css1/black.gif b/examples/org.eclipse.swt.examples.browser.demos/css1/black.gif
deleted file mode 100644
index 976c1e9..0000000
--- a/examples/org.eclipse.swt.examples.browser.demos/css1/black.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.browser.demos/css1/board1.jpg b/examples/org.eclipse.swt.examples.browser.demos/css1/board1.jpg
deleted file mode 100644
index 0cc4d5e..0000000
--- a/examples/org.eclipse.swt.examples.browser.demos/css1/board1.jpg
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.browser.demos/css1/empty.gif b/examples/org.eclipse.swt.examples.browser.demos/css1/empty.gif
deleted file mode 100644
index a6bce4d..0000000
--- a/examples/org.eclipse.swt.examples.browser.demos/css1/empty.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.browser.demos/css1/line1.gif b/examples/org.eclipse.swt.examples.browser.demos/css1/line1.gif
deleted file mode 100644
index f9a0f34..0000000
--- a/examples/org.eclipse.swt.examples.browser.demos/css1/line1.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.browser.demos/css1/style.css b/examples/org.eclipse.swt.examples.browser.demos/css1/style.css
deleted file mode 100644
index 7b36fa9..0000000
--- a/examples/org.eclipse.swt.examples.browser.demos/css1/style.css
+++ /dev/null
@@ -1,30 +0,0 @@
-body {background: url(./back2.jpg) fixed; font-size: 10pt; font-family:Verdana, Arial, Helv, Helvetica, sans-serif;}

-h1 {text-align: center; font-size: 14pt; font-family: Verdana, Arial, Helv, Helvetica, sans-serif;}

-h2 {background: url(./line1.gif) no-repeat right bottom; font-size: 12pt; font-family:Verdana, Arial, Helv, Helvetica, sans-serif;}

-h3 {font-size: 10pt; font-family:Verdana, Arial, Helv, Helvetica, sans-serif;}

-

-ul {list-style: none; padding: 0; margin:0; font: 12pt Times;}

-li.white {background: url(./white.gif) no-repeat; padding: 3px 0 32px 64px; margin: 0;}

-li.black {background: url(./black.gif) no-repeat; padding: 3px 0 32px 64px; margin: 0;}

-li.wall {background: url(./wall.gif) no-repeat; padding: 3px 0 32px 64px; margin: 0;}

-

-.board {text-align: center;}

-table { border-collapse: collapse; margin: 0;}

-tr {}

-td {height: 32px; width:32px; table-layout: fixed;}

-

-.whitelink a {display: block; background: url(./empty.gif) no-repeat; width:32px; height:32px;}

-.blacklink a {display: block; background: url(./empty.gif) no-repeat; width:32px; height:32px;}

-.empty {display: block; background: url(./empty.gif) no-repeat; width:32px; height:32px;}

-

-.whitelink a:hover {display: block; background: url(./white.gif) no-repeat; width:32px; height:32px;}

-.blacklink a:hover {display: block; background: url(./black.gif) no-repeat; width:32px; height:32px;}

-.white {background: url(./white.gif) no-repeat;}

-.black {background: url(./black.gif) no-repeat;}

-.wall {background: url(./wall.gif) no-repeat;}

-

-.playerwhite {float: left; margin: 1em 1em; border: 1px solid gray; background: url(./white.gif) no-repeat; text-align: right; width:100px; height:32px;}

-.playerblack {float: right; margin: 1em 1em; border: 1px solid gray; background: url(./black.gif) no-repeat; text-align: right; width:100px; height:32px;}

-

-.winner {border: 4px solid blue; font: bold 16pt Times, serif;}

-.loser {border: 1px solid black; font: 12pt Times, serif;}

diff --git a/examples/org.eclipse.swt.examples.browser.demos/css1/wall.gif b/examples/org.eclipse.swt.examples.browser.demos/css1/wall.gif
deleted file mode 100644
index fb97fc1..0000000
--- a/examples/org.eclipse.swt.examples.browser.demos/css1/wall.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.browser.demos/css1/welcome.html b/examples/org.eclipse.swt.examples.browser.demos/css1/welcome.html
deleted file mode 100644
index 58e92a3..0000000
--- a/examples/org.eclipse.swt.examples.browser.demos/css1/welcome.html
+++ /dev/null
@@ -1,53 +0,0 @@
-<html>
-<head>
-	<title>Start a game</title>
-	<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
-	<link rel="stylesheet" type="text/css" href="./style.css">
-</head>
-<body>
-<h1>Pawns Game</h1>
-<div class="start">
-<a class="start" href="http://www.org.eclipse.swt.examples.browser.demos.pawns/actionstart1player">1 player</a>
-<a class="start" href="http://www.org.eclipse.swt.examples.browser.demos.pawns/actionstart2players">2 players</a>
-</div>
-<h2>How to play</h2>
-This board game is a variant of Reversi and Tic Tac Toe. Each one of the two players sets a pawn on an empty cell of the board.
-<h3>Pawns</h3>
-<ul>
-<li class="white">Player 1</li>
-<li class="black">Player 2</li>
-<li class="wall">Wall. Cannot be reversed.</li>
-</ul>
-<div class="theme">
-Different themes are supported. Theme is configured through a Cascading Style Sheet (CSS) that determines how the HTML content is rendered by the SWT Browser widget.
-<ul class="theme">
-<li><a href="http://www.org.eclipse.swt.examples.browser.demos.pawns/actiontheme/css1">Theme 1</a></li>
-<li><a href="http://www.org.eclipse.swt.examples.browser.demos.pawns/actiontheme/css2">Theme 2</a></li>
-<li><a href="http://www.org.eclipse.swt.examples.browser.demos.pawns/actiontheme/css3">Theme 3</a></li>
-<li><a href="http://www.org.eclipse.swt.examples.browser.demos.pawns/actiontheme/css4">Theme 4</a></li>
-</ul>
-
-</div>
-<h2>How to win</h2>
-The game ends when all cells are filled. The winner is the one with most pawns of their colour. 
-
-<h2>Java and HTML integrated through the SWT Browser widget</h2>
-<p>
-Rendering is based on HTML and CSS techniques. Computer moves are programmed in regular
-Java code in the Eclipse plug-in. The SWT Browser widget is used for rendering and reacting
-to user input.
-</p>
-<h3>Implementation</h3>
-<p>
-The board is a table filled with hyperlinks. Cascading Style Sheets
-provide various themes and control the table aesthetic appearance.
-<br>The API <code>org.eclipse.swt.browser.Browser.setText(java.lang.String)</code> draws
-the board game from HTML generated in memory.
-<br>Player moves are captured by implementing the interface <code>org.eclipse.swt.browser.LocationListener</code>.
-e.g the player clicks on a cell that may generate a hyperlink with a URL similar to
-<code>http://www.org.eclipse.swt.examples.browser.demos/xx1yy2</code>. That hyperlink identifies
-the position of the cell selected by the player (column 1, row 2). The move is completed by generating
-new HTML content and invoking <code>Browser.setText</code> to update the board game.
-</p>
-</body>
-</html>
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.examples.browser.demos/css1/white.gif b/examples/org.eclipse.swt.examples.browser.demos/css1/white.gif
deleted file mode 100644
index c43fd96..0000000
--- a/examples/org.eclipse.swt.examples.browser.demos/css1/white.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.browser.demos/css2/Back640x440.gif b/examples/org.eclipse.swt.examples.browser.demos/css2/Back640x440.gif
deleted file mode 100644
index 6533821..0000000
--- a/examples/org.eclipse.swt.examples.browser.demos/css2/Back640x440.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.browser.demos/css2/black_chip.gif b/examples/org.eclipse.swt.examples.browser.demos/css2/black_chip.gif
deleted file mode 100644
index c7c6ebd..0000000
--- a/examples/org.eclipse.swt.examples.browser.demos/css2/black_chip.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.browser.demos/css2/line1.gif b/examples/org.eclipse.swt.examples.browser.demos/css2/line1.gif
deleted file mode 100644
index f9a0f34..0000000
--- a/examples/org.eclipse.swt.examples.browser.demos/css2/line1.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.browser.demos/css2/style.css b/examples/org.eclipse.swt.examples.browser.demos/css2/style.css
deleted file mode 100644
index 590749c..0000000
--- a/examples/org.eclipse.swt.examples.browser.demos/css2/style.css
+++ /dev/null
@@ -1,30 +0,0 @@
-body {background: url(./Back640x440.gif) fixed; font-size: 10pt; font-family:Verdana, Arial, Helv, Helvetica, sans-serif;}

-h1 {text-align: center; font-size: 14pt; font-family: Verdana, Arial, Helv, Helvetica, sans-serif;}

-h2 {background: url(./line1.gif) no-repeat right bottom; font-size: 12pt; font-family:Verdana, Arial, Helv, Helvetica, sans-serif;}

-h3 {font-size: 10pt; font-family:Verdana, Arial, Helv, Helvetica, sans-serif;}

-

-ul {list-style: none; padding: 0; margin:0; font: 12pt Times;}

-li.white {background: url(./white_chip.gif) no-repeat; padding: 3px 0 32px 64px; margin: 0;}

-li.black {background: url(./black_chip.gif) no-repeat; padding: 3px 0 32px 64px; margin: 0;}

-li.wall {background: url(./wall_chip.gif) no-repeat; padding: 3px 0 32px 64px; margin: 0;}

-

-.board {text-align: left;}

-table { border-collapse: collapse; margin: 0; padding:0; background: url(./texture_cells.gif)}

-tr {}

-td {height:48px; width:48px; table-layout: fixed;}

-

-.whitelink a {display: block; width:48px; height:48px;}

-.blacklink a {display: block; width:48px; height:48px;}

-.empty {display: block; width:48px; height:48px;}

-

-.whitelink a:hover {display: block; background: url(./white_chip.gif) no-repeat; width:48px; height:48px;}

-.blacklink a:hover {display: block; background: url(./black_chip.gif) no-repeat; width:48px; height:48px;}

-.white {background: url(./white_chip.gif) no-repeat;}

-.black {background: url(./black_chip.gif) no-repeat;}

-.wall {background: url(./wall_chip.gif) no-repeat;}

-

-.playerwhite {position: absolute; top: 50px; right:10px; margin: 1em 10px; border: 3px solid blue; background: url(./white_chip.gif) no-repeat right; text-align: left; width:100px; height:48px; font: 36pt Times, serif;}

-.playerblack {position: absolute; top: 300px; right:10px; margin: 1em 10px; border: 3px solid blue; background: url(./black_chip.gif) no-repeat right; text-align: left; width:100px; height:48px; font: 36pt Times, serif;}

-

-.winner {border: 4px solid white; font: bold 16pt Times, serif;}

-.loser {border: 1px solid black; font: 12pt Times, serif;}

diff --git a/examples/org.eclipse.swt.examples.browser.demos/css2/texture_cells.gif b/examples/org.eclipse.swt.examples.browser.demos/css2/texture_cells.gif
deleted file mode 100644
index f7fee9d..0000000
--- a/examples/org.eclipse.swt.examples.browser.demos/css2/texture_cells.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.browser.demos/css2/wall_chip.gif b/examples/org.eclipse.swt.examples.browser.demos/css2/wall_chip.gif
deleted file mode 100644
index bdf0b30..0000000
--- a/examples/org.eclipse.swt.examples.browser.demos/css2/wall_chip.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.browser.demos/css2/welcome.html b/examples/org.eclipse.swt.examples.browser.demos/css2/welcome.html
deleted file mode 100644
index 58e92a3..0000000
--- a/examples/org.eclipse.swt.examples.browser.demos/css2/welcome.html
+++ /dev/null
@@ -1,53 +0,0 @@
-<html>
-<head>
-	<title>Start a game</title>
-	<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
-	<link rel="stylesheet" type="text/css" href="./style.css">
-</head>
-<body>
-<h1>Pawns Game</h1>
-<div class="start">
-<a class="start" href="http://www.org.eclipse.swt.examples.browser.demos.pawns/actionstart1player">1 player</a>
-<a class="start" href="http://www.org.eclipse.swt.examples.browser.demos.pawns/actionstart2players">2 players</a>
-</div>
-<h2>How to play</h2>
-This board game is a variant of Reversi and Tic Tac Toe. Each one of the two players sets a pawn on an empty cell of the board.
-<h3>Pawns</h3>
-<ul>
-<li class="white">Player 1</li>
-<li class="black">Player 2</li>
-<li class="wall">Wall. Cannot be reversed.</li>
-</ul>
-<div class="theme">
-Different themes are supported. Theme is configured through a Cascading Style Sheet (CSS) that determines how the HTML content is rendered by the SWT Browser widget.
-<ul class="theme">
-<li><a href="http://www.org.eclipse.swt.examples.browser.demos.pawns/actiontheme/css1">Theme 1</a></li>
-<li><a href="http://www.org.eclipse.swt.examples.browser.demos.pawns/actiontheme/css2">Theme 2</a></li>
-<li><a href="http://www.org.eclipse.swt.examples.browser.demos.pawns/actiontheme/css3">Theme 3</a></li>
-<li><a href="http://www.org.eclipse.swt.examples.browser.demos.pawns/actiontheme/css4">Theme 4</a></li>
-</ul>
-
-</div>
-<h2>How to win</h2>
-The game ends when all cells are filled. The winner is the one with most pawns of their colour. 
-
-<h2>Java and HTML integrated through the SWT Browser widget</h2>
-<p>
-Rendering is based on HTML and CSS techniques. Computer moves are programmed in regular
-Java code in the Eclipse plug-in. The SWT Browser widget is used for rendering and reacting
-to user input.
-</p>
-<h3>Implementation</h3>
-<p>
-The board is a table filled with hyperlinks. Cascading Style Sheets
-provide various themes and control the table aesthetic appearance.
-<br>The API <code>org.eclipse.swt.browser.Browser.setText(java.lang.String)</code> draws
-the board game from HTML generated in memory.
-<br>Player moves are captured by implementing the interface <code>org.eclipse.swt.browser.LocationListener</code>.
-e.g the player clicks on a cell that may generate a hyperlink with a URL similar to
-<code>http://www.org.eclipse.swt.examples.browser.demos/xx1yy2</code>. That hyperlink identifies
-the position of the cell selected by the player (column 1, row 2). The move is completed by generating
-new HTML content and invoking <code>Browser.setText</code> to update the board game.
-</p>
-</body>
-</html>
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.examples.browser.demos/css2/white_chip.gif b/examples/org.eclipse.swt.examples.browser.demos/css2/white_chip.gif
deleted file mode 100644
index 3c6d658..0000000
--- a/examples/org.eclipse.swt.examples.browser.demos/css2/white_chip.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.browser.demos/css3/Back640x440.gif b/examples/org.eclipse.swt.examples.browser.demos/css3/Back640x440.gif
deleted file mode 100644
index 6533821..0000000
--- a/examples/org.eclipse.swt.examples.browser.demos/css3/Back640x440.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.browser.demos/css3/black_pawn.gif b/examples/org.eclipse.swt.examples.browser.demos/css3/black_pawn.gif
deleted file mode 100644
index 6e1a41d..0000000
--- a/examples/org.eclipse.swt.examples.browser.demos/css3/black_pawn.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.browser.demos/css3/line1.gif b/examples/org.eclipse.swt.examples.browser.demos/css3/line1.gif
deleted file mode 100644
index f9a0f34..0000000
--- a/examples/org.eclipse.swt.examples.browser.demos/css3/line1.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.browser.demos/css3/style.css b/examples/org.eclipse.swt.examples.browser.demos/css3/style.css
deleted file mode 100644
index bddf04e..0000000
--- a/examples/org.eclipse.swt.examples.browser.demos/css3/style.css
+++ /dev/null
@@ -1,30 +0,0 @@
-body {background: url(./Back640x440.gif) fixed; font-size: 10pt; font-family:Verdana, Arial, Helv, Helvetica, sans-serif;}

-h1 {text-align: center; font-size: 14pt; font-family: Verdana, Arial, Helv, Helvetica, sans-serif;}

-h2 {background: url(./line1.gif) no-repeat right bottom; font-size: 12pt; font-family:Verdana, Arial, Helv, Helvetica, sans-serif;}

-h3 {font-size: 10pt; font-family:Verdana, Arial, Helv, Helvetica, sans-serif;}

-

-ul {list-style: none; padding: 0; margin:0; font: 12pt Times;}

-li.white {background: url(./white_pawn.gif) no-repeat; padding: 3px 0 32px 64px; margin: 0;}

-li.black {background: url(./black_pawn.gif) no-repeat; padding: 3px 0 32px 64px; margin: 0;}

-li.wall {background: url(./wall_pawn.gif) no-repeat; padding: 3px 0 32px 64px; margin: 0;}

-

-.board {text-align: left;}

-table { border-collapse: collapse; margin: 0; padding:0; background: url(./texture_cells.gif)}

-tr {}

-td {height:48px; width:48px; table-layout: fixed;}

-

-.whitelink a {display: block; width:48px; height:48px;}

-.blacklink a {display: block; width:48px; height:48px;}

-.empty {display: block; width:48px; height:48px;}

-

-.whitelink a:hover {display: block; background: url(./white_pawn.gif) no-repeat; width:48px; height:48px;}

-.blacklink a:hover {display: block; background: url(./black_pawn.gif) no-repeat; width:48px; height:48px;}

-.white {background: url(./white_pawn.gif) no-repeat;}

-.black {background: url(./black_pawn.gif) no-repeat;}

-.wall {background: url(./wall_pawn.gif) no-repeat;}

-

-.playerwhite {position: absolute; top: 50px; right:10px; margin: 1em 10px; border: 3px solid blue; background: url(./white_pawn.gif) no-repeat right; text-align: left; width:100px; height:48px; font: 36pt Times, serif;}

-.playerblack {position: absolute; top: 300px; right:10px; margin: 1em 10px; border: 3px solid blue; background: url(./black_pawn.gif) no-repeat right; text-align: left; width:100px; height:48px; font: 36pt Times, serif;}

-

-.winner {border: 4px solid white; font: bold 16pt Times, serif;}

-.loser {border: 1px solid black; font: 12pt Times, serif;}

diff --git a/examples/org.eclipse.swt.examples.browser.demos/css3/texture_cells.gif b/examples/org.eclipse.swt.examples.browser.demos/css3/texture_cells.gif
deleted file mode 100644
index f7fee9d..0000000
--- a/examples/org.eclipse.swt.examples.browser.demos/css3/texture_cells.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.browser.demos/css3/wall_pawn.gif b/examples/org.eclipse.swt.examples.browser.demos/css3/wall_pawn.gif
deleted file mode 100644
index d05cd50..0000000
--- a/examples/org.eclipse.swt.examples.browser.demos/css3/wall_pawn.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.browser.demos/css3/welcome.html b/examples/org.eclipse.swt.examples.browser.demos/css3/welcome.html
deleted file mode 100644
index 58e92a3..0000000
--- a/examples/org.eclipse.swt.examples.browser.demos/css3/welcome.html
+++ /dev/null
@@ -1,53 +0,0 @@
-<html>
-<head>
-	<title>Start a game</title>
-	<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
-	<link rel="stylesheet" type="text/css" href="./style.css">
-</head>
-<body>
-<h1>Pawns Game</h1>
-<div class="start">
-<a class="start" href="http://www.org.eclipse.swt.examples.browser.demos.pawns/actionstart1player">1 player</a>
-<a class="start" href="http://www.org.eclipse.swt.examples.browser.demos.pawns/actionstart2players">2 players</a>
-</div>
-<h2>How to play</h2>
-This board game is a variant of Reversi and Tic Tac Toe. Each one of the two players sets a pawn on an empty cell of the board.
-<h3>Pawns</h3>
-<ul>
-<li class="white">Player 1</li>
-<li class="black">Player 2</li>
-<li class="wall">Wall. Cannot be reversed.</li>
-</ul>
-<div class="theme">
-Different themes are supported. Theme is configured through a Cascading Style Sheet (CSS) that determines how the HTML content is rendered by the SWT Browser widget.
-<ul class="theme">
-<li><a href="http://www.org.eclipse.swt.examples.browser.demos.pawns/actiontheme/css1">Theme 1</a></li>
-<li><a href="http://www.org.eclipse.swt.examples.browser.demos.pawns/actiontheme/css2">Theme 2</a></li>
-<li><a href="http://www.org.eclipse.swt.examples.browser.demos.pawns/actiontheme/css3">Theme 3</a></li>
-<li><a href="http://www.org.eclipse.swt.examples.browser.demos.pawns/actiontheme/css4">Theme 4</a></li>
-</ul>
-
-</div>
-<h2>How to win</h2>
-The game ends when all cells are filled. The winner is the one with most pawns of their colour. 
-
-<h2>Java and HTML integrated through the SWT Browser widget</h2>
-<p>
-Rendering is based on HTML and CSS techniques. Computer moves are programmed in regular
-Java code in the Eclipse plug-in. The SWT Browser widget is used for rendering and reacting
-to user input.
-</p>
-<h3>Implementation</h3>
-<p>
-The board is a table filled with hyperlinks. Cascading Style Sheets
-provide various themes and control the table aesthetic appearance.
-<br>The API <code>org.eclipse.swt.browser.Browser.setText(java.lang.String)</code> draws
-the board game from HTML generated in memory.
-<br>Player moves are captured by implementing the interface <code>org.eclipse.swt.browser.LocationListener</code>.
-e.g the player clicks on a cell that may generate a hyperlink with a URL similar to
-<code>http://www.org.eclipse.swt.examples.browser.demos/xx1yy2</code>. That hyperlink identifies
-the position of the cell selected by the player (column 1, row 2). The move is completed by generating
-new HTML content and invoking <code>Browser.setText</code> to update the board game.
-</p>
-</body>
-</html>
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.examples.browser.demos/css3/white_pawn.gif b/examples/org.eclipse.swt.examples.browser.demos/css3/white_pawn.gif
deleted file mode 100644
index 98f5e53..0000000
--- a/examples/org.eclipse.swt.examples.browser.demos/css3/white_pawn.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.browser.demos/css4/Back640x440.gif b/examples/org.eclipse.swt.examples.browser.demos/css4/Back640x440.gif
deleted file mode 100644
index 6533821..0000000
--- a/examples/org.eclipse.swt.examples.browser.demos/css4/Back640x440.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.browser.demos/css4/blue_people.gif b/examples/org.eclipse.swt.examples.browser.demos/css4/blue_people.gif
deleted file mode 100644
index a710c55..0000000
--- a/examples/org.eclipse.swt.examples.browser.demos/css4/blue_people.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.browser.demos/css4/gold_people.gif b/examples/org.eclipse.swt.examples.browser.demos/css4/gold_people.gif
deleted file mode 100644
index 605090a..0000000
--- a/examples/org.eclipse.swt.examples.browser.demos/css4/gold_people.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.browser.demos/css4/line1.gif b/examples/org.eclipse.swt.examples.browser.demos/css4/line1.gif
deleted file mode 100644
index f9a0f34..0000000
--- a/examples/org.eclipse.swt.examples.browser.demos/css4/line1.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.browser.demos/css4/style.css b/examples/org.eclipse.swt.examples.browser.demos/css4/style.css
deleted file mode 100644
index e15b096..0000000
--- a/examples/org.eclipse.swt.examples.browser.demos/css4/style.css
+++ /dev/null
@@ -1,30 +0,0 @@
-body {background: url(./Back640x440.gif) fixed; font-size: 10pt; font-family:Verdana, Arial, Helv, Helvetica, sans-serif;}

-h1 {text-align: center; font-size: 14pt; font-family: Verdana, Arial, Helv, Helvetica, sans-serif;}

-h2 {background: url(./line1.gif) no-repeat right bottom; font-size: 12pt; font-family:Verdana, Arial, Helv, Helvetica, sans-serif;}

-h3 {font-size: 10pt; font-family:Verdana, Arial, Helv, Helvetica, sans-serif;}

-

-ul {list-style: none; padding: 0; margin:0; font: 12pt Times;}

-li.white {background: url(./blue_people.gif) no-repeat; padding: 3px 0 32px 64px; margin: 0;}

-li.black {background: url(./gold_people.gif) no-repeat; padding: 3px 0 32px 64px; margin: 0;}

-li.wall {background: url(./wall_people.gif) no-repeat; padding: 3px 0 32px 64px; margin: 0;}

-

-.board {text-align: left;}

-table { border-collapse: collapse; margin: 0; padding:0; background: url(./texture_cells.gif)}

-tr {}

-td {height:48px; width:48px; table-layout: fixed;}

-

-.whitelink a {display: block; width:48px; height:48px;}

-.blacklink a {display: block; width:48px; height:48px;}

-.empty {display: block; width:48px; height:48px;}

-

-.whitelink a:hover {display: block; background: url(./blue_people.gif) no-repeat; width:48px; height:48px;}

-.blacklink a:hover {display: block; background: url(./gold_people.gif) no-repeat; width:48px; height:48px;}

-.white {background: url(./blue_people.gif) no-repeat;}

-.black {background: url(./gold_people.gif) no-repeat;}

-.wall {background: url(./wall_people.gif) no-repeat;}

-

-.playerwhite {position: absolute; top: 50px; right:10px; margin: 1em 10px; border: 3px solid blue; background: url(./blue_people.gif) no-repeat right; text-align: left; width:100px; height:48px; font: 36pt Times, serif;}

-.playerblack {position: absolute; top: 300px; right:10px; margin: 1em 10px; border: 3px solid blue; background: url(./gold_people.gif) no-repeat right; text-align: left; width:100px; height:48px; font: 36pt Times, serif;}

-

-.winner {border: 4px solid white; font: bold 16pt Times, serif;}

-.loser {border: 1px solid black; font: 12pt Times, serif;}

diff --git a/examples/org.eclipse.swt.examples.browser.demos/css4/texture_cells.gif b/examples/org.eclipse.swt.examples.browser.demos/css4/texture_cells.gif
deleted file mode 100644
index f7fee9d..0000000
--- a/examples/org.eclipse.swt.examples.browser.demos/css4/texture_cells.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.browser.demos/css4/wall_people.gif b/examples/org.eclipse.swt.examples.browser.demos/css4/wall_people.gif
deleted file mode 100644
index 5616c81..0000000
--- a/examples/org.eclipse.swt.examples.browser.demos/css4/wall_people.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.browser.demos/css4/welcome.html b/examples/org.eclipse.swt.examples.browser.demos/css4/welcome.html
deleted file mode 100644
index 58e92a3..0000000
--- a/examples/org.eclipse.swt.examples.browser.demos/css4/welcome.html
+++ /dev/null
@@ -1,53 +0,0 @@
-<html>
-<head>
-	<title>Start a game</title>
-	<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
-	<link rel="stylesheet" type="text/css" href="./style.css">
-</head>
-<body>
-<h1>Pawns Game</h1>
-<div class="start">
-<a class="start" href="http://www.org.eclipse.swt.examples.browser.demos.pawns/actionstart1player">1 player</a>
-<a class="start" href="http://www.org.eclipse.swt.examples.browser.demos.pawns/actionstart2players">2 players</a>
-</div>
-<h2>How to play</h2>
-This board game is a variant of Reversi and Tic Tac Toe. Each one of the two players sets a pawn on an empty cell of the board.
-<h3>Pawns</h3>
-<ul>
-<li class="white">Player 1</li>
-<li class="black">Player 2</li>
-<li class="wall">Wall. Cannot be reversed.</li>
-</ul>
-<div class="theme">
-Different themes are supported. Theme is configured through a Cascading Style Sheet (CSS) that determines how the HTML content is rendered by the SWT Browser widget.
-<ul class="theme">
-<li><a href="http://www.org.eclipse.swt.examples.browser.demos.pawns/actiontheme/css1">Theme 1</a></li>
-<li><a href="http://www.org.eclipse.swt.examples.browser.demos.pawns/actiontheme/css2">Theme 2</a></li>
-<li><a href="http://www.org.eclipse.swt.examples.browser.demos.pawns/actiontheme/css3">Theme 3</a></li>
-<li><a href="http://www.org.eclipse.swt.examples.browser.demos.pawns/actiontheme/css4">Theme 4</a></li>
-</ul>
-
-</div>
-<h2>How to win</h2>
-The game ends when all cells are filled. The winner is the one with most pawns of their colour. 
-
-<h2>Java and HTML integrated through the SWT Browser widget</h2>
-<p>
-Rendering is based on HTML and CSS techniques. Computer moves are programmed in regular
-Java code in the Eclipse plug-in. The SWT Browser widget is used for rendering and reacting
-to user input.
-</p>
-<h3>Implementation</h3>
-<p>
-The board is a table filled with hyperlinks. Cascading Style Sheets
-provide various themes and control the table aesthetic appearance.
-<br>The API <code>org.eclipse.swt.browser.Browser.setText(java.lang.String)</code> draws
-the board game from HTML generated in memory.
-<br>Player moves are captured by implementing the interface <code>org.eclipse.swt.browser.LocationListener</code>.
-e.g the player clicks on a cell that may generate a hyperlink with a URL similar to
-<code>http://www.org.eclipse.swt.examples.browser.demos/xx1yy2</code>. That hyperlink identifies
-the position of the cell selected by the player (column 1, row 2). The move is completed by generating
-new HTML content and invoking <code>Browser.setText</code> to update the board game.
-</p>
-</body>
-</html>
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.examples.browser.demos/doc-html/swt_browser_demos_ex.html b/examples/org.eclipse.swt.examples.browser.demos/doc-html/swt_browser_demos_ex.html
deleted file mode 100644
index 12975b0..0000000
--- a/examples/org.eclipse.swt.examples.browser.demos/doc-html/swt_browser_demos_ex.html
+++ /dev/null
@@ -1,41 +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>SWT - Controls Overview</title>
-</head>
-<body>
-
-<h2>SWT example - Browser Demos</h2>
-
-<p>
-The Browser Demos demonstrate various features of the SWT Browser widget. 
-</p><p>The Pawns Game is a board game that can be played against the computer
-or against another player. Rendering is based on HTML and CSS techniques. The
-board is a table filled with hyperlinks. Cascading Style Sheets
-provide various themes and control the table aesthetic appearance.
-The API <code>org.eclipse.swt.browser.Browser.setText(java.lang.String)</code> draws
-the board game from HTML generated in memory.
-Player moves are captured by implementing the interface <code>org.eclipse.swt.browser.LocationListener</code>.
-e.g the player clicks on a cell that may generate an hyperlink with a URL similar to
-http://www.org.eclipse.swt.examples.browser.demos/xx1yy2. That hyperlink identifies
-the position of the cell selected by the player. The move is completed by generating
-new HTML content and invoking <code>Browser.setText</code> to update the board game.
-</p>
-
-<h3>Running the example</h3>
-<p>
-Follow the <a href="../../org.eclipse.swt.examples/doc-html/swt_manual_setup.html">SWT standalone examples setup</a> 
-instructions to install and run the example from your workspace.
-</p>
-<p>
-The "Main" class is <code>org.eclipse.swt.examples.browser.demos.BrowserDemoView</code>.
-</p>
-<p>
-This example can also be run using the <a href="../../org.eclipse.swt.examples.launcher/doc-html/swt_launcher_ex.html">Example Launcher</a>.
-Select the <strong>Browser Demo</strong> item from the <strong>Workbench Views</strong> category and click <strong>Run</strong>.
-</p>
-
-</body>
-</html>
diff --git a/examples/org.eclipse.swt.examples.browser.demos/icons/pawn.gif b/examples/org.eclipse.swt.examples.browser.demos/icons/pawn.gif
deleted file mode 100644
index c811f8b..0000000
--- a/examples/org.eclipse.swt.examples.browser.demos/icons/pawn.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.browser.demos/plugin.properties b/examples/org.eclipse.swt.examples.browser.demos/plugin.properties
deleted file mode 100644
index e2a0fea..0000000
--- a/examples/org.eclipse.swt.examples.browser.demos/plugin.properties
+++ /dev/null
@@ -1,31 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.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
-plugin.SWTBrowserDemos.name = SWT Browser Demos Plugin
-category.SWTExamples.name = SWT Examples
-view.BrowserDemos.name = Browser Demo
-
-launchcategory.SWTViewExamples.name = Workbench Views
-launchcategory.SWTViewExamples.description = \
-	A collection of Standard Widget Toolkit examples that run as Views inside the Workbench.  \
-	These examples will create a new View in the current Perspective.
-
-launchitem.BrowserDemos.name = Browser Demo
-launchitem.BrowserDemos.description = \
-	The example illustrates how to use the SWT Browser widget for HTML rendering.\n\n\
-	The Pawns Game is a board game that can be played against the computer or against another player.\n\n\
-	Rendering is based on HTML and CSS techniques. The board is a table filled with hyperlinks. Cascading Style Sheets \
-	provide various themes and control the table aesthetic appearance. \n\
-	The API org.eclipse.swt.browser.Browser.setText(java.lang.String) draws the board game from HTML generated in memory.\n\
-	Player moves are captured by implementing the interface org.eclipse.swt.browser.LocationListener. e.g the player clicks \
-	on a cell that defines an hyperlink with a URL http://www.org.eclipse.swt.examples.browser.demos/xx1yy2.\
-	That hyperlink identifies the position of the cell selected by the player. The move is completed by generating \
-	new HTML content and invoking Browser.setText to update the board game.
diff --git a/examples/org.eclipse.swt.examples.browser.demos/plugin.xml b/examples/org.eclipse.swt.examples.browser.demos/plugin.xml
deleted file mode 100644
index 54458dc..0000000
--- a/examples/org.eclipse.swt.examples.browser.demos/plugin.xml
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.swt.examples.browser.demos"
-   name="%plugin.SWTBrowserDemos.name"
-   version="3.1.100.qualifier"
-   provider-name="%providerName"
-   class="org.eclipse.swt.examples.browser.demos.BrowserDemoPlugin">
-
-   <runtime>
-      <library name="BrowserDemo.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-
-   <requires>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.core.runtime"/>
-   </requires>
-
-   <extension
-         point="org.eclipse.ui.views">
-      <category
-            name="%view.BrowserDemos.name"
-            id="org.eclipse.swt.examples.browser.demos.BrowserDemo">
-      </category>
-      <view
-            allowMultiple="false"
-            class="org.eclipse.swt.examples.browser.demos.views.BrowserDemoView"
-            icon="icons/pawn.gif"
-            category="org.eclipse.swt.examples.category"
-            name="Browser Demo"
-            id="org.eclipse.swt.examples.browser.demos.views.BrowserDemoView">
-      </view>
-   </extension>
-   
-   <extension
-         point="org.eclipse.swt.examples.launcher.launchItems">
-      <category
-            name="%launchcategory.SWTViewExamples.name"
-            description="%launchcategory.SWTViewExamples.description"
-            id="org.eclipse.swt.examples.launchViewCategory">
-      </category>
-      <item
-            name="%launchitem.BrowserDemos.name"
-            icon="icons/sample.gif"
-            category="org.eclipse.swt.examples.launchViewCategory"
-            description="%launchitem.BrowserDemos.description"
-            id="org.eclipse.swt.examples.browserdemos.viewlauncher">
-         <view
-               viewId="org.eclipse.swt.examples.browser.demos.views.BrowserDemoView">
-         </view>
-      </item>
-   </extension>
-</plugin>
diff --git a/examples/org.eclipse.swt.examples.browser.demos/src/org/eclipse/swt/examples/browser/demos/BrowserDemoPlugin.java b/examples/org.eclipse.swt.examples.browser.demos/src/org/eclipse/swt/examples/browser/demos/BrowserDemoPlugin.java
deleted file mode 100644
index 823dbde..0000000
--- a/examples/org.eclipse.swt.examples.browser.demos/src/org/eclipse/swt/examples/browser/demos/BrowserDemoPlugin.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.swt.examples.browser.demos;
-
-import org.eclipse.ui.plugin.*;
-import org.osgi.framework.BundleContext;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-
-public class BrowserDemoPlugin extends AbstractUIPlugin {
-
-	public static BrowserDemoPlugin plugin;
-	ResourceBundle resourceBundle;
-	public static String PLUGIN_PATH = null;
-	
-	public BrowserDemoPlugin() {
-		super();
-		plugin = this;
-		try {
-			resourceBundle = ResourceBundle.getBundle("org.eclipse.swt.examples.browser.demos.BrowserDemoPluginResources");
-		} catch (MissingResourceException x) {
-			resourceBundle = null;
-		}
-	}
-
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		PLUGIN_PATH = Platform.resolve(plugin.getBundle().getEntry(".")).toString();
-	}
-
-	public void stop(BundleContext context) throws Exception {
-		super.stop(context);
-	}
-
-	public static BrowserDemoPlugin getDefault() {
-		return plugin;
-	}
-
-	public static String getResourceString(String key) {
-		ResourceBundle bundle = BrowserDemoPlugin.getDefault().getResourceBundle();
-		try {
-			return (bundle != null) ? bundle.getString(key) : key;
-		} catch (MissingResourceException e) {
-			return key;
-		}
-	}
-
-	public ResourceBundle getResourceBundle() {
-		return resourceBundle;
-	}	
-}
diff --git a/examples/org.eclipse.swt.examples.browser.demos/src/org/eclipse/swt/examples/browser/demos/Pawns.java b/examples/org.eclipse.swt.examples.browser.demos/src/org/eclipse/swt/examples/browser/demos/Pawns.java
deleted file mode 100644
index 732f1e5..0000000
--- a/examples/org.eclipse.swt.examples.browser.demos/src/org/eclipse/swt/examples/browser/demos/Pawns.java
+++ /dev/null
@@ -1,232 +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.swt.examples.browser.demos;
-
-public class Pawns {
-
-	/* Current board representation in compacted form */
-	byte[] game = new byte[64];
-	/* Best move */
-	int bestIndex = -1;
-	/* Related best score */
-	int bestScore = Integer.MIN_VALUE;
-	/* Estimated strategic value of each cell based on proximity to walls */
-	static int[] gameWallWeight = new int[64];
-	Thread thread = null;
-	boolean threadStop = false;
-	
-	final static byte EMPTY = 0;
-	final static byte WHITE = 1;
-	final static byte BLACK = 2;
-	final static byte WALL = 3;
-	
-public Pawns() {
-}
-
-/* Provide the current game and ignitiate the search of the best move for the given type
- * Must return immediately as it will be called from the UI thread.
- * The UI thread will fetch the best move any time thereafter.
- */
-public void playRequest(byte[][] game, int type) {
-	threadStop = true;
-	synchronized (this) {
-		bestIndex = -1;
-		bestScore = Integer.MIN_VALUE;
-		convert(game, this.game);
-		initPawnBorders(this.game, gameWallWeight);
-		/* Quickly compute a legal move */
-		for (int i = 0; i < this.game.length; i++) {
-			if (this.game[i] == EMPTY) {
-				bestIndex = i;
-				break;
-			}
-		}
-		new Thread() {
-			public void run() {
-				synchronized(Pawns.this) {
-					threadStop = false;
-					int[] result = new int[2];
-					/* if long time, must check for threadStop and exit early */ 
-					evalBest(Pawns.this.game, BLACK, 2, result);
-					bestIndex = result[0];
-					bestScore = result[1];
-				}
-			}
-		}.start();
-	}
-}
-
-/* Fetch best move in natural coordinates for the board previously given in
- * the call to playRequest.
- */
-public void getBestMove(int[] point) {
-	convert(bestIndex, point);
-	threadStop = true;
-}
-
-/* Given an expanded representation of the board, format internal compact mode */
-static void convert(byte[][] board, byte[] g) {
-	for (int i = 0; i < board.length; i++) System.arraycopy(board[i], 0, g, i * 8, 8);
-}
-/* Update given compact model based on player move in natural coordinates */
-static void set(byte[] g, int x, int y, byte type) {
-	g[x*8+y] = type;
-}
-/* Given an index in compact representation, return natural coordinates */
-static void convert(int index, /*out [0] x [1] y */int[] point) {
-	point[0] = index / 8;
-	point[1] = index % 8;
-}
-/* Given an index into the compact model and the neighbour code,
- * return the index of the corresponding neighbour index.
- * Returns -1 if there is no neighbour.
- * 
- * Neighbour code for the index X
- * 0 1 2
- * 3 X 4
- * 5 6 7 
- */
-static int getNeighbourIndex(byte[] g, int index, int neighbour) {
-	if (index < 0 || index >= g.length) return -1;
-	int result = -1;
-	switch (neighbour) {
-		case 0: result = index < 8 || index % 8 == 0 ? -1 : index - 9; break;
-		case 1: result = index < 8 ? -1 : index - 8; break;
-		case 2: result = index < 8 || index % 8 == 7 ? -1 : index - 7; break;
-		case 3: result = index % 8 == 0 ? -1 : index - 1; break;
-		case 4: result = index % 8 == 7 ? -1 : index + 1; break;
-		case 5: result = index % 8 == 0 || index >= 56 ? -1 : index + 7; break;
-		case 6: result = index >= 56 ? -1 : index + 8; break;
-		case 7: result = index % 8 == 7 || index >= 56 ? -1 : index + 9; break;
-	}
-	return result;
-}
-/* Make the player type play at index on given compact board 
- * Compute all pawns that must be reversed.
- */
-static void play(byte[] g, int index, byte type) {
-	byte opponentType = type == WHITE ? BLACK : WHITE;
-	for (int neighbour = 0; neighbour <= 7; neighbour++) {
-		int nIndex = getNeighbourIndex(g, index, neighbour);
-		int[] reversiIndeces = new int[6];
-		int nReversi = 0;
-		while (nIndex != -1 && nReversi < 6 && g[nIndex] == opponentType) {
-			reversiIndeces[nReversi] = nIndex;
-			nReversi++;
-			nIndex = getNeighbourIndex(g, nIndex, neighbour);			
-		}
-		if (nReversi > 0 && nIndex != -1 && g[nIndex] == type) {
-			for (int i = 0; i < nReversi; i++) g[reversiIndeces[i]] = type;
-		}
-	}
-	g[index] = type;
-}
-/* Evaluate the given compact model based on pawns distribution 
- * High means white has advantage. Below zero means black has advantage.
- */
-static int eval(byte[] g) {
-	int cntWhite = 0, cntBlack = 0, cntEmpty = 0;
-	int cntWhiteWallAdvantage = 0, cntBlackWallAdvantage = 0;
-	for (int i = 0; i < 64; i++) {
-		if (g[i] == WHITE) {
-			cntWhite++;
-			cntWhiteWallAdvantage += gameWallWeight[i];
-		}
-		else if (g[i] == BLACK) {
-			cntBlack++;
-			cntBlackWallAdvantage += gameWallWeight[i];
-		}
-		else if (g[i] == EMPTY) cntEmpty++;
-	}
-	if (cntEmpty == 0) {
-		if (cntWhite > cntBlack) return Integer.MAX_VALUE; /* White wins */
-		if (cntWhite < cntBlack) return Integer.MIN_VALUE; /* Black wins */
-		return 0; /* Stalemate */
-	}
-	return cntWhite + cntWhiteWallAdvantage - cntBlack - cntBlackWallAdvantage;
-}
-
-/* Recognize pawns protected by walls or borders 
- * TBD - note this should be called only once for each cell and stored
- * in a separate byte[] gWallGain
- * */
-static void initPawnBorders(byte[] g, int[] gameWallWeight) {
-	/* A pawn has 8 neighbours on 4 axes.
-	 * Strategic pawns have one side of each axis protected by a wall and the other
-	 * side not closed by a wall.
-	 * A pawn cannot be reversed when each of its 4 axes are protected by a wall on
-	 * one side. Pawns that have more than 4 walls are less interesting since they
-	 * are not open enough to the board.
-	 * 
-	 * Nbr walls, nbr axis covered, estimated value
-	 * 0 n/a 0
-	 * 1 1 2
-	 * 2 1 1
-	 * 2 2 6
-	 * 3 2 4
-	 * 4 2 2
-	 * 3 3 9
-	 * 4 3 8
-	 * 4 4 16
-	 * 5 4 14
-	 * 6 4 9
-	 * 7 4 6
-	 * 8 4 0
-	 */
-	int[] nTypes = new int[8];
-	for (int i = 0; i < 64; i++) {
-		int nWalls = 0;
-		int nAxis = 0;
-		for (int n = 0; n < 8; n++) {
-			int nIndex = getNeighbourIndex(g, i, n);
-			nTypes[n] = nIndex != -1 ? g[nIndex] : WALL;
-			if (nTypes[n] == WALL) nWalls++;
-		}
-		int score = nWalls;
-		if (nWalls > 0) {
-			if (nTypes[0] == WALL || nTypes[7] == WALL) nAxis++;
-			if (nTypes[1] == WALL || nTypes[6] == WALL) nAxis++;
-			if (nTypes[2] == WALL || nTypes[5] == WALL) nAxis++;
-			if (nTypes[4] == WALL || nTypes[3] == WALL) nAxis++;
-			switch (nAxis) {
-				case 4: switch (nWalls) { case 4: score = 16; break; case 5: score = 14; break; case 6: score = 9; case 7: score = 6; break; case 8: score = 0; break;} break;
-				case 3: switch (nWalls) { case 3: score = 9; break; case 4: score = 8;} break;
-				case 2: switch (nWalls) { case 2: score = 6; break; case 3: score = 4; break; case 4: score = 2; } break;
-				case 1: switch (nWalls) { case 1: score = 2; break; case 2: score = 1; break;} break;
-			}
-		}
-		gameWallWeight[i] = score;
-	}
-}
-
-/* Evaluate the best move for player type for the given board, doing a depth 1 search */
-static void evalBest(byte[] g, byte type, int depth, /* out [0] best move, [1] minimax */int[] result) {
-	byte[] tmp = new byte[64];
-	byte opponentType = type == WHITE ? BLACK : WHITE;
-	result[0] = -1; result[1] = Integer.MIN_VALUE;
-	for (int i = 0; i < 64; i++) {
-		if (g[i] == EMPTY) {
-			System.arraycopy(g, 0, tmp, 0, 64);
-			play(tmp, i, type);
-			int score = eval(tmp);
-			if (depth > 1) {
-				int[] tmpResult = new int[2];
-				evalBest(tmp, opponentType, depth - 1, tmpResult);
-				score = tmpResult[1];
-			}
-			if ((type == WHITE && score > result[1]) || (type == BLACK && score < result[1]) || result[0] == -1) {
-				result[0] = i;
-				result[1] = score;
-			}
-		}
-	}
-}
-}
diff --git a/examples/org.eclipse.swt.examples.browser.demos/src/org/eclipse/swt/examples/browser/demos/views/BrowserDemoView.java b/examples/org.eclipse.swt.examples.browser.demos/src/org/eclipse/swt/examples/browser/demos/views/BrowserDemoView.java
deleted file mode 100644
index 1393e76..0000000
--- a/examples/org.eclipse.swt.examples.browser.demos/src/org/eclipse/swt/examples/browser/demos/views/BrowserDemoView.java
+++ /dev/null
@@ -1,51 +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.swt.examples.browser.demos.views;
-
-import org.eclipse.ui.part.*;
-import org.eclipse.jface.action.*;
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.browser.*;
-
-public class BrowserDemoView extends ViewPart {
-	Action pawnAction;
-	Action editAction;
-	Composite parent;
-	
-	public BrowserDemoView() {
-	}
-	public void createPartControl(Composite parent) {
-		this.parent = parent;
-		parent.setLayout(new FillLayout());
-		try {
-			Browser browser = new Browser(parent, SWT.NONE);
-			browser.dispose();
-		} catch (SWTError e) {
-			Text text = new Text(parent, SWT.MULTI | SWT.READ_ONLY);
-			text.setText("Browser widget cannot be instantiated. The exact error is:\r\n"+e);
-			parent.layout(true);
-			return;
-		}
-		TabFolder folder = new TabFolder(parent, SWT.NONE);
-		TabItem item = new TabItem(folder, SWT.NONE);
-		new PawnTab(item);
-		
-		item = new TabItem(folder, SWT.NONE);
-		new EditorTab(item);
-	}
-	
-	public void setFocus() {
-	}
-	
-
-}
diff --git a/examples/org.eclipse.swt.examples.browser.demos/src/org/eclipse/swt/examples/browser/demos/views/EditorTab.java b/examples/org.eclipse.swt.examples.browser.demos/src/org/eclipse/swt/examples/browser/demos/views/EditorTab.java
deleted file mode 100644
index 8053165..0000000
--- a/examples/org.eclipse.swt.examples.browser.demos/src/org/eclipse/swt/examples/browser/demos/views/EditorTab.java
+++ /dev/null
@@ -1,148 +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.swt.examples.browser.demos.views;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.browser.*;
-import org.eclipse.swt.graphics.*;
-
-public class EditorTab {
-	Browser browser;
-	Text htmlText, scriptText;
-	Button htmlButton, scriptButton;
-	static String html = 
-		"<html>\r\n"+
-		"	<body>\r\n"+
-		"		<h1 id='myid'>HTML Document</h1>\r\n"+
-		"		<h2>Set HTML content</h2>\r\n"+
-		"		<ol>\r\n"+
-		"			<li>Enter html data into the 'setText' pane</li>\r\n"+
-		"			<li>Click on 'setText' to set the new content</li>\r\n"+
-		"		</ol>\r\n"+
-		"		<h2>Query or modify HTML document</h2>\r\n"+
-		"		<ol>\r\n"+
-		"		<li>Enter javascript commands into the 'execute' pane</li>\r\n"+
-		"		<li>Click on 'execute' to run the javascript in the current document</li>\r\n"+
-		"		</ol>\r\n"+
-		"	</body>\r\n"+
-		"</html>";
-	
-	static String script = 
-		"var node = document.createElement('P');\r\n"+
-		"var text = document.createTextNode('Content inserted!');\r\n"+
-		"node.appendChild(text);\r\n"+
-		"document.getElementById('myid').appendChild(node);\r\n\r\n"+
-		"document.bgColor = 'yellow';";
-	
-	public EditorTab(TabItem item) {
-		final Composite parent = new Composite(item.getParent(), SWT.NONE);
-		item.setText("Editor");
-		item.setControl(parent);
-		
-		try {
-			browser = new Browser(parent, SWT.NONE);
-		} catch (SWTError e) {
-			e.printStackTrace();
-			return;
-		}
-		final Sash sash = new Sash(parent, SWT.VERTICAL);
-		Composite panel = new Composite(parent, SWT.NONE);
-		final FormLayout form = new FormLayout();
-		parent.setLayout(form);
-		
-		FormData data = new FormData();
-		data.left = new FormAttachment(0, 0);
-		data.right = new FormAttachment(sash, 0);
-		data.top = new FormAttachment(0, 0);
-		data.bottom = new FormAttachment(100, 0);
-		browser.setLayoutData(data);
-		
-		final FormData sashData = new FormData();
-		sashData.left = new FormAttachment(50, 0);
-		sashData.top = new FormAttachment(0, 0);
-		sashData.bottom = new FormAttachment(100, 0);
-		sash.setLayoutData(sashData);
-		sash.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				Rectangle rect = sash.getBounds();
-				Rectangle parentRect = sash.getParent().getClientArea();
-				int right = parentRect.width - rect.width - 20;
-				e.x = Math.max(Math.min(e.x, right), 20);
-				if (e.x != rect.x) {
-					sashData.left = new FormAttachment(0, e.x);
-					parent.layout();
-				}
-			}			
-		});
-		data = new FormData();
-		data.left = new FormAttachment(sash, 0);
-		data.right = new FormAttachment(100, 0);
-		data.top = new FormAttachment(0, 0);
-		data.bottom = new FormAttachment(100, 0);
-		panel.setLayoutData(data);
-		
-		/* Initialize Panel */
-		panel.setLayout(new FillLayout(SWT.VERTICAL));
-		Group htmlGroup = new Group(panel, SWT.NONE);
-		htmlGroup.setText("setText");
-		htmlText = new Text(htmlGroup, SWT.MULTI);
-		htmlButton = new Button(htmlGroup, SWT.PUSH);
-		htmlButton.setText("setText");
-		GridLayout gridLayout = new GridLayout();
-		htmlGroup.setLayout(gridLayout);
-		GridData gridData = new GridData();
-		gridData.horizontalAlignment = GridData.FILL;
-		gridData.verticalAlignment = GridData.FILL;
-		gridData.grabExcessHorizontalSpace = true;
-		gridData.grabExcessVerticalSpace = true;
-		htmlText.setLayoutData(gridData);
-		gridData = new GridData();
-		gridData.horizontalAlignment = GridData.END;
-		htmlButton.setLayoutData(gridData);
-		htmlGroup.layout();
-		
-		Group scriptGroup = new Group(panel, SWT.NONE);
-		scriptGroup.setText("execute");
-		scriptText = new Text(scriptGroup, SWT.MULTI);
-		scriptButton = new Button(scriptGroup, SWT.PUSH);
-		scriptButton.setText("execute");
-		gridLayout = new GridLayout();
-		scriptGroup.setLayout(gridLayout);
-		gridData = new GridData();
-		gridData.horizontalAlignment = GridData.FILL;
-		gridData.verticalAlignment = GridData.FILL;
-		gridData.grabExcessHorizontalSpace = true;
-		gridData.grabExcessVerticalSpace = true;
-		scriptText.setLayoutData(gridData);
-		gridData = new GridData();
-		gridData.horizontalAlignment = GridData.END;
-		scriptButton.setLayoutData(gridData);
-		scriptGroup.layout();
-		
-		browser.setText(html);
-		htmlText.setText(html);
-		scriptText.setText(script);
-		parent.layout();
-		
-		Listener listener = new Listener() {
-			public void handleEvent(Event e) {
-				Widget w = e.widget;
-				if (w == htmlButton) browser.setText(htmlText.getText());
-				if (w == scriptButton) browser.execute(scriptText.getText());
-			}
-		};
-		
-		htmlButton.addListener(SWT.Selection, listener);
-		scriptButton.addListener(SWT.Selection, listener);
-	}
-}
diff --git a/examples/org.eclipse.swt.examples.browser.demos/src/org/eclipse/swt/examples/browser/demos/views/PawnTab.java b/examples/org.eclipse.swt.examples.browser.demos/src/org/eclipse/swt/examples/browser/demos/views/PawnTab.java
deleted file mode 100644
index 513f12e..0000000
--- a/examples/org.eclipse.swt.examples.browser.demos/src/org/eclipse/swt/examples/browser/demos/views/PawnTab.java
+++ /dev/null
@@ -1,261 +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.swt.examples.browser.demos.views;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.browser.*;
-import org.eclipse.swt.examples.browser.demos.BrowserDemoPlugin;
-import org.eclipse.swt.examples.browser.demos.Pawns;
-
-public class PawnTab {
-
-	Action pawnAction;
-	Action editAction;
-	
-	Browser browser = null;
-	ReversiListener reversiListener;
-
-	final static int TYPE_WELCOME = 1;
-	final static int TYPE_START = 2;
-	final static int TYPE_BOARD = 3;
-	final static int TYPE_BOARD_OVER = 4;
-
-	final static String URL = "http://www.org.eclipse.swt.examples.browser.demos.pawns/";
-	static String PLUGIN_PATH = BrowserDemoPlugin.PLUGIN_PATH;
-	static String CSS_FOLDER = "css2";
-	static String URL_CSS = PLUGIN_PATH+CSS_FOLDER+"/style.css";
-	static String URL_WELCOME =PLUGIN_PATH+CSS_FOLDER+"/welcome.html";
-
-	final static String ACTION_START_2_PLAYERS = "actionstart2players";
-	final static String ACTION_START_1_PLAYER = "actionstart1player";
-	final static String ACTION_WHITE = "actionwhite";
-	final static String ACTION_BLACK = "actionblack";
-	final static String ACTION_THEME = "actiontheme";
-
-	static byte[][] game = null;
-	static boolean isWhite = true;
-	static int cntWhite = 0, cntBlack = 0;
-	static boolean computer = false;
-	static int cx, cy;
-	final static byte EMPTY = 0;
-	final static byte WHITE = 1;
-	final static byte BLACK = 2;
-	final static byte WALL = 3;
-	
-	static Pawns ttr = null;
-	static int[] move = new int[2];
-	static Menu menu = null;
-	
-	public PawnTab(TabItem item) {		
-		try {
-			browser = new Browser(item.getParent(), SWT.NONE);
-		} catch (SWTError e) {
-			e.printStackTrace();
-			return;
-		}
-		item.setText("Pawns");
-		item.setControl(browser);
-
-		menu = new Menu(browser.getShell(), SWT.POP_UP);
-		MenuItem item2 = new MenuItem(menu, SWT.PUSH);
-		item2.setText("End Game");
-		item2.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				game = null;
-				isWhite = true;
-				cntWhite = 0; cntBlack = 0;
-				ttr = null;
-				browser.setUrl(URL_WELCOME);
-			}
-		});
-		browser.setMenu(menu);
-		
-		reversiListener = new ReversiListener();
-		browser.addLocationListener(reversiListener);
-		browser.setUrl(URL_WELCOME);
-	}
-
-	static String getHtml(int type) {
-		String html = null;
-		switch (type) {
-		case TYPE_BOARD:
-		case TYPE_BOARD_OVER: {
-			html = "<html><header><link rel=\"stylesheet\" type=\"text/css\" href=\""+URL_CSS+"\"></header><body><div class=\"board\"><table><tbody>";
-			String classPlayerWhite = "playerwhite", classPlayerBlack = "playerblack";
-			if (type == TYPE_BOARD_OVER) {
-				if (cntWhite > cntBlack) {
-					classPlayerWhite += " winner";
-					classPlayerBlack += " loser";
-				} else {
-					classPlayerWhite += " loser";
-					classPlayerBlack += " winner";
-				}
-			}
-			String white = "<td class=\"white\"/>";
-			String black = "<td class=\"black\"/>";
-			String wall = "<td class=\"wall\"/>";
-			for (int i = 0; i < game.length; i++) {
-				html += "<tr>";
-				for (int j = 0; j < game[0].length; j++) {
-					switch (game[i][j]) {
-						case EMPTY: {
-							String empty = "<td class=\""+(isWhite ? "whitelink" : "blacklink")+"\">"+ (isWhite || (!isWhite && !computer) ? "<a href=\""+URL+(isWhite ? ACTION_WHITE : ACTION_BLACK)+"/xx"+i+"yy"+j+"\" class=\"empty\"/>" : "<div class=\"empty\"/>")+"</td>";
-							html += empty; break;
-						}
-						case WHITE: html += white; break;
-						case BLACK: html += black; break;
-						case WALL: html += wall; break;
-					}
-				}
-				html +="</tr>";
-			}
-			html += "</tbody></table></div>";
-			html += "<div class=\""+classPlayerWhite+"\">"+cntWhite+"</div>";
-			html += "<div class=\""+classPlayerBlack+"\">"+cntBlack+"</div>";
-			html += "</body></html>";
-			break;
-		}
-		}
-		return html;
-	}
-
-	public class ReversiListener implements LocationListener {
-		public void changed(LocationEvent e) {
-		}
-		public void changing(LocationEvent e) {
-			try {
-			final Browser browser = (Browser)e.widget;
-			if (e.location.indexOf(ACTION_START_1_PLAYER) != -1 || e.location.indexOf(ACTION_START_2_PLAYERS) != -1) {
-				computer = e.location.indexOf(ACTION_START_1_PLAYER) != -1;
-				game = new byte[8][8];
-				if (computer) ttr = new Pawns();
-				for (int i = 0; i < 5; i++) game[(int)(Math.random()*game.length)][(int)(Math.random()*game[0].length)] = WALL;
-				e.display.asyncExec(new Runnable() {
-					public void run() {
-						browser.setText(getHtml(TYPE_BOARD));
-				}});
-				e.doit = false;
-				return;
-			}
-			if (e.location.indexOf(ACTION_THEME) != -1) {
-				int index = e.location.indexOf(ACTION_THEME) + ACTION_THEME.length() + 1;
-				CSS_FOLDER = e.location.substring(index, index + 4);
-				URL_CSS = PLUGIN_PATH+CSS_FOLDER+"/style.css";
-				URL_WELCOME = PLUGIN_PATH+CSS_FOLDER+"/welcome.html";
-				e.display.asyncExec(new Runnable() {
-					public void run() {
-						browser.setUrl(URL_WELCOME);
-				}});
-				e.doit = false;
-				return;
-			}
-			byte player = EMPTY;
-			if (e.location.indexOf(ACTION_WHITE) != -1) player = WHITE;
-			else if (e.location.indexOf(ACTION_BLACK) != -1) player = BLACK;
-			if (player != EMPTY) {
-				int index = e.location.indexOf("xx") + 2;
-				int x = Integer.parseInt(e.location.substring(index, index + 1));
-				index = e.location.indexOf("yy") + 2;
-				int y = Integer.parseInt(e.location.substring(index, index + 1));
-				boolean hasMore = add(x, y, player);
-				isWhite = player != WHITE;
-				browser.setText(getHtml(hasMore ? TYPE_BOARD : TYPE_BOARD_OVER));
-				if (computer && hasMore && !isWhite) play(e.display, browser, 5000);
-				e.doit = false;
-			}
-			}catch (Exception e1 ) {
-				e1.printStackTrace();
-			}
-		}
-	}
-
-	public static boolean add(int x, int y, byte color) {
-		game[x][y] = color;
-		int cnt = Math.min(x, y), n = 0;
-		int other_color = color == WHITE ? BLACK : WHITE;
-		for (int d = 1; d <= cnt; d++) {
-			if (game[x-d][y-d] == other_color) n++;
-			else if (game[x-d][y-d] != color) break;
-			else { if (n > 0) for (d = 1; d <= n; d++) game[x-d][y-d] = color; break; }
-		}
-		cnt = Math.min(game.length - 1 - x, game[0].length - 1 - y); n = 0;
-		for (int d = 1; d <= cnt; d++) {
-			if (game[x+d][y+d] == other_color) n++;
-			else if (game[x+d][y+d] != color) break;
-			else { if (n > 0) for (d = 1; d <= n; d++) game[x+d][y+d] = color; break; }
-		}
-		cnt = Math.min(game.length - 1 - x, y); n = 0;
-		for (int d = 1; d <= cnt; d++) {
-			if (game[x+d][y-d] == other_color) n++;
-			else if (game[x+d][y-d] != color) break;
-			else { if (n > 0) for (d = 1; d <= n; d++) game[x+d][y-d] = color; break; }
-		}
-		cnt = Math.min(x, game[0].length - 1 - y); n = 0;
-		for (int d = 1; d <= cnt; d++) {
-			if (game[x-d][y+d] == other_color) n++;
-			else if (game[x-d][y+d] != color) break;
-			else { if (n > 0) for (d = 1; d <= n; d++) game[x-d][y+d] = color; break; }
-		}
-		cnt = y; n = 0;
-		for (int d = 1; d <= cnt; d++) {
-			if (game[x][y-d] == other_color) n++;
-			else if (game[x][y-d] != color) break;
-			else { if (n > 0) for (d = 1; d <= n; d++) game[x][y-d] = color; break; }
-		}
-		cnt = game[0].length - 1 - y; n = 0;
-		for (int d = 1; d <= cnt; d++) {
-			if (game[x][y+d] == other_color) n++;
-			else if (game[x][y+d] != color) break;
-			else { if (n > 0) for (d = 1; d <= n; d++) game[x][y+d] = color; break; }
-		}
-		cnt = x; n = 0;
-		for (int d = 1; d <= cnt; d++) {
-			if (game[x-d][y] == other_color) n++;
-			else if (game[x-d][y] != color) break;
-			else { if (n > 0) for (d = 1; d <= n; d++) game[x-d][y] = color; break; }
-		}
-		cnt = game.length - 1 - x; n = 0;
-		for (int d = 1; d <= cnt; d++) {
-			if (game[x+d][y] == other_color) n++;
-			else if (game[x+d][y] != color) break;
-			else { if (n > 0) for (d = 1; d <= n; d++) game[x+d][y] = color; break; }
-		}
-
-		boolean hasMore = false;
-		cntWhite = 0; cntBlack = 0;
-		for (int i = 0; i < game.length; i++)
-			for (int j = 0; j < game[0].length; j++) {
-				switch (game[i][j]) {
-					case EMPTY: hasMore = true; break;
-					case WHITE: cntWhite++; break;
-					case BLACK: cntBlack++; break;
-				}
-			}
-		return hasMore;
-	}
-	
-	public static void play(final Display display, final Browser browser, int delay) {
-		ttr.playRequest(game, BLACK);
-		display.timerExec(3000, new Runnable() {
-				public void run() {
-					ttr.getBestMove(move);
-					boolean hasMore = add(move[0], move[1], BLACK);
-					isWhite = true;
-					browser.setText(getHtml(hasMore ? TYPE_BOARD : TYPE_BOARD_OVER));
-				}
-		});
-	}
-	
-	public static void main(String[] args) {
-	}
-}
diff --git a/examples/org.eclipse.swt.examples.browser/.classpath b/examples/org.eclipse.swt.examples.browser/.classpath
deleted file mode 100644
index 7b14e15..0000000
--- a/examples/org.eclipse.swt.examples.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>
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.examples.browser/.cvsignore b/examples/org.eclipse.swt.examples.browser/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/examples/org.eclipse.swt.examples.browser/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.examples.browser/.project b/examples/org.eclipse.swt.examples.browser/.project
deleted file mode 100644
index 6fd5ee5..0000000
--- a/examples/org.eclipse.swt.examples.browser/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.swt.examples.browser</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.swt.examples.browser/.settings/org.eclipse.jdt.core.prefs b/examples/org.eclipse.swt.examples.browser/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index dc37a46..0000000
--- a/examples/org.eclipse.swt.examples.browser/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-#Mon Dec 11 15:14:40 EST 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.swt.examples.browser/about.html b/examples/org.eclipse.swt.examples.browser/about.html
deleted file mode 100644
index 4602330..0000000
--- a/examples/org.eclipse.swt.examples.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.swt.examples.browser/build.properties b/examples/org.eclipse.swt.examples.browser/build.properties
deleted file mode 100644
index ade644b..0000000
--- a/examples/org.eclipse.swt.examples.browser/build.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.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 = doc-html/,\
-               icons/,\
-               plugin.properties,\
-               plugin.xml,\
-               about.html,\
-	           *.jar
-
-src.includes = about.html
-	       
-source.browserexample.jar = src/
diff --git a/examples/org.eclipse.swt.examples.browser/doc-html/swt_browser_ex.html b/examples/org.eclipse.swt.examples.browser/doc-html/swt_browser_ex.html
deleted file mode 100644
index af5e181..0000000
--- a/examples/org.eclipse.swt.examples.browser/doc-html/swt_browser_ex.html
+++ /dev/null
@@ -1,32 +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>SWT - Controls Overview</title>
-</head>
-<body>
-
-<h2>SWT example - Browser</h2>
-
-<p>
-The Browser Example is a simple demonstration of the SWT Browser widget. 
-It consists of a composite containing a Browser widget to render HTML and some
-additional widgets to implement actions commonly found on browsers (toolbar
-with back, forward, refresh and stop buttons, status bar etc.).
-</p>
-
-<h3>Running the example</h3>
-<p>
-Follow the <a href="../../org.eclipse.swt.examples/doc-html/swt_manual_setup.html">SWT standalone examples setup</a> 
-instructions to install and run the example from your workspace.
-</p>
-<p>
-The "Main" class is <code>org.eclipse.swt.examples.browserexample.BrowserExample</code>.
-</p>
-<p>
-This example can also be run using the <a href="../../org.eclipse.swt.examples.launcher/doc-html/swt_launcher_ex.html">Example Launcher</a>.
-Select the <strong>Browser</strong> item from the <strong>Workbench Views</strong> category and click <strong>Run</strong>.
-</p>
-</body>
-</html>
diff --git a/examples/org.eclipse.swt.examples.browser/icons/browser_example.gif b/examples/org.eclipse.swt.examples.browser/icons/browser_example.gif
deleted file mode 100644
index 895e221..0000000
--- a/examples/org.eclipse.swt.examples.browser/icons/browser_example.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.browser/plugin.properties b/examples/org.eclipse.swt.examples.browser/plugin.properties
deleted file mode 100644
index b797cf2..0000000
--- a/examples/org.eclipse.swt.examples.browser/plugin.properties
+++ /dev/null
@@ -1,26 +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
-###############################################################################
-providerName = Eclipse.org
-plugin.SWTBrowserExample.name = SWT Browser Example Plugin
-category.SWTExamples.name = SWT Examples
-view.BrowserExample.name = Web Browser
-
-launchcategory.SWTViewExamples.name = Workbench Views
-launchcategory.SWTViewExamples.description = \
-	A collection of Standard Widget Toolkit examples that run as Views inside the Workbench.  \
-	These examples will create a new View in the current Perspective.
-
-launchitem.BrowserExample.name = Web Browser
-launchitem.BrowserExample.description = \
-	This example demonstrates how to integrate a Web Browser with the SWT Browser widget.\n\n\
-	It consists of a composite containing a Browser widget to render HTML. \
-	Additional widgets allow the user to perform typical browser actions (for example, navigate to a particular URL, go back, forward, refresh and stop).
-
diff --git a/examples/org.eclipse.swt.examples.browser/plugin.xml b/examples/org.eclipse.swt.examples.browser/plugin.xml
deleted file mode 100644
index efa53eb..0000000
--- a/examples/org.eclipse.swt.examples.browser/plugin.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.swt.examples.browser"
-   name="%plugin.SWTBrowserExample.name"
-   version="3.1.100.qualifier"
-   provider-name="%providerName"
-   class="org.eclipse.swt.examples.browserexample.BrowserPlugin">
-
-<!-- Runtime -->
-   <runtime>
-      <library name="browserexample.jar">
-      </library>
-   </runtime>
-<!-- Required plugins -->
-   <requires>
-      <import plugin="org.eclipse.ui.ide"/>
-      <import plugin="org.eclipse.ui.views"/>
-      <import plugin="org.eclipse.jface.text"/>
-      <import plugin="org.eclipse.ui.workbench.texteditor"/>
-      <import plugin="org.eclipse.ui.editors"/>
-      <import plugin="org.eclipse.core.runtime"/>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.swt"/>
-      <import plugin="org.eclipse.swt.examples"/>
-   </requires>
-
-
-<!-- Extension points -->
-<!-- Extensions -->
-   <extension
-         point="org.eclipse.ui.views">
-      <view
-            name="%view.BrowserExample.name"
-            icon="icons/browser_example.gif"
-            category="org.eclipse.swt.examples.category"
-            class="org.eclipse.swt.examples.browserexample.BrowserView"
-            id="org.eclipse.swt.examples.browserexample.view">
-      </view>
-   </extension>
-   <extension
-         point="org.eclipse.swt.examples.launcher.launchItems">
-      <category
-            name="%launchcategory.SWTViewExamples.name"
-            description="%launchcategory.SWTViewExamples.description"
-            id="org.eclipse.swt.examples.launchViewCategory">
-      </category>
-      <item
-            name="%launchitem.BrowserExample.name"
-            icon="icons/browser_example.gif"
-            category="org.eclipse.swt.examples.launchViewCategory"
-            description="%launchitem.BrowserExample.description"
-            id="org.eclipse.swt.examples.browserexample.viewlauncher">
-         <view
-               viewId="org.eclipse.swt.examples.browserexample.view">
-         </view>
-      </item>
-   </extension>
-
-</plugin>
diff --git a/examples/org.eclipse.swt.examples.browser/src/import.properties b/examples/org.eclipse.swt.examples.browser/src/import.properties
deleted file mode 100644
index 8241dac..0000000
--- a/examples/org.eclipse.swt.examples.browser/src/import.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# Persist project settings for later import 
-natures = org.eclipse.jdt.core.javanature; org.eclipse.pde.PluginNature
-builders = org.eclipse.jdt.core.javabuilder; org.eclipse.pde.ManifestBuilder; org.eclipse.pde.SchemaBuilder
-var.ECLIPSE_PLUGINS = <<ECLIPSE_PLUGINS>>
diff --git a/examples/org.eclipse.swt.examples.browser/src/org/eclipse/swt/examples/browserexample/BrowserPlugin.java b/examples/org.eclipse.swt.examples.browser/src/org/eclipse/swt/examples/browserexample/BrowserPlugin.java
deleted file mode 100644
index 096160f..0000000
--- a/examples/org.eclipse.swt.examples.browser/src/org/eclipse/swt/examples/browserexample/BrowserPlugin.java
+++ /dev/null
@@ -1,26 +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.swt.examples.browserexample;
-
-
-import org.eclipse.ui.plugin.*;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class BrowserPlugin extends AbstractUIPlugin {
-	/**
-	 * The constructor.
-	 */
-	public BrowserPlugin() {
-		super();
-	}
-}
diff --git a/examples/org.eclipse.swt.examples.browser/src/org/eclipse/swt/examples/browserexample/BrowserView.java b/examples/org.eclipse.swt.examples.browser/src/org/eclipse/swt/examples/browserexample/BrowserView.java
deleted file mode 100644
index 54f6ce0..0000000
--- a/examples/org.eclipse.swt.examples.browser/src/org/eclipse/swt/examples/browserexample/BrowserView.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.examples.browserexample;
-
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.part.*;
-
-/**
- * <code>BrowserView</code> is a simple demonstration
- * of the SWT Browser widget.  It consists of a workbench
- * view and tab folder where each tab in the folder allows the
- * user to interact with a control.
- * 
- * @see ViewPart
- */
-public class BrowserView extends ViewPart {
-	BrowserExample instance = null;
-	
-	/**
-	 * Create the example
-	 * 
-	 * @see ViewPart#createPartControl
-	 */
-	public void createPartControl(Composite frame) {
-		instance = new BrowserExample(frame, true);
-	}
-
-	/**
-	 * Called when we must grab focus.
-	 * 
-	 * @see org.eclipse.ui.part.ViewPart#setFocus
-	 */
-	public void setFocus() {
-		instance.focus();
-	}
-
-	/**
-	 * Called when the View is to be disposed
-	 */	
-	public void dispose() {
-		instance.dispose();
-		instance = null;
-		super.dispose();
-	}
-}
diff --git a/examples/org.eclipse.swt.examples.controls/.classpath b/examples/org.eclipse.swt.examples.controls/.classpath
deleted file mode 100755
index 065ac06..0000000
--- a/examples/org.eclipse.swt.examples.controls/.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.swt.examples.controls/.cvsignore b/examples/org.eclipse.swt.examples.controls/.cvsignore
deleted file mode 100755
index c5e82d7..0000000
--- a/examples/org.eclipse.swt.examples.controls/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.examples.controls/.project b/examples/org.eclipse.swt.examples.controls/.project
deleted file mode 100644
index f8c68eb..0000000
--- a/examples/org.eclipse.swt.examples.controls/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.swt.examples.controls</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.swt.examples.controls/.settings/org.eclipse.jdt.core.prefs b/examples/org.eclipse.swt.examples.controls/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index ad7b3a3..0000000
--- a/examples/org.eclipse.swt.examples.controls/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-#Mon Dec 11 15:14:21 EST 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.swt.examples.controls/about.html b/examples/org.eclipse.swt.examples.controls/about.html
deleted file mode 100644
index 4602330..0000000
--- a/examples/org.eclipse.swt.examples.controls/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.swt.examples.controls/build.properties b/examples/org.eclipse.swt.examples.controls/build.properties
deleted file mode 100755
index 2d5c76f..0000000
--- a/examples/org.eclipse.swt.examples.controls/build.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.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 = doc-html/,\
-               icons/,\
-               plugin.properties,\
-               plugin.xml,\
-               about.html,\
-	           *.jar
-
-src.includes = about.html
-	       
-source.controls.jar = src/
diff --git a/examples/org.eclipse.swt.examples.controls/doc-html/swt_controls_ex.html b/examples/org.eclipse.swt.examples.controls/doc-html/swt_controls_ex.html
deleted file mode 100755
index 7946309..0000000
--- a/examples/org.eclipse.swt.examples.controls/doc-html/swt_controls_ex.html
+++ /dev/null
@@ -1,33 +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>SWT - Controls Overview</title>
-</head>
-<body>
-
-<h2>SWT example - Controls</h2>
-
-<p>
-The Controls Example is a simple demonstration of common SWT controls. 
-It consists of a tab folder where each tab in the folder allows the user 
-to interact with a different control.
-The user can change styles and settings and view how this affects each control.
-</p>
-
-<h3>Running the example</h3>
-<p>
-Follow the <a href="../../org.eclipse.swt.examples/doc-html/swt_manual_setup.html">SWT standalone examples setup</a> 
-instructions to install and run the example from your workspace.
-</p>
-<p>
-The "Main" class is <code>org.eclipse.swt.examples.controlexample.ControlExample</code>.
-</p>
-<p>
-This example can also be run using the <a href="../../org.eclipse.swt.examples.launcher/doc-html/swt_launcher_ex.html">Example Launcher</a>.
-Select the <strong>Controls</strong> item from the <strong>Workbench Views</strong> category and click <strong>Run</strong>.
-</p>
-
-</body>
-</html>
diff --git a/examples/org.eclipse.swt.examples.controls/doc-html/swt_customcontrols_ex.html b/examples/org.eclipse.swt.examples.controls/doc-html/swt_customcontrols_ex.html
deleted file mode 100644
index bdb0d27..0000000
--- a/examples/org.eclipse.swt.examples.controls/doc-html/swt_customcontrols_ex.html
+++ /dev/null
@@ -1,33 +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>SWT - Controls Overview</title>
-</head>
-<body>
-
-<h2>SWT example - Custom Controls</h2>
-
-<p>
-The Custom Controls example is a simple demonstration of emulated SWT controls. 
-It consists of a tab folder where each tab in the folder allows the user 
-to interact with a different emulated control.
-The user can change styles and settings and view how this affects each control.
-</p>
-
-<h3>Running the example</h3>
-<p>
-Follow the <a href="../../org.eclipse.swt.examples/doc-html/swt_manual_setup.html">SWT standalone examples setup</a> 
-instructions to install and run the example from your workspace.
-</p>
-<p>
-The "Main" class is <code>org.eclipse.swt.examples.controlexample.CustomControlExample</code>.
-</p>
-<p>
-This example can also be run using the <a href="../../org.eclipse.swt.examples.launcher/doc-html/swt_launcher_ex.html">Example Launcher</a>.
-Select the <strong>Custom Controls</strong> item from the <strong>Workbench Views</strong> category and click <strong>Run</strong>.
-</p>
-
-</body>
-</html>
diff --git a/examples/org.eclipse.swt.examples.controls/icons/controls_example.gif b/examples/org.eclipse.swt.examples.controls/icons/controls_example.gif
deleted file mode 100755
index cbdee97..0000000
--- a/examples/org.eclipse.swt.examples.controls/icons/controls_example.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.controls/plugin.properties b/examples/org.eclipse.swt.examples.controls/plugin.properties
deleted file mode 100755
index 107c0cd..0000000
--- a/examples/org.eclipse.swt.examples.controls/plugin.properties
+++ /dev/null
@@ -1,34 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.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
-plugin.SWTControlsExample.name = SWT Controls Example Plugin
-category.SWTExamples.name = SWT Examples
-view.ControlsExample.name = SWT Controls
-view.CustomControlsExample.name = SWT Custom Controls
-
-launchcategory.SWTViewExamples.name = Workbench Views
-launchcategory.SWTViewExamples.description = \
-	A collection of Standard Widget Toolkit examples that run as Views inside the Workbench.  \
-	These examples will create a new View in the current Perspective.
-
-launchitem.ControlsExample.name = Controls
-launchitem.ControlsExample.description = \
-	This example is a simple demonstration of native SWT controls.\n\n\
-	It consists of a tab folder where each tab allows the user \
-	to interact with a different SWT control. \
-	The user can change styles and settings and view how this affects the control.
-	
-launchitem.CustomControlsExample.name = Custom Controls
-launchitem.CustomControlsExample.description = \
-	This example is a simple demonstration of custom SWT controls.\n\n\
-	It consists of a tab folder where each tab allows the user \
-	to interact with a different SWT custom control. \
-	The user can change styles and settings and view how this affects the control.
diff --git a/examples/org.eclipse.swt.examples.controls/plugin.xml b/examples/org.eclipse.swt.examples.controls/plugin.xml
deleted file mode 100755
index a277def..0000000
--- a/examples/org.eclipse.swt.examples.controls/plugin.xml
+++ /dev/null
@@ -1,77 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.swt.examples.controls"
-   name="%plugin.SWTControlsExample.name"
-   version="3.1.100.qualifier"
-   provider-name="%providerName"
-   class="org.eclipse.swt.examples.controls.ControlPlugin">
-
-<!-- Runtime -->
-   <runtime>
-      <library name="controls.jar">
-      </library>
-   </runtime>
-<!-- Required plugins -->
-   <requires>
-      <import plugin="org.eclipse.ui.ide"/>
-      <import plugin="org.eclipse.ui.views"/>
-      <import plugin="org.eclipse.jface.text"/>
-      <import plugin="org.eclipse.ui.workbench.texteditor"/>
-      <import plugin="org.eclipse.ui.editors"/>
-      <import plugin="org.eclipse.core.runtime"/>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.swt"/>
-      <import plugin="org.eclipse.swt.examples"/>
-   </requires>
-
-
-<!-- Extension points -->
-<!-- Extensions -->
-   <extension
-         point="org.eclipse.ui.views">
-      <view
-            name="%view.ControlsExample.name"
-            icon="icons/controls_example.gif"
-            category="org.eclipse.swt.examples.category"
-            class="org.eclipse.swt.examples.controls.ControlView"
-            id="org.eclipse.swt.examples.controls.view">
-      </view>
-      <view
-            name="%view.CustomControlsExample.name"
-            icon="icons/controls_example.gif"
-            category="org.eclipse.swt.examples.category"
-            class="org.eclipse.swt.examples.controls.CustomControlView"
-            id="org.eclipse.swt.examples.customcontrols.view">
-      </view>
-   </extension>
-   <extension
-         point="org.eclipse.swt.examples.launcher.launchItems">
-      <category
-            name="%launchcategory.SWTViewExamples.name"
-            description="%launchcategory.SWTViewExamples.description"
-            id="org.eclipse.swt.examples.launchViewCategory">
-      </category>
-      <item
-            name="%launchitem.ControlsExample.name"
-            icon="icons/controls_example.gif"
-            description="%launchitem.ControlsExample.description"
-            category="org.eclipse.swt.examples.launchViewCategory"
-            id="org.eclipse.swt.examples.controls.viewlauncher">
-         <view
-               viewId="org.eclipse.swt.examples.controls.view">
-         </view>
-      </item>
-      <item
-            name="%launchitem.CustomControlsExample.name"
-            icon="icons/controls_example.gif"
-            description="%launchitem.CustomControlsExample.description"
-            category="org.eclipse.swt.examples.launchViewCategory"
-            id="org.eclipse.swt.examples.customcontrols.viewlauncher">
-         <view
-               viewId="org.eclipse.swt.examples.customcontrols.view">
-         </view>
-      </item>
-   </extension>
-
-</plugin>
diff --git a/examples/org.eclipse.swt.examples.controls/src/import.properties b/examples/org.eclipse.swt.examples.controls/src/import.properties
deleted file mode 100644
index 8241dac..0000000
--- a/examples/org.eclipse.swt.examples.controls/src/import.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# Persist project settings for later import 
-natures = org.eclipse.jdt.core.javanature; org.eclipse.pde.PluginNature
-builders = org.eclipse.jdt.core.javabuilder; org.eclipse.pde.ManifestBuilder; org.eclipse.pde.SchemaBuilder
-var.ECLIPSE_PLUGINS = <<ECLIPSE_PLUGINS>>
diff --git a/examples/org.eclipse.swt.examples.controls/src/org/eclipse/swt/examples/controls/ControlPlugin.java b/examples/org.eclipse.swt.examples.controls/src/org/eclipse/swt/examples/controls/ControlPlugin.java
deleted file mode 100755
index 5eb6d55..0000000
--- a/examples/org.eclipse.swt.examples.controls/src/org/eclipse/swt/examples/controls/ControlPlugin.java
+++ /dev/null
@@ -1,26 +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.swt.examples.controls;
-
-
-import org.eclipse.ui.plugin.*;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class ControlPlugin extends AbstractUIPlugin {
-	/**
-	 * The constructor.
-	 */
-	public ControlPlugin() {
-		super();
-	}
-}
diff --git a/examples/org.eclipse.swt.examples.controls/src/org/eclipse/swt/examples/controls/ControlView.java b/examples/org.eclipse.swt.examples.controls/src/org/eclipse/swt/examples/controls/ControlView.java
deleted file mode 100755
index da95327..0000000
--- a/examples/org.eclipse.swt.examples.controls/src/org/eclipse/swt/examples/controls/ControlView.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.examples.controls;
-
- 
-import org.eclipse.swt.examples.controlexample.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.part.*;
-
-/**
- * <code>Controls</code> is a simple demonstration
- * of the native controls defined by SWT.  It consists of a workbench
- * view and tab folder where each tab in the folder allows the
- * user to interact with a control.
- * 
- * @see ViewPart
- */
-public class ControlView extends ViewPart {
-	ControlExample instance = null;
-	
-	/**
-	 * Create the example
-	 * 
-	 * @see ViewPart#createPartControl
-	 */
-	public void createPartControl(Composite frame) {
-		instance = new ControlExample(frame);
-	}
-
-	/**
-	 * Called when we must grab focus.
-	 * 
-	 * @see org.eclipse.ui.part.ViewPart#setFocus
-	 */
-	public void setFocus() {
-		instance.setFocus();
-	}
-
-	/**
-	 * Called when the View is to be disposed
-	 */	
-	public void dispose() {
-		instance.dispose();
-		instance = null;
-		super.dispose();
-	}
-}
diff --git a/examples/org.eclipse.swt.examples.controls/src/org/eclipse/swt/examples/controls/CustomControlView.java b/examples/org.eclipse.swt.examples.controls/src/org/eclipse/swt/examples/controls/CustomControlView.java
deleted file mode 100644
index 054302d..0000000
--- a/examples/org.eclipse.swt.examples.controls/src/org/eclipse/swt/examples/controls/CustomControlView.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.examples.controls;
-
-
-import org.eclipse.swt.examples.controlexample.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * <code>CustomControls</code> is a simple demonstration
- * of the custom controls defined by SWT.  It consists of a workbench
- * view and tab folder where each tab in the folder allows the
- * user to interact with a control.
- * 
- * @see ViewPart
- */
-public class CustomControlView extends ControlView {
-
-	/**
-	 * Create the example
-	 * 
-	 * @see ViewPart#createPartControl
-	 */
-	public void createPartControl(Composite frame) {
-		instance = new CustomControlExample(frame);
-	}
-}
diff --git a/examples/org.eclipse.swt.examples.launcher/.classpath b/examples/org.eclipse.swt.examples.launcher/.classpath
deleted file mode 100755
index 065ac06..0000000
--- a/examples/org.eclipse.swt.examples.launcher/.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.swt.examples.launcher/.cvsignore b/examples/org.eclipse.swt.examples.launcher/.cvsignore
deleted file mode 100755
index c5e82d7..0000000
--- a/examples/org.eclipse.swt.examples.launcher/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.examples.launcher/.project b/examples/org.eclipse.swt.examples.launcher/.project
deleted file mode 100644
index 08cc7ff..0000000
--- a/examples/org.eclipse.swt.examples.launcher/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.swt.examples.launcher</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.swt.examples.launcher/.settings/org.eclipse.jdt.core.prefs b/examples/org.eclipse.swt.examples.launcher/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 5feaf84..0000000
--- a/examples/org.eclipse.swt.examples.launcher/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-#Mon Dec 11 15:14:11 EST 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.swt.examples.launcher/about.html b/examples/org.eclipse.swt.examples.launcher/about.html
deleted file mode 100644
index 4602330..0000000
--- a/examples/org.eclipse.swt.examples.launcher/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.swt.examples.launcher/build.properties b/examples/org.eclipse.swt.examples.launcher/build.properties
deleted file mode 100755
index 219e498..0000000
--- a/examples/org.eclipse.swt.examples.launcher/build.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.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 = doc/,\
-               doc-html/,\
-               icons/,\
-               schema/,\
-               plugin.properties,\
-               plugin.xml,\
-               about.html,\
-	           *.jar
-	           
-src.includes = about.html
-
-source.launcher.jar = src/
diff --git a/examples/org.eclipse.swt.examples.launcher/doc-html/swt_launcher_ex.html b/examples/org.eclipse.swt.examples.launcher/doc-html/swt_launcher_ex.html
deleted file mode 100755
index b5f4f8c..0000000
--- a/examples/org.eclipse.swt.examples.launcher/doc-html/swt_launcher_ex.html
+++ /dev/null
@@ -1,44 +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>SWT - Example Launcher</title>
-</head>
-<body>
-
-<h2>SWT Example Launcher</h2>
-
-<p>
-The Example Launcher is used to launch SWT examples, which can either be Workbench views 
-or standalone applications.
-</p>
-
-<ul>
-<li>Workbench views are examples that are integrated into Eclipse.  When the launcher
-starts a Workbench view, it is opened in the currently active perspective.
-<li>Standalone applications are launched in a separate window.
-</ul>
-
-<p>
-For information on how to run the standalone examples without the SWT Example Launcher, 
-refer to <a href="../../org.eclipse.swt.examples/doc-html/swt_manual_setup.html">SWT standalone examples setup</a>.
-</p>
-<p>
-The SWT Workbench view examples can also be launched directly without using the SWT Example 
-Launcher.  SWT Workbench view examples can be found under the <strong>SWT Examples</strong> category of the 
-<strong>Show Views</strong> dialog.
-</p>
-
-<h3>Running the Example Launcher</h3>
-
-<p>
-From Eclipse's <strong>Window</strong> menu, select <strong>Show View &gt; Other</strong>. 
-In the <strong>Show View</strong> dialog, expand <strong>SWT Examples</strong> and select the <strong>SWT Example Launcher</strong> view. 
-A view containing a list of examples will appear in your current perspective.
-When you select an example from the list a brief description of the example is displayed.
-Click on the <strong>Run</strong> button to launch the example.
-</p>
-
-</body>
-</html>
diff --git a/examples/org.eclipse.swt.examples.launcher/doc/org.eclipse.swt.examples.launcher.launchItems.html b/examples/org.eclipse.swt.examples.launcher/doc/org.eclipse.swt.examples.launcher.launchItems.html
deleted file mode 100755
index 3edf918..0000000
--- a/examples/org.eclipse.swt.examples.launcher/doc/org.eclipse.swt.examples.launcher.launchItems.html
+++ /dev/null
@@ -1,60 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HEAD>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-<HTML>
-<BODY>
-<H1><CENTER>Launch Items</CENTER></H1>
-<H2>Identifier</H2>
-org.eclipse.swt.examples.launcher.launchItems<H2>Description</H2>
-This extension point is used to add 'standalone program' and
-'Workbench view'
-launch items to the Launcher, optionally grouping them into
-categories so as to form a multi-tiered hierarchy.
-Standalone programs are executed using the platform's event loop.
-Workbench views are created within the active Workbench Perspective.<H2>Markup</H2>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT extension EMPTY&gt;</samp>
-<br><samp>&nbsp;&nbsp; &lt;!ATTLIST extension</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;point&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</samp>
-<ul>
-<li><b>point</b> - </li><li><b>id</b> - </li><li><b>name</b> - </li></ul>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT program EMPTY&gt;</samp>
-<br><samp>&nbsp;&nbsp; &lt;!ATTLIST program</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mainClass&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pluginId&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</samp>
-<ul>
-<li><b>mainClass</b> - The fully-qualified name of the class whose main() method is to be launched.</li><li><b>pluginId</b> - The unique id of the Eclipse Platform plugin containing the program.</li></ul>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT view EMPTY&gt;</samp>
-<br><samp>&nbsp;&nbsp; &lt;!ATTLIST view</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;viewId&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</samp>
-<ul>
-<li><b>viewId</b> - The unique id of the Workbench View to be activated when the item is launched.</li></ul>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT category EMPTY&gt;</samp>
-<br><samp>&nbsp;&nbsp; &lt;!ATTLIST category</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;category&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</samp>
-<ul>
-<li><b>name</b> - The localized name of this category.</li><li><b>id</b> - The unique id of this category.  Categories with duplicate id's will be discarded.</li><li><b>category</b> - The unique id of the parent category.</li></ul>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT item EMPTY&gt;</samp>
-<br><samp>&nbsp;&nbsp; &lt;!ATTLIST item</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;category&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;icon&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;enabled&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(true | false) "false""true"</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;description&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</samp>
-<ul>
-<li><b>name</b> - The localized name of this launch item.</li><li><b>id</b> - The unique id of this launch item. Launch items with duplicate id's will be discarded.</li><li><b>category</b> - The unique id of the category this launch item belongs to.</li><li><b>icon</b> - The declaring plugin relative path of an icon to display with this launch item in the Launcher.</li><li><b>enabled</b> - Set to "false" to disable this launch item, or to "true" to enable it (default).</li><li><b>description</b> - The localized plain-text description of this launch item.</li></ul>
-<H2>Example</H2>
-<H2>API Information</H2>
-<H2>Supplied Implementation</H2>
-</BODY>
-</HTML>
diff --git a/examples/org.eclipse.swt.examples.launcher/icons/closedFolder.gif b/examples/org.eclipse.swt.examples.launcher/icons/closedFolder.gif
deleted file mode 100755
index beb6ed1..0000000
--- a/examples/org.eclipse.swt.examples.launcher/icons/closedFolder.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.launcher/icons/generic_example.gif b/examples/org.eclipse.swt.examples.launcher/icons/generic_example.gif
deleted file mode 100755
index f9fb6b0..0000000
--- a/examples/org.eclipse.swt.examples.launcher/icons/generic_example.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.launcher/icons/launcher_example.gif b/examples/org.eclipse.swt.examples.launcher/icons/launcher_example.gif
deleted file mode 100755
index 3ab4d32..0000000
--- a/examples/org.eclipse.swt.examples.launcher/icons/launcher_example.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.launcher/icons/openFolder.gif b/examples/org.eclipse.swt.examples.launcher/icons/openFolder.gif
deleted file mode 100755
index a9c77734..0000000
--- a/examples/org.eclipse.swt.examples.launcher/icons/openFolder.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.launcher/plugin.properties b/examples/org.eclipse.swt.examples.launcher/plugin.properties
deleted file mode 100755
index 5a03aa1..0000000
--- a/examples/org.eclipse.swt.examples.launcher/plugin.properties
+++ /dev/null
@@ -1,49 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.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
-plugin.SWTLauncherExample.name = SWT Launcher Example Plugin
-category.SWTExamples.name = SWT Examples
-view.LauncherExample.name = SWT Example Launcher
-
-extension-point.launchItems.name = Launch Items
-
-launchcategory.SWTViewExamples.name = Workbench Views
-launchcategory.SWTViewExamples.description = \
-	A collection of Standard Widget Toolkit examples that run as Views inside the Workbench.  \
-	These examples will create a new View in the current Perspective.
-
-launchitem.LauncherExample.name = Launcher
-launchitem.LauncherExample.description = \
-	The Example Launcher is used to launch SWT examples which can either be \
-	Workbench Views, or Standalone applications.\n\n\
-	Workbench Views are examples that are integrated into Eclipse.  When the Launcher \
-	starts a Workbench View, it is opened in the currently active perspective.\n\n\
-	Standalone applications are launched in a separate window.
-
-error.CouldNotLoadResources = Unable to load resources
-error.CouldNotFindRegisteredExtensions = Could Not Find Registered Extensions
-error.IncompleteProgramLaunchItem = Incomplete XML ProgramLaunchItem definition, id = {0}
-error.IncompleteViewLaunchItem = Incomplete XML ViewLaunchItem definition, id = {0}
-error.IncompleteLaunchItem = Incomplete or unrecognized XML LaunchItem definition, id = {0}
-
-launchitem.Null.description = <<no item selected>>
-
-launchitem.Missing.name = <<unnamed>>
-launchitem.Missing.description = <<no description available>>
-
-view.launchGroup.text = Examples
-view.launchButton.text = Run
-view.descriptionGroup.text = Description
-
-run.error.Invocation = A fatal error occurred while launching the program.
-run.error.DoesNotImplementMethod = The class does not implement the open() method.
-run.error.CouldNotFindClass = Could not find the class to run.
-run.error.CouldNotInstantiateClass = Could not instantiate the class to run.
diff --git a/examples/org.eclipse.swt.examples.launcher/plugin.xml b/examples/org.eclipse.swt.examples.launcher/plugin.xml
deleted file mode 100755
index c3b82b2..0000000
--- a/examples/org.eclipse.swt.examples.launcher/plugin.xml
+++ /dev/null
@@ -1,74 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.swt.examples.launcher"
-   name="%plugin.SWTLauncherExample.name"
-   version="3.1.100.qualifier"
-   provider-name="%providerName"
-   class="org.eclipse.swt.examples.launcher.LauncherPlugin">
-
-<!-- Runtime -->
-<!-- Runtime -->
-<!-- Runtime -->
-<!-- Runtime -->
-   <runtime>
-      <library name="launcher.jar">
-      </library>
-   </runtime>
-<!-- Required plugins -->
-   <requires>
-      <import plugin="org.eclipse.ui.ide"/>
-      <import plugin="org.eclipse.ui.views"/>
-      <import plugin="org.eclipse.jface.text"/>
-      <import plugin="org.eclipse.ui.workbench.texteditor"/>
-      <import plugin="org.eclipse.ui.editors"/>
-      <import plugin="org.eclipse.core.runtime"/>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.swt"/>
-      <import plugin="org.eclipse.jdt.launching"/>
-      <import plugin="org.eclipse.debug.core"/>
-      <import plugin="org.eclipse.core.boot"/>
-      <import plugin="org.eclipse.jdt.core"/>
-   </requires>
-
-
-<!-- Extension points -->
-   <extension-point id="launchItems" name="%extension-point.launchItems.name" schema="schema/org.eclipse.swt.examples.launcher.launchItems.exsd"/>
-
-<!-- Extensions -->
-   <extension
-         point="org.eclipse.ui.views">
-      <category
-            name="%category.SWTExamples.name"
-            id="org.eclipse.swt.examples.category">
-      </category>
-      <view
-            name="%view.LauncherExample.name"
-            icon="icons/launcher_example.gif"
-            category="org.eclipse.swt.examples.category"
-            class="org.eclipse.swt.examples.launcher.LauncherView"
-            id="org.eclipse.swt.examples.launcher.view">
-      </view>
-   </extension>
-   <extension
-         point="org.eclipse.swt.examples.launcher.launchItems">
-      <category
-            name="%launchcategory.SWTViewExamples.name"
-            description="%launchcategory.SWTViewExamples.description"
-            id="org.eclipse.swt.examples.launchViewCategory">
-      </category>
-      <item
-            name="%launchitem.LauncherExample.name"
-            enabled="false"
-            icon="icons/launcher_example.gif"
-            description="%launchitem.LauncherExample.description"
-            category="org.eclipse.swt.examples.launchViewCategory"
-            id="org.eclipse.swt.examples.launcher.viewlauncher">
-         <view
-               viewId="org.eclipse.swt.examples.launcher.view">
-         </view>
-      </item>
-   </extension>
-
-</plugin>
diff --git a/examples/org.eclipse.swt.examples.launcher/schema/org.eclipse.swt.examples.launcher.launchItems.exsd b/examples/org.eclipse.swt.examples.launcher/schema/org.eclipse.swt.examples.launcher.launchItems.exsd
deleted file mode 100644
index 30b7d8b..0000000
--- a/examples/org.eclipse.swt.examples.launcher/schema/org.eclipse.swt.examples.launcher.launchItems.exsd
+++ /dev/null
@@ -1,222 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.swt.examples.launcher">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.swt.examples.launcher" id="launchItems" name="Launch Items"/>
-      </appInfo>
-      <documentation>
-         This extension point is used to add &apos;standalone program&apos; and
-&apos;Workbench view&apos;
-launch items to the Launcher, optionally grouping them into
-categories so as to form a multi-tiered hierarchy.
-Standalone programs are executed using the platform&apos;s event loop.
-Workbench views are created within the active Workbench Perspective.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <choice minOccurs="0" maxOccurs="unbounded">
-            <element ref="category"/>
-            <element ref="item"/>
-         </choice>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="program">
-      <annotation>
-         <documentation>
-            Specifies a &quot;Standalone Program&quot; for a launch item to run.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="mainClass" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The fully-qualified name of the class whose main() method is to be launched.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="pluginId" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The unique id of the Eclipse Platform plugin containing the program.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="view">
-      <annotation>
-         <documentation>
-            Specifies a &quot;Workbench View&quot; for a launch item to activate.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="viewId" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The unique id of the Workbench View to be activated when the item is launched.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="category">
-      <annotation>
-         <documentation>
-            Specifies a launch item category heading.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The localized name of this category.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The unique id of this category.  Categories with duplicate id&apos;s will be discarded.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="category" type="string">
-            <annotation>
-               <documentation>
-                  The unique id of the parent category.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="description" type="string">
-            <annotation>
-               <documentation>
-                  Specifies a launch item category description.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="item">
-      <annotation>
-         <documentation>
-            Specifies a launch item.
-         </documentation>
-      </annotation>
-      <complexType>
-         <choice>
-            <element ref="view"/>
-            <element ref="program"/>
-         </choice>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The localized name of this launch item.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The unique id of this launch item. Launch items with duplicate id&apos;s will be discarded.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="category" type="string">
-            <annotation>
-               <documentation>
-                  The unique id of the category this launch item belongs to.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="icon" type="string">
-            <annotation>
-               <documentation>
-                  The declaring plugin relative path of an icon to display with this launch item in the Launcher.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="enabled" type="boolean" use="default" value="true">
-            <annotation>
-               <documentation>
-                  Set to &quot;false&quot; to disable this launch item, or to &quot;true&quot; to enable it (default).
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="description" type="string">
-            <annotation>
-               <documentation>
-                  The localized plain-text description of this launch item.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2002, 2004 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made
-available under the terms of the 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/examples/org.eclipse.swt.examples.launcher/src/import.properties b/examples/org.eclipse.swt.examples.launcher/src/import.properties
deleted file mode 100644
index 8241dac..0000000
--- a/examples/org.eclipse.swt.examples.launcher/src/import.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# Persist project settings for later import 
-natures = org.eclipse.jdt.core.javanature; org.eclipse.pde.PluginNature
-builders = org.eclipse.jdt.core.javabuilder; org.eclipse.pde.ManifestBuilder; org.eclipse.pde.SchemaBuilder
-var.ECLIPSE_PLUGINS = <<ECLIPSE_PLUGINS>>
diff --git a/examples/org.eclipse.swt.examples.launcher/src/org/eclipse/swt/examples/launcher/ItemDescriptor.java b/examples/org.eclipse.swt.examples.launcher/src/org/eclipse/swt/examples/launcher/ItemDescriptor.java
deleted file mode 100755
index fc105f2..0000000
--- a/examples/org.eclipse.swt.examples.launcher/src/org/eclipse/swt/examples/launcher/ItemDescriptor.java
+++ /dev/null
@@ -1,159 +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.swt.examples.launcher;
-
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.swt.graphics.*;
-
-/**
- * ItemDescriptor collects information about a launch item.
- */
-class ItemDescriptor {
-	private String id;
-	private String name;
-	private String description;
-	private Image  icon;
-	private String view;
-	private String mainType;
-	private String pluginId;
-	private IConfigurationElement element;
-	
-	
-	/**
-	 * Constructs an ItemDescriptor.
-	 *
-	 * @param id the id
-	 * @param name the name
-	 * @param description the description
-	 * @param icon the icon
-	 * @param view the host view may be null if it is a standalone application
-	 * @param mainType the fully qualified class name to run may be null if it is a view
-	 * @param pluginId the name of the plugin which contains the main class
-	 */
-	public ItemDescriptor(String id, String name, String description,
-		Image icon, String view, String mainType, String pluginId, IConfigurationElement element) {
-		this.id = id;
-		this.name = name;
-		this.description = description;
-		this.icon = icon;
-		this.view = view;
-		this.mainType = mainType;
-		this.pluginId = pluginId;
-		this.element = element;
-	}
-
-	/**
-	 * Creates and returns an instance of the extension's specified type,
-	 * or <code>null</code> if no type was specified by the extension.
-	 * 
-	 * @return an instance of the extension's specified type or <code>null</code>
-	 */
-	public Object createItemInstance() throws CoreException {
-		if (element == null) return null;
-		return element.createExecutableExtension(LauncherPlugin.LAUNCH_ITEMS_XML_PROGRAM_CLASS);
-	}
-
-	/**
-	 * Returns the ID for this program.
-	 *
-	 * @return the user-specified ID for this program
-	 */
-	public String getId() {
-		return id;
-	}
-	
-	/**
-	 * Returns the translated name for the program.
-	 * 
-	 * @return the name of the program
-	 */
-	public String getName() {
-		return name;
-	}
-	
-	/**
-	 * Returns a short description for the program.
-	 * 
-	 * @return a newline-delimited string describing the program, null if no description is available
-	 */
-	public String getDescription() {
-		return description;
-	}
-
-	/**
-	 * Returns an icon for this descriptor
-	 * 
-	 * @returns an icon, null if the item is a folder
-	 */
-	public Image getIcon() {
-		return icon;
-	}
-	
-	/**
-	 * Returns the host view for the program.
-	 * 
-	 * @return the host view, null if the item is a standalone program.
-	 */
-	public String getView () {
-		return view;
-	}
-	
-	/**
-	 * Returns the fully qualified class to run
-	 * for the program.
-	 * 
-	 * @return the class to run for the program.
-	 */
-	public String getMainType () {
-		return mainType;
-	}
-	
-	/**
-	 * Returns the name of the plugin that contains the program.
-	 * 
-	 * @return the name of the plugin that contains the program.
-	 */
-	public String getPluginId () {
-		return pluginId;
-	}
-	
-	/**
-	 * Determines if an item is a folder.
-	 *
-	 * @return true if the item is a folder
-	 */
-	public boolean isFolder() {
-		return (mainType == null && view == null);
-	}
-	
-	/**
-	 * Determines the equality of descriptors.
-	 * 
-	 * @return true if this.getId().equalsIgnoreCase(other.getId())
-	 */
-	public boolean equals(Object other) {
-		if (other instanceof ItemDescriptor) {
-			ItemDescriptor otherDescriptor = (ItemDescriptor) other;
-			return getId().equalsIgnoreCase(otherDescriptor.getId());
-		}
-		return false;
-	}
-	
-	/**
-	 * Produces a hashcode.
-	 * 
-	 * @return the hashcode
-	 */
-	public int hashCode() {
-		return id.toUpperCase().hashCode();
-	}
-}
diff --git a/examples/org.eclipse.swt.examples.launcher/src/org/eclipse/swt/examples/launcher/ItemTreeNode.java b/examples/org.eclipse.swt.examples.launcher/src/org/eclipse/swt/examples/launcher/ItemTreeNode.java
deleted file mode 100755
index 06030a5..0000000
--- a/examples/org.eclipse.swt.examples.launcher/src/org/eclipse/swt/examples/launcher/ItemTreeNode.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.examples.launcher;
-
-
-/**
- * Internal class used to store tree structures of ItemDescriptors
- */
-class ItemTreeNode {
-	private ItemTreeNode nextSibling;
-	private ItemTreeNode firstChild;
-	private ItemDescriptor descriptor;
-
-	/**
-	 * Constructs a leaf ItemTreeNode with a given descriptor.
-	 * 
-	 * @param descriptor the descriptor
-	 */
-	public ItemTreeNode(ItemDescriptor descriptor) {
-		this.descriptor = descriptor;
-	}
-
-	/**
-	 * Adds a node to the Tree in sorted order by name.
-	 * 
-	 * @param node the node to add. Note that node.nextSibling must be null
-	 */
-	public void addSortedNode(ItemTreeNode node) {
-		if (firstChild == null) {
-			firstChild = node;
-		} else if (firstChild.descriptor.getName().compareTo(node.descriptor.getName()) > 0) {
-			node.nextSibling = firstChild;
-			firstChild = node;
-		} else {
-			ItemTreeNode cursor;
-			for (cursor = firstChild; cursor.nextSibling != null; cursor = cursor.nextSibling) {
-				ItemTreeNode sibling = cursor.nextSibling;
-				if (sibling.descriptor.getName().compareTo(node.descriptor.getName()) > 0) break;
-			}
-			node.nextSibling = cursor.nextSibling;
-			cursor.nextSibling = node;
-		}
-	}
-	
-	/**
-	 * Returns the descriptor for this node.
-	 * 
-	 * @return the descriptor
-	 */
-	public ItemDescriptor getDescriptor() {
-		return descriptor;
-	}
-
-	/**
-	 * Returns the next sibling of this node.
-	 * 
-	 * @return the next sibling, or null if none
-	 */
-	public ItemTreeNode getNextSibling() {
-		return nextSibling;
-	}
-
-	/**
-	 * Returns the first child of this node.
-	 * 
-	 * @return the first child, or null if none
-	 */
-	public ItemTreeNode getFirstChild() {
-		return firstChild;
-	}
-}
diff --git a/examples/org.eclipse.swt.examples.launcher/src/org/eclipse/swt/examples/launcher/LauncherPlugin.java b/examples/org.eclipse.swt.examples.launcher/src/org/eclipse/swt/examples/launcher/LauncherPlugin.java
deleted file mode 100755
index 9b641be..0000000
--- a/examples/org.eclipse.swt.examples.launcher/src/org/eclipse/swt/examples/launcher/LauncherPlugin.java
+++ /dev/null
@@ -1,396 +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.swt.examples.launcher;
-
-
-import java.io.*;
-import java.net.*;
-import java.text.*;
-import java.util.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.ui.plugin.*;
-import org.osgi.framework.*;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class LauncherPlugin extends AbstractUIPlugin {
-	//The shared instance.
-	private static LauncherPlugin plugin;
-	private static ResourceBundle resourceBundle;
-
-	public static final String
-		LAUNCH_ITEMS_POINT_ID = "org.eclipse.swt.examples.launcher.launchItems",
-		LAUNCH_ITEMS_XML_CATEGORY = "category",
-		LAUNCH_ITEMS_XML_ITEM = "item",
-		LAUNCH_ITEMS_XML_ITEM_ICON = "icon",
-		LAUNCH_ITEMS_XML_ITEM_DESCRIPTION = "description",
-		LAUNCH_ITEMS_XML_PROGRAM = "program",
-		LAUNCH_ITEMS_XML_PROGRAM_PLUGIN = "pluginId",
-		LAUNCH_ITEMS_XML_PROGRAM_CLASS = "mainClass",
-		LAUNCH_ITEMS_XML_VIEW = "view",
-		LAUNCH_ITEMS_XML_VIEW_VIEWID = "viewId",
-		LAUNCH_ITEMS_XML_ATTRIB_ID = "id",
-		LAUNCH_ITEMS_XML_ATTRIB_NAME = "name",
-		LAUNCH_ITEMS_XML_ATTRIB_ENABLED = "enabled",
-		LAUNCH_ITEMS_XML_ATTRIB_CATEGORY = "category",
-		LAUNCH_ITEMS_XML_VALUE_TRUE = "true",
-		LAUNCH_ITEMS_XML_VALUE_FALSE = "false";		
-
-	static final int
-		liClosedFolder = 0,
-		liOpenFolder = 1,
-		liGenericExample = 2;
-	static final String[] imageLocations = {
-		"icons/closedFolder.gif",
-		"icons/openFolder.gif",
-		"icons/generic_example.gif" };
-	static Image images[];
-
-	/**
-	 * Constructs the LauncherPlugin.
-	 */
-	public LauncherPlugin() {
-		super();
-		plugin = this;
-	}
-
-    public void start(BundleContext context) throws Exception {
-        super.start(context);
-        resourceBundle = Platform.getResourceBundle(getBundle());
-    }
-    
-	/**
-	 * Clean up
-	 */
-	public void stop(BundleContext context) throws Exception {
-		freeResources();
-		super.stop(context);
-	}
-
-	/**
-	 * Returns the shared instance.
-	 */
-	public static LauncherPlugin getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * Loads the resources
-	 */
-	public static void initResources() {
-		if (images == null) {
-			images = new Image[imageLocations.length];
-				
-			for (int i = 0; i < imageLocations.length; ++i) {
-				images[i] = getImageFromPlugin(plugin.getBundle(), imageLocations[i]);
-				if (images[i] == null) {
-					freeResources();
-					logError(getResourceString("error.CouldNotLoadResources"), null);
-					throw new IllegalStateException();
-				}
-			}
-		}	
-	}
-
-	/**
-	 * Frees the resources
-	 */
-	public static void freeResources() {
-		if (images != null) {
-			for (int i = 0; i < images.length; ++i) {
-				final Image image = images[i];
-				if (image != null) image.dispose();
-			}
-			images = null;
-		}
-	}
-
-	/**
-	 * Log an error to the ILog for this plugin
-	 * 
-	 * @param message the localized error message text
-	 * @param exception the associated exception, or null
-	 */
-	public static void logError(String message, Throwable exception) {
-		plugin.getLog().log(new Status(
-			IStatus.ERROR, plugin.getBundle().getSymbolicName(), 0, message, exception));
-	}
-
-	/**
-	 * Returns a string from the resource bundle.
-	 * We don't want to crash because of a missing String.
-	 * Returns the key if not found.
-	 */
-	public static String getResourceString(String key) {
-		try {
-			return resourceBundle.getString(key);
-		} catch (MissingResourceException e) {
-			return key;
-		} catch (NullPointerException e) {
-			return "!" + key + "!";
-		}			
-	}
-
-	/**
-	 * Returns a string from the resource bundle and binds it
-	 * with the given arguments. If the key is not found,
-	 * return the key.
-	 */
-	public static String getResourceString(String key, Object[] args) {
-		try {
-			return MessageFormat.format(getResourceString(key), args);
-		} catch (MissingResourceException e) {
-			return key;
-		} catch (NullPointerException e) {
-			return "!" + key + "!";
-		}
-	}
-
-	/**
-     * Constructs a list of available programs from registered extensions.
-     * 
-     * @return an ItemTreeNode representing the root of a tree of items (the root is not to be displayed)
-	 */
-	public static ItemTreeNode getLaunchItemTree() {
-		ItemTreeNode categoryTree =
-			new ItemTreeNode(new ItemDescriptor("<<Root>>", "<<Root>>", null, null, null, null, null, null));
-
-		// get the platform's public plugin registry
-		IExtensionRegistry extensionRegistry = Platform.getExtensionRegistry();
-		// retrieve all configuration elements registered at our launchItems extension-point
-		IConfigurationElement[] configurationElements =
-			extensionRegistry.getConfigurationElementsFor(LAUNCH_ITEMS_POINT_ID);
-			
-		if (configurationElements == null || configurationElements.length == 0) {
-			logError(getResourceString("error.CouldNotFindRegisteredExtensions"), null);
-			return categoryTree;
-		}
-		
-		/* Collect all launch categories -- coalesce those with same ID */
-		HashMap idMap = new HashMap();
-		for (int i = 0; i < configurationElements.length; ++i) {
-			final IConfigurationElement ce = configurationElements[i];
-			final String ceName = ce.getName();
-			final String attribId = getItemAttribute(ce, LAUNCH_ITEMS_XML_ATTRIB_ID, null);
-			
-			if (idMap.containsKey(attribId)) continue;
-			if (ceName.equalsIgnoreCase(LAUNCH_ITEMS_XML_CATEGORY)) {
-				final String attribName = getItemName(ce); 
-				ItemDescriptor theDescriptor = new ItemDescriptor(attribId, attribName,
-					getItemDescription(ce), null, null, null, null, ce);
-				idMap.put(attribId, new ItemTreeNode(theDescriptor));
-			}
-		}
-		
-		/* Generate launch category hierarchy */
-		Set tempIdSet = new HashSet(); // used to prevent duplicates from being entered into the tree
-		for (int i = 0; i < configurationElements.length; ++i) {
-			final IConfigurationElement ce = configurationElements[i];
-			final String ceName = ce.getName();
-			final String attribId = getItemAttribute(ce, LAUNCH_ITEMS_XML_ATTRIB_ID, null);
-			
-			if (tempIdSet.contains(attribId)) continue;
-			if (ceName.equalsIgnoreCase(LAUNCH_ITEMS_XML_CATEGORY)) {
-				final ItemTreeNode theNode = (ItemTreeNode) idMap.get(attribId);
-				addItemByCategory(ce, categoryTree, theNode, idMap);
-				tempIdSet.add(attribId);
-			}
-		}
-		
-		/* Generate program tree */
-		for (int i = 0; i < configurationElements.length; ++i) {
-			final IConfigurationElement ce = configurationElements[i];
-			final String ceName = ce.getName();
-			final String attribId = getItemAttribute(ce, LAUNCH_ITEMS_XML_ATTRIB_ID, null);
-
-			if (idMap.containsKey(attribId)) continue;
-			if (ceName.equalsIgnoreCase(LAUNCH_ITEMS_XML_CATEGORY)) {
-				// ignore
-			} else if (ceName.equalsIgnoreCase(LAUNCH_ITEMS_XML_ITEM)) {
-				final String enabled = getItemAttribute(ce, LAUNCH_ITEMS_XML_ATTRIB_ENABLED, 
-					LAUNCH_ITEMS_XML_VALUE_TRUE);
-				if (enabled.equalsIgnoreCase(LAUNCH_ITEMS_XML_VALUE_FALSE)) continue;
-				ItemDescriptor theDescriptor = createItemDescriptor(ce, attribId);				
-			
-				if (theDescriptor != null) {
-					final ItemTreeNode theNode = new ItemTreeNode(theDescriptor);
-					addItemByCategory(ce, categoryTree, theNode, idMap);
-					idMap.put(attribId, theNode);
-				}
-			}
-		}
-		return categoryTree;
-	}
-
-				
-	/**
-	 * Adds an item to the category tree.
-	 */
-	private static void addItemByCategory(IConfigurationElement ce, ItemTreeNode root,
-		ItemTreeNode theNode, HashMap idMap) {
-		final String attribCategory = getItemAttribute(ce, LAUNCH_ITEMS_XML_ATTRIB_CATEGORY, null);
-				
-		// locate the parent node
-		ItemTreeNode parentNode = null;
-		if (attribCategory != null) {
-			parentNode = (ItemTreeNode) idMap.get(attribCategory);
-		}
-		if (parentNode == null) parentNode = root;
-				
-		// add the item
-		parentNode.addSortedNode(theNode);
-	}
-
-	/**
-	 * Creates an ItemDescriptor from an XML definition.
-	 * 
-	 * @param ce the IConfigurationElement describing the item
-	 * @param attribId the attribute id
-	 * @return a new ItemDescriptor, or null if an error occurs
-	 */
-	private static ItemDescriptor createItemDescriptor(IConfigurationElement ce, String attribId) {
-		final String attribName = getItemName(ce);
-		final Image  attribIcon = getItemIcon(ce);
-		final String attribDescription = getItemDescription(ce);
-
-		IConfigurationElement viewCE = getItemElement(ce, LAUNCH_ITEMS_XML_VIEW);
-		if (viewCE != null) {
-			//Item is a view
-			final String attribView = getItemAttribute(viewCE, LAUNCH_ITEMS_XML_VIEW_VIEWID, null);		
-			if (attribView == null) {
-				logError(getResourceString("error.IncompleteViewLaunchItem",
-					new Object[] { attribId } ), null);
-				return null;
-			}
-			return new ItemDescriptor(attribId, attribName, attribDescription,
-					attribIcon, attribView, null, null, viewCE);
-		} else {
-			//Item is a standalone
-			IConfigurationElement programCE = getItemElement(ce, LAUNCH_ITEMS_XML_PROGRAM);
-			if (programCE != null) {
-				final String attribPluginId = getItemAttribute(programCE, LAUNCH_ITEMS_XML_PROGRAM_PLUGIN, null);
-				final String attribClass    = getItemAttribute(programCE, LAUNCH_ITEMS_XML_PROGRAM_CLASS, null);
-				if (attribClass == null || attribPluginId == null) {
-					logError(getResourceString("error.IncompleteProgramLaunchItem",
-					new Object[] { attribId } ), null);
-					return null;
-				}
-				return new ItemDescriptor(attribId, attribName, attribDescription,
-					attribIcon, null, attribClass, attribPluginId, programCE);
-			} else {
-				logError(getResourceString("error.IncompleteLaunchItem",
-					new Object[] { attribId } ), null);
-				return null;
-			}
-		}
-	}
-
-	/**
-	 * Returns the first instance of a particular child XML element.
-	 * 
-	 * @param ce the IConfigurationElement parent
-	 * @param element the name of the element to fetch
-	 * @return the element's IConfigurationElement, or null if not found
-	 */
-	private static IConfigurationElement getItemElement(IConfigurationElement ce, String element) {
-		IConfigurationElement[] elementCEs = ce.getChildren(element);
-		return (elementCEs != null && elementCEs.length != 0) ? elementCEs[0] : null;
-	}
-
-	/**
-	 * Returns the value of an XML attribute for an item.
-	 * 
-	 * @param ce the IConfigurationElement describing the item
-	 * @param attribute the attribute to fetch
-	 * @param defaultValue the value to return if the attribute is not found
-	 * @return the attribute value
-	 */
-	private static String getItemAttribute(IConfigurationElement ce, String attribute, String defaultValue) {
-		String value = ce.getAttribute(attribute);
-		return (value != null) ? value : defaultValue;
-	}
-
-	/**
-	 * Returns the description string given the IConfigurationElement for an item.
-	 * 
-	 * @param ce the IConfigurationElement describing the item
-	 * @return a newline-delimited string that describes this item, or null if none
-	 */
-	private static String getItemDescription(IConfigurationElement ce) {
-		String description = getItemAttribute(ce, LAUNCH_ITEMS_XML_ITEM_DESCRIPTION, "");
-		return (description.length() == 0) ? null : description;
-	}
-
-	/**
-	 * Returns the name of an item.
-	 * 
-	 * @param ce the IConfigurationElement describing the item
-	 * @return the attribute value
-	 */
-	private static String getItemName(IConfigurationElement ce) {
-		return getItemAttribute(ce, LAUNCH_ITEMS_XML_ATTRIB_NAME,
-			getResourceString("launchitem.Missing.name"));
-	}
-
-
-	/**
-	 * Returns the icon for an item.
-	 * 
-	 * @param ce the IConfigurationElement describing the item
-	 * @return an icon
-	 */
-	private static Image getItemIcon(IConfigurationElement ce) {
-		String iconPath = getItemAttribute(ce, LAUNCH_ITEMS_XML_ITEM_ICON, "");
-		if (iconPath.length() != 0) {
-			String symbolicName = ce.getDeclaringExtension().getContributor().getName();
-			Bundle bundle = Platform.getBundle(symbolicName);
-			Image icon = getImageFromPlugin(bundle, iconPath);
-			if (icon != null) {
-				Image[] newImages = new Image[images.length + 1];
-				System.arraycopy(images, 0, newImages, 0, images.length);
-				newImages[images.length] = icon;
-				images = newImages;
-				return icon;
-			}
-		}
-		return images[liGenericExample];
-	}
-
-	/**
-	 * Gets an image from a path relative to the plugin install directory.
-	 *
-	 * @param bundle the plugin descriptor for the plugin with the image
-	 * @param iconPath the path relative to the install directory
-	 * @return the image, or null if not found
-	 */
-	private static Image getImageFromPlugin(Bundle bundle, String iconPath) {
-		InputStream is = null;
-		try {
-			URL installUrl = bundle.getEntry("/");
-			URL url = new URL(installUrl, iconPath);
-			is = url.openConnection().getInputStream();
-			ImageData source = new ImageData(is);
-			ImageData mask = source.getTransparencyMask();
-			Image image = new Image(null, source, mask);
-			return image;
-		} catch (Throwable ex) {
-			return null;
-		} finally {
-			try {
-				if (is != null) is.close();
-			} catch (IOException e) {
-			}
-		}
-	}
-}
diff --git a/examples/org.eclipse.swt.examples.launcher/src/org/eclipse/swt/examples/launcher/LauncherView.java b/examples/org.eclipse.swt.examples.launcher/src/org/eclipse/swt/examples/launcher/LauncherView.java
deleted file mode 100755
index b2c934f..0000000
--- a/examples/org.eclipse.swt.examples.launcher/src/org/eclipse/swt/examples/launcher/LauncherView.java
+++ /dev/null
@@ -1,239 +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.swt.examples.launcher;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.*;
-import org.eclipse.ui.part.*;
-import java.lang.reflect.*;
-
-/**
- * Launcher uses <code>org.eclipse.swt</code> 
- * to launch the other registered examples.
- * 
- * @see ViewPart
- */
-public class LauncherView extends ViewPart {
-	private Shell workbenchShell;
-	
-	private Tree launchTree;
-	private Text descriptionText;
-	private Button runButton;
-
-	/**
-	 * Constructs a LauncherView.
-	 */
-	public LauncherView() {
-		LauncherPlugin.initResources();
-	}
-
-	/**
-	 * Creates the example.
-	 * 
-	 * @see ViewPart#createPartControl
-	 */
-	public void createPartControl(Composite parent) {
-		workbenchShell = getSite().getShell();
-		parent.setLayout(new SplitLayout());
-				
-		Group launchGroup = new Group(parent, SWT.NONE);
-		launchGroup.setText(LauncherPlugin.getResourceString("view.launchGroup.text"));
-		
-		GridLayout gridLayout = new GridLayout();
-		gridLayout.numColumns = 2;
-		launchGroup.setLayout(gridLayout);
-
-		launchTree = new Tree(launchGroup, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
-		GridData gridData = new GridData(GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL);
-		gridData.horizontalSpan = 2;
-		launchTree.setLayoutData(gridData);
-		launchTree.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent event) {
-				final ItemDescriptor item = getSelectedItem();
-				setDescriptionByItem(item);
-			}
-			public void widgetDefaultSelected(SelectionEvent event) {
-				final ItemDescriptor item = getSelectedItem();
-				setDescriptionByItem(item);
-				if (item.getMainType() == null && item.getView() == null) {
-					// Category selected, so just expand/colapse the node
-					TreeItem treeItem = (TreeItem) event.item;
-					boolean expanded = treeItem.getExpanded();
-					if (treeItem != null) treeItem.setExpanded(!expanded);
-					treeItem.setImage(LauncherPlugin.images[expanded ? LauncherPlugin.liClosedFolder : LauncherPlugin.liOpenFolder]);
-				} else {
-					launchItem(getSelectedItem());
-				}
-			}
-		});
-		launchTree.addTreeListener(new TreeListener() {
-			public void treeCollapsed(TreeEvent event) {
-				final TreeItem item = (TreeItem) event.item;
-				if (item == null) return;
-				item.setImage(LauncherPlugin.images[LauncherPlugin.liClosedFolder]);
-			}
-			public void treeExpanded(TreeEvent event) {
-				final TreeItem item = (TreeItem) event.item;
-				if (item == null) return;
-				item.setImage(LauncherPlugin.images[LauncherPlugin.liOpenFolder]);
-			}
-		});
-
-		runButton = new Button(launchGroup, SWT.PUSH);
-		runButton.setText(LauncherPlugin.getResourceString("view.launchButton.text"));
-		runButton.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent event) {
-				launchItem(getSelectedItem());
-			}
-			public void widgetDefaultSelected(SelectionEvent event) {
-			}
-		});
-
-		Group descriptionGroup = new Group(parent, SWT.NONE);
-		descriptionGroup.setText(LauncherPlugin.getResourceString("view.descriptionGroup.text"));
-		descriptionGroup.setLayout(new FillLayout());
-		
-		descriptionText = new Text(descriptionGroup, SWT.MULTI | SWT.BORDER |
-			SWT.WRAP | SWT.V_SCROLL | SWT.READ_ONLY);
-
-		setDescriptionByItem(null);
-		setItemDescriptors(LauncherPlugin.getLaunchItemTree());
-	}
-
-	/**
-	 * Called when we must grab focus.
-	 * 
-	 * @see org.eclipse.ui.part.ViewPart#setFocus
-	 */
-	public void setFocus()  {
-		launchTree.setFocus();
-		runButton.getShell().setDefaultButton(runButton);
-	}
-
-	/**
-	 * Called when the View is to be disposed
-	 */	
-	public void dispose() {
-		workbenchShell = null;
-		launchTree = null;
-		descriptionText = null;
-		runButton = null;		
-		super.dispose();
-	}
-
-	/**
-	 * Installs a new launch list.
-	 * 
-	 * @param newRoot the new tree of launch items for the UI
-	 */
-	public void setItemDescriptors(final ItemTreeNode newRoot) {
-		if (workbenchShell == null) return;
-		workbenchShell.getDisplay().syncExec(new Runnable() {
-			public void run() {
-				if ((launchTree == null) || (launchTree.isDisposed())) return;
-				launchTree.removeAll();
-			
-				for (ItemTreeNode node = newRoot.getFirstChild(); node != null;
-					node = node.getNextSibling()) {
-					doNode(node, new TreeItem(launchTree, SWT.NONE)); // top-level TreeItem
-				}
-			}
-			private void addGroup(TreeItem parent, ItemTreeNode node) {
-				for (;node != null; node = node.getNextSibling()) {
-					doNode(node, new TreeItem(parent, SWT.NONE)); // TreeItem at depth > 0
-				}
-			}
-			private void doNode(ItemTreeNode node, TreeItem treeItem) {
-				final ItemDescriptor item = node.getDescriptor();
-				treeItem.setText(item.getName());
-				treeItem.setData(item);
-				if (node.getDescriptor().isFolder()) {
-					treeItem.setExpanded(false);
-					treeItem.setImage(LauncherPlugin.images[LauncherPlugin.liClosedFolder]);
-				} else {
-					treeItem.setImage(node.getDescriptor().getIcon());
-				}
-				addGroup(treeItem, node.getFirstChild());
-			}
-		});
-	}
-
-	/**
-	 * Runs the specified launch item.
-	 * 
-	 * @param itemDescriptor the launch item to execute
-	 */
-	private void launchItem(ItemDescriptor itemDescriptor) {
-		/* Case 1: The launch item is a view */
-		String pluginViewId = itemDescriptor.getView ();
-		if (pluginViewId != null) {
-			final IWorkbenchPart workbenchPart = this;
-			final IWorkbenchPartSite workbenchPartSite = workbenchPart.getSite();
-			final IWorkbenchPage workbenchPage = workbenchPartSite.getPage();
-			try {
-				workbenchPage.showView(pluginViewId);
-			} catch (PartInitException e) {
-				LauncherPlugin.logError(LauncherPlugin.getResourceString("run.error.Invocation"), e);
-			}
-			return;
-		}
-		/* Case 2: The launch item is a standalone program */
-		if (workbenchShell == null) return;
-		try {
-			Object instance = itemDescriptor.createItemInstance();
-			if (instance != null) {
-				Display display = workbenchShell.getDisplay();
-				Method openMethod = instance.getClass().getDeclaredMethod("open", new Class[] {Display.class});
-				openMethod.invoke(instance, new Object[] {display});
-			}
-		} catch (NoSuchMethodException e) {
-			LauncherPlugin.logError(LauncherPlugin.getResourceString("run.error.DoesNotImplementMethod"), null);
-		} catch (Exception e) {
-			LauncherPlugin.logError(LauncherPlugin.getResourceString("run.error.CouldNotInstantiateClass"), e);
-		}		
-	}
-
-	/**
-	 * Obtains the selected launch item.
-	 * 
-	 * @return the currently selected ItemDescriptor
-	 */
-	private ItemDescriptor getSelectedItem() {
-		final TreeItem[] selections = launchTree.getSelection();
-		if (selections.length == 0) return null;
-		final ItemDescriptor itemDescriptor = (ItemDescriptor) selections[0].getData();
-		return itemDescriptor;
-	}
-	
-	/**
-	 * Sets the currently visible description text to reflect that of a particular ItemDescriptor.
-	 *
-	 * @param itemDescriptor the launch item whose description is to be displayed, or null if none
-	 */
-	private void setDescriptionByItem(ItemDescriptor itemDescriptor) {
-		String description;
-		if (itemDescriptor == null) {
-			description = LauncherPlugin.getResourceString("launchitem.Null.description");
-			if (runButton != null) runButton.setEnabled(false);
-		} else {
-			description = itemDescriptor.getDescription();
-			if (description == null)
-				description = LauncherPlugin.getResourceString("launchitem.Missing.description");
-			if (runButton != null) {
-				runButton.setEnabled(itemDescriptor.getView() != null || itemDescriptor.getMainType() != null);
-			}
-		}
-		descriptionText.setText(description);
-	}
-}
diff --git a/examples/org.eclipse.swt.examples.launcher/src/org/eclipse/swt/examples/launcher/SplitLayout.java b/examples/org.eclipse.swt.examples.launcher/src/org/eclipse/swt/examples/launcher/SplitLayout.java
deleted file mode 100755
index 6637af1..0000000
--- a/examples/org.eclipse.swt.examples.launcher/src/org/eclipse/swt/examples/launcher/SplitLayout.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.examples.launcher;
-
- 
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * A Layout class that automatically switches from a horizontal split to a vertical
- * split layout to accomodate changing size conditions.
- * 
- * Later on we might improve this class to take into account the "preferred" size of
- * the widgets.
- */
-public class SplitLayout extends Layout {
-	private static final int
-		splitHorizontally = 0,
-		splitVertically = 1;
-	private int splitDirection = splitHorizontally;
-
-	public int spacing = 3;
-	public int marginTop = 3;
-	public int marginLeft = 3;
-	public int marginRight = 3;
-	public int marginBottom = 3;
-
-	/**
-	 * Creates a new layout
-	 */
-	public SplitLayout() {
-	}
-
-	/**
-	 * @see Layout#computeSize(Composite, int, int, boolean)
-	 */
-	protected Point computeSize(Composite composite, int wHint, int hHint, boolean flushCache) {
-		if (wHint == SWT.DEFAULT) {
-			if (hHint == SWT.DEFAULT) {
-				Point hSplitSize = computeHSplitSize(composite, wHint, hHint, flushCache);
-				Point vSplitSize = computeVSplitSize(composite, wHint, hHint, false);
-				int hSplitArea = hSplitSize.x * hSplitSize.y;
-				int vSplitArea = vSplitSize.x * vSplitSize.y;
-				// Choose direction consuming least area
-				if (hSplitArea < vSplitArea) {
-					splitDirection = splitHorizontally;
-					return hSplitSize;
-				} else {
-					splitDirection = splitVertically;
-					return vSplitSize;
-				}
-			} else {
-				// Constrained in height: split vertically
-				splitDirection = splitVertically;
-				return computeVSplitSize(composite, wHint, hHint, flushCache);
-			}
-		} else {
-			if (hHint == SWT.DEFAULT) {
-				// Constrained in width: split horizontally
-				splitDirection = splitHorizontally;
-				return computeHSplitSize(composite, wHint, hHint, flushCache);
-			} else {
-				if (hHint < wHint) {
-					splitDirection = splitVertically;
-					return computeVSplitSize(composite, wHint, hHint, flushCache);
-				} else {
-					splitDirection = splitHorizontally;
-					return computeHSplitSize(composite, wHint, hHint, flushCache);
-				}					
-			}
-		}
-	}
-	/**
-	 * @see Layout#layout(Composite, boolean)
-	 */
-	protected void layout(Composite composite, boolean flushCache) {
-		Rectangle clientArea = composite.getClientArea();
-		computeSize(composite, clientArea.width, clientArea.height, false);
-		
-		Control[] children = composite.getChildren();
-		clientArea.x += marginLeft;
-		clientArea.y += marginTop;
-		clientArea.width -= marginRight + marginLeft;
-		clientArea.height -= marginBottom + marginTop;
-		Point position = new Point(clientArea.x, clientArea.y);
-
-		for (int i = 0; i < children.length; ++i) {
-			final Control child = children[i];
-			final Rectangle bounds;
-			if (splitDirection == splitHorizontally) {
-				int height = clientArea.height / children.length;
-				bounds = new Rectangle(position.x, position.y, clientArea.width, height);
-				position.y += height + spacing;
-			} else {
-				int width = clientArea.width / children.length;
-				bounds = new Rectangle(position.x, position.y, width, clientArea.height);
-				position.x += width + spacing;
-			}
-			bounds.width = Math.max(bounds.width, 0);
-			bounds.height = Math.max(bounds.height, 0);
-			child.setBounds(bounds);
-		}
-	}
-
-	private Point computeHSplitSize(Composite composite, int wHint, int hHint, boolean flushCache) {
-		Point size = new Point(marginLeft + marginRight, marginTop + marginBottom);
-		Control[] children = composite.getChildren();
-		for (int i = 0; i < children.length; ++i) {
-			final Control child = children[i];
-
-			Point childSize = child.computeSize(wHint, hHint, flushCache);
-			size.x = Math.max(size.x, childSize.x);
-			size.y += childSize.y + spacing;
-		}
-		return size;
-	}
-
-	private Point computeVSplitSize(Composite composite, int wHint, int hHint, boolean flushCache) {
-		Point size = new Point(marginLeft + marginRight, marginTop + marginBottom);
-		Control[] children = composite.getChildren();
-		for (int i = 0; i < children.length; ++i) {
-			final Control child = children[i];
-
-			Point childSize = child.computeSize(wHint, hHint, flushCache);
-			size.x += childSize.x + spacing;
-			size.y = Math.max(size.y, childSize.y);
-		}
-		return size;
-	}
-}
diff --git a/examples/org.eclipse.swt.examples.layouts/.classpath b/examples/org.eclipse.swt.examples.layouts/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/examples/org.eclipse.swt.examples.layouts/.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.swt.examples.layouts/.cvsignore b/examples/org.eclipse.swt.examples.layouts/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/examples/org.eclipse.swt.examples.layouts/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.examples.layouts/.project b/examples/org.eclipse.swt.examples.layouts/.project
deleted file mode 100644
index a6fc2cb..0000000
--- a/examples/org.eclipse.swt.examples.layouts/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.swt.examples.layouts</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.swt.examples.layouts/.settings/org.eclipse.jdt.core.prefs b/examples/org.eclipse.swt.examples.layouts/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 465362e..0000000
--- a/examples/org.eclipse.swt.examples.layouts/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-#Mon Dec 11 15:14:03 EST 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.swt.examples.layouts/about.html b/examples/org.eclipse.swt.examples.layouts/about.html
deleted file mode 100644
index 4602330..0000000
--- a/examples/org.eclipse.swt.examples.layouts/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.swt.examples.layouts/build.properties b/examples/org.eclipse.swt.examples.layouts/build.properties
deleted file mode 100644
index 68e55d5..0000000
--- a/examples/org.eclipse.swt.examples.layouts/build.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.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 = doc-html/,\
-               icons/,\
-               plugin.properties,\
-               plugin.xml,\
-               about.html,\
-               *.jar
-
-src.includes = about.html
-
-source.layouts.jar = src/
diff --git a/examples/org.eclipse.swt.examples.layouts/doc-html/swt_layout_ex.html b/examples/org.eclipse.swt.examples.layouts/doc-html/swt_layout_ex.html
deleted file mode 100644
index 4a829fc..0000000
--- a/examples/org.eclipse.swt.examples.layouts/doc-html/swt_layout_ex.html
+++ /dev/null
@@ -1,35 +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>SWT - Layout Example</title>
-</head>
-<body>
-
-<h2>SWT example - Layouts</h2>
-
-<p>
-This example is a simple demonstration of common SWT layouts. 
-It consists of a tab folder where each tab in the folder allows the 
-user to interact with a different SWT layout.
-The user can insert widgets into a layout and set the values of the layout data
-using a property sheet.  When the user has a suitable arrangement, the underlying
-code can be generated by clicking on the <strong>Code</strong> button.
-</p>
-
-<h3>Running the example</h3>
-<p>
-Follow the <a href="../../org.eclipse.swt.examples/doc-html/swt_manual_setup.html">SWT standalone examples setup</a> 
-instructions to install and run the example from your workspace.
-</p>
-<p>
-The "Main" class is <code>org.eclipse.swt.examples.layoutexample.LayoutExample</code>.
-</p>
-<p>
-This example can also be run using the <a href="../../org.eclipse.swt.examples.launcher/doc-html/swt_launcher_ex.html">Example Launcher</a>.
-Select the <strong>Layouts</strong> item from the <strong>Workbench Views</strong> category and click <strong>Run</strong>.
-</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.examples.layouts/icons/layouts_example.gif b/examples/org.eclipse.swt.examples.layouts/icons/layouts_example.gif
deleted file mode 100644
index d945dde..0000000
--- a/examples/org.eclipse.swt.examples.layouts/icons/layouts_example.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.layouts/plugin.properties b/examples/org.eclipse.swt.examples.layouts/plugin.properties
deleted file mode 100644
index 810bdb0..0000000
--- a/examples/org.eclipse.swt.examples.layouts/plugin.properties
+++ /dev/null
@@ -1,28 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.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
-plugin.SWTLayoutExample.name = SWT Layout Example Plugin
-category.SWTExamples.name = SWT Examples
-view.LayoutExample.name = SWT Layouts
-
-launchcategory.SWTViewExamples.name = Workbench Views
-launchcategory.SWTViewExamples.description = \
-	A collection of Standard Widget Toolkit examples that run as Views inside the Workbench.  \
-	These examples will create a new View in the current Perspective.
-
-launchitem.LayoutExample.name = Layouts
-launchitem.LayoutExample.description = \
-	This example is a simple demonstration of common SWT layouts. \n\n\
-	It consists of a tab folder where each tab allows the \
-	user to interact with a different SWT layout.\
-	The user can insert widgets into a layout and set the values of the layout data \
-	using a property sheet.  When the user has a suitable arrangement, code can be \
-	generated by clicking on the Code button.
diff --git a/examples/org.eclipse.swt.examples.layouts/plugin.xml b/examples/org.eclipse.swt.examples.layouts/plugin.xml
deleted file mode 100644
index 22523b9..0000000
--- a/examples/org.eclipse.swt.examples.layouts/plugin.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.swt.examples.layouts"
-   name="%plugin.SWTLayoutExample.name"
-   version="3.1.100.qualifier"
-   provider-name="%providerName"
-   class="org.eclipse.swt.examples.layouts.LayoutPlugin">
-
-<!-- Runtime -->
-<!-- Runtime -->
-   <runtime>
-      <library name="layouts.jar">
-      </library>
-   </runtime>
-<!-- Required plugins -->
-   <requires>
-      <import plugin="org.eclipse.ui.ide"/>
-      <import plugin="org.eclipse.ui.views"/>
-      <import plugin="org.eclipse.jface.text"/>
-      <import plugin="org.eclipse.ui.workbench.texteditor"/>
-      <import plugin="org.eclipse.ui.editors"/>
-      <import plugin="org.eclipse.core.runtime"/>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.swt"/>
-      <import plugin="org.eclipse.swt.examples"/>
-   </requires>
-
-
-<!-- Extension points -->
-<!-- Extensions -->
-   <extension
-         point="org.eclipse.ui.views">
-      <view
-            name="%view.LayoutExample.name"
-            icon="icons/layouts_example.gif"
-            category="org.eclipse.swt.examples.category"
-            class="org.eclipse.swt.examples.layouts.LayoutView"
-            id="org.eclipse.swt.examples.layouts.view">
-      </view>
-   </extension>
-   <extension
-         point="org.eclipse.swt.examples.launcher.launchItems">
-      <category
-            name="%launchcategory.SWTViewExamples.name"
-            description="%launchcategory.SWTViewExamples.description"
-            id="org.eclipse.swt.examples.launchViewCategory">
-      </category>
-      <item
-            name="%launchitem.LayoutExample.name"
-            icon="icons/layouts_example.gif"
-            description="%launchitem.LayoutExample.description"
-            category="org.eclipse.swt.examples.launchViewCategory"
-            id="org.eclipse.swt.examples.layouts.viewlauncher">
-         <view
-               viewId="org.eclipse.swt.examples.layouts.view">
-         </view>
-      </item>
-   </extension>
-
-</plugin>
diff --git a/examples/org.eclipse.swt.examples.layouts/src/import.properties b/examples/org.eclipse.swt.examples.layouts/src/import.properties
deleted file mode 100644
index 8241dac..0000000
--- a/examples/org.eclipse.swt.examples.layouts/src/import.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# Persist project settings for later import 
-natures = org.eclipse.jdt.core.javanature; org.eclipse.pde.PluginNature
-builders = org.eclipse.jdt.core.javabuilder; org.eclipse.pde.ManifestBuilder; org.eclipse.pde.SchemaBuilder
-var.ECLIPSE_PLUGINS = <<ECLIPSE_PLUGINS>>
diff --git a/examples/org.eclipse.swt.examples.layouts/src/org/eclipse/swt/examples/layouts/LayoutPlugin.java b/examples/org.eclipse.swt.examples.layouts/src/org/eclipse/swt/examples/layouts/LayoutPlugin.java
deleted file mode 100644
index 3dd2da3..0000000
--- a/examples/org.eclipse.swt.examples.layouts/src/org/eclipse/swt/examples/layouts/LayoutPlugin.java
+++ /dev/null
@@ -1,26 +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.swt.examples.layouts;
-
-
-import org.eclipse.ui.plugin.*;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class LayoutPlugin extends AbstractUIPlugin {
-	/**
-	 * The constructor.
-	 */
-	public LayoutPlugin() {
-		super();
-	}
-}
diff --git a/examples/org.eclipse.swt.examples.layouts/src/org/eclipse/swt/examples/layouts/LayoutView.java b/examples/org.eclipse.swt.examples.layouts/src/org/eclipse/swt/examples/layouts/LayoutView.java
deleted file mode 100644
index cc69b3d..0000000
--- a/examples/org.eclipse.swt.examples.layouts/src/org/eclipse/swt/examples/layouts/LayoutView.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.examples.layouts;
-
- 
-import org.eclipse.swt.examples.layoutexample.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.part.*;
-
-/**
- * <code>Layouts</code> is a simple demonstration
- * of the layouts defined by SWT.  It consists of a workbench
- * view and tab folder where each tab in the folder allows the
- * user to interact with a layout.
- * 
- * @see ViewPart
- */
-public class LayoutView extends ViewPart {
-	LayoutExample instance = null;
-	
-	/**
-	 * Create the example
-	 * 
-	 * @see ViewPart#createPartControl
-	 */
-	public void createPartControl(Composite frame) {
-		instance = new LayoutExample(frame);
-	}
-
-	/**
-	 * Called when we must grab focus.
-	 * 
-	 * @see org.eclipse.ui.part.ViewPart#setFocus
-	 */
-	public void setFocus() {
-		instance.setFocus();
-	}
-
-	/**
-	 * Called when the View is to be disposed
-	 */	
-	public void dispose() {
-		instance.dispose();
-		instance = null;
-		super.dispose();
-	}
-}
diff --git a/examples/org.eclipse.swt.examples.ole.win32/.classpath b/examples/org.eclipse.swt.examples.ole.win32/.classpath
deleted file mode 100755
index 065ac06..0000000
--- a/examples/org.eclipse.swt.examples.ole.win32/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/examples/org.eclipse.swt.examples.ole.win32/.cvsignore b/examples/org.eclipse.swt.examples.ole.win32/.cvsignore
deleted file mode 100755
index c5e82d7..0000000
--- a/examples/org.eclipse.swt.examples.ole.win32/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.examples.ole.win32/.project b/examples/org.eclipse.swt.examples.ole.win32/.project
deleted file mode 100644
index ff00f68..0000000
--- a/examples/org.eclipse.swt.examples.ole.win32/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.swt.examples.ole.win32</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.swt.examples.ole.win32/.settings/org.eclipse.jdt.core.prefs b/examples/org.eclipse.swt.examples.ole.win32/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index aaad869..0000000
--- a/examples/org.eclipse.swt.examples.ole.win32/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-#Mon Dec 11 15:13:54 EST 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.swt.examples.ole.win32/about.html b/examples/org.eclipse.swt.examples.ole.win32/about.html
deleted file mode 100644
index 4602330..0000000
--- a/examples/org.eclipse.swt.examples.ole.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/examples/org.eclipse.swt.examples.ole.win32/build.properties b/examples/org.eclipse.swt.examples.ole.win32/build.properties
deleted file mode 100755
index bfe7608..0000000
--- a/examples/org.eclipse.swt.examples.ole.win32/build.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.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 = doc-html/,\
-               icons/,\
-               plugin.properties,\
-               plugin.xml,\
-               about.html,\
-               *.jar
-
-src.includes = about.html
-            
-source.olewin32.jar = src/
diff --git a/examples/org.eclipse.swt.examples.ole.win32/doc-html/swt_ole_ex.html b/examples/org.eclipse.swt.examples.ole.win32/doc-html/swt_ole_ex.html
deleted file mode 100755
index d27da8e..0000000
--- a/examples/org.eclipse.swt.examples.ole.win32/doc-html/swt_ole_ex.html
+++ /dev/null
@@ -1,37 +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>SWT - OLE Web Browser</title>
-</head>
-<body>
-
-<h2>SWT example - OLE Web Browser</h2>
-
-<p>
-This example shows how to embed an Active X control into an SWT application or an Eclipse view.
-</p>
-<p>
-When the view is opened, it will create an instance of the Windows Internet Explorer
-control.  The OLE web browser has
-<strong>Back</strong> and <strong>Forward</strong> buttons to take you to recently visited pages.  The browser also contains
-a <strong>Home</strong> button to take you to the web browser's home page, a <strong>Stop</strong> button which stops the 
-current transfer, a <strong>Search</strong> button which will search for text typed in the <strong>Address</strong> text field, and
-a <strong>Refresh</strong> button which re-draws the contents of the currently displayed page. There is also a
-<strong>Go</strong> button which, when clicked, will attempt to load the page specified in the <strong>Address</strong> field.
-</p>
-
-<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>SWT Examples</strong> and select
-the view named <strong>OLE Web Browser (win32)</strong>. A view containing a web browser will appear.
-</p>
-<p>
-This example can also be run using the <a href="../../org.eclipse.swt.examples.launcher/doc-html/swt_launcher_ex.html">Example Launcher</a>.
-Select the <strong>OLE Web Browser</strong> item from the <strong>Win32 only</strong> category and click <strong>Run</strong>.
-</p>
-</body>
-</html>
diff --git a/examples/org.eclipse.swt.examples.ole.win32/icons/backward_nav.gif b/examples/org.eclipse.swt.examples.ole.win32/icons/backward_nav.gif
deleted file mode 100755
index 5fcf41b..0000000
--- a/examples/org.eclipse.swt.examples.ole.win32/icons/backward_nav.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.ole.win32/icons/forward_nav.gif b/examples/org.eclipse.swt.examples.ole.win32/icons/forward_nav.gif
deleted file mode 100755
index 3b9b6af..0000000
--- a/examples/org.eclipse.swt.examples.ole.win32/icons/forward_nav.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.ole.win32/icons/home_nav.gif b/examples/org.eclipse.swt.examples.ole.win32/icons/home_nav.gif
deleted file mode 100755
index 77a2306..0000000
--- a/examples/org.eclipse.swt.examples.ole.win32/icons/home_nav.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.ole.win32/icons/refresh_nav.gif b/examples/org.eclipse.swt.examples.ole.win32/icons/refresh_nav.gif
deleted file mode 100755
index e270e18..0000000
--- a/examples/org.eclipse.swt.examples.ole.win32/icons/refresh_nav.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.ole.win32/icons/search_nav.gif b/examples/org.eclipse.swt.examples.ole.win32/icons/search_nav.gif
deleted file mode 100755
index 73ac91b..0000000
--- a/examples/org.eclipse.swt.examples.ole.win32/icons/search_nav.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.ole.win32/icons/stop_nav.gif b/examples/org.eclipse.swt.examples.ole.win32/icons/stop_nav.gif
deleted file mode 100755
index 653d347..0000000
--- a/examples/org.eclipse.swt.examples.ole.win32/icons/stop_nav.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.ole.win32/icons/webbrowser_example.gif b/examples/org.eclipse.swt.examples.ole.win32/icons/webbrowser_example.gif
deleted file mode 100755
index 895e221..0000000
--- a/examples/org.eclipse.swt.examples.ole.win32/icons/webbrowser_example.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.ole.win32/plugin.properties b/examples/org.eclipse.swt.examples.ole.win32/plugin.properties
deleted file mode 100755
index d4c362f..0000000
--- a/examples/org.eclipse.swt.examples.ole.win32/plugin.properties
+++ /dev/null
@@ -1,68 +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
-###############################################################################
-providerName = Eclipse.org
-plugin.SWTOLEExample.name = SWT OLE Example Plugin (Win32)
-category.SWTExamples.name = SWT Examples
-view.OLEWebBrowserExample.name = OLE Web Browser (Win32)
-
-launchcategory.SWTWin32OnlyExamples.name = Win32 only
-launchcategory.SWTWin32OnlyExamples.description = \
-	A collection of Standard Widget Toolkit examples for Windows systems only.
-
-launchitem.OLEWebBrowserExample.name = OLE Web Browser
-launchitem.OLEWebBrowserExample.description = \
-	This example demonstrates how to embed an Active X control into an SWT application or an Eclipse view.\n\n\
-	When the view is opened, it will create an instance of the Windows Internet Explorer \
-	control.  The OLE Web Browser has \
-	Back and Forward buttons to take you to recently visited pages.  The browser also contains \
-	a Home button to take you to the web browser's home page, a Stop button which stops the \
-	current transfer, a Search button which will search for text typed in the Address text field, and \
-	a Refresh button which re-draws the contents of the currently displayed page. There is also a \
-	Go button which, when clicked, will attempt to load the page specified in the Address field.
-
-browser.Back.text = Backward
-browser.Back.tooltip = Go to previous Web site in the history list
-
-browser.Forward.text = Forward
-browser.Forward.tooltip = Go to next Web site in the history list
-
-browser.Home.text = Home
-browser.Home.tooltip = Go to home Web site
-
-browser.Stop.text = Stop
-browser.Stop.tooltip = Stop loading current Web site
-
-browser.Refresh.text = Refresh
-browser.Refresh.tooltip = Refresh current Web site
-
-browser.Search.text = Search
-browser.Search.tooltip = Search the Web
-
-browser.Address.label = Address :
-
-browser.Go.text = Go
-
-browser.State.Uninitialized.text = Not ready.
-browser.State.Loading.text = Loading Web site...
-browser.State.Loaded.text = Ready.
-browser.State.Interactive.text = Loading Web site...
-browser.State.Complete.text = Done.
-
-error.CouldNotLoadResources = Unable to load resources
-error.CouldNotCreateBrowserControl = Unable to create <<Browser Control>>
-
-launchitem.OLEExample.name=OLE Example
-launchitem.OLEExample.description=\
-	The OLE example demonstrates how to embed an Active X control into \
-	an SWT application.\n\n\
-
-
-
diff --git a/examples/org.eclipse.swt.examples.ole.win32/plugin.xml b/examples/org.eclipse.swt.examples.ole.win32/plugin.xml
deleted file mode 100755
index d8e7f5e..0000000
--- a/examples/org.eclipse.swt.examples.ole.win32/plugin.xml
+++ /dev/null
@@ -1,70 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<!-- File written by PDE 1.0 -->
-<plugin
-   id="org.eclipse.swt.examples.ole.win32"
-   name="%plugin.SWTOLEExample.name"
-   version="3.1.100.qualifier"
-   provider-name="%providerName"
-   class="org.eclipse.swt.examples.ole.win32.OlePlugin">
-<!-- Required plugins -->
-<requires>
-   <import plugin="org.eclipse.ui.ide"/>
-   <import plugin="org.eclipse.ui.views"/>
-   <import plugin="org.eclipse.jface.text"/>
-   <import plugin="org.eclipse.ui.workbench.texteditor"/>
-   <import plugin="org.eclipse.ui.editors"/>
-   <import plugin="org.eclipse.core.runtime"/>
-   <import plugin="org.eclipse.core.resources"/>
-   <import plugin="org.eclipse.ui"/>
-   <import plugin="org.eclipse.swt"/>
-</requires>
-
-<!-- Runtime -->
-<!-- Runtime -->
-<runtime>
-   <library name="olewin32.jar">
-   </library>
-</runtime>
-
-<!-- Extensions -->
-<!-- Extension points -->
-<extension
-      point="org.eclipse.ui.views">
-   <view
-         name="%view.OLEWebBrowserExample.name"
-         icon="icons/webbrowser_example.gif"
-         category="org.eclipse.swt.examples.category"
-         class="org.eclipse.swt.examples.ole.win32.OleBrowserView"
-         id="org.eclipse.swt.examples.ole.win32.browserView">
-   </view>
-</extension>
-<extension
-      point="org.eclipse.swt.examples.launcher.launchItems">
-   <category
-         name="%launchcategory.SWTWin32OnlyExamples.name"
-         description="%launchcategory.SWTWin32OnlyExamples.description"
-         id="org.eclipse.swt.examples.launchWin32OnlyCategory">
-   </category>
-   <item
-         name="%launchitem.OLEWebBrowserExample.name"
-         icon="icons/webbrowser_example.gif"
-         description="%launchitem.OLEWebBrowserExample.description"
-         category="org.eclipse.swt.examples.launchWin32OnlyCategory"
-         id="org.eclipse.swt.examples.ole.win32.viewlauncher">
-      <view
-            viewId="org.eclipse.swt.examples.ole.win32.browserView">
-      </view>
-   </item>
-   <item
-         name="%launchitem.OLEExample.name"
-         description="%launchitem.OLEExample.description"
-         category="org.eclipse.swt.examples.launchWin32OnlyCategory"
-         id="org.eclipse.swt.examples.ole.win32.standalonelauncher">
-      <program
-            pluginId="org.eclipse.swt.examples.ole.win32"
-            mainClass="org.eclipse.swt.examples.ole.win32.OLEExample">
-      </program>
-   </item>
-</extension>
-</plugin>
diff --git a/examples/org.eclipse.swt.examples.ole.win32/src/import.properties b/examples/org.eclipse.swt.examples.ole.win32/src/import.properties
deleted file mode 100644
index 8241dac..0000000
--- a/examples/org.eclipse.swt.examples.ole.win32/src/import.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# Persist project settings for later import 
-natures = org.eclipse.jdt.core.javanature; org.eclipse.pde.PluginNature
-builders = org.eclipse.jdt.core.javabuilder; org.eclipse.pde.ManifestBuilder; org.eclipse.pde.SchemaBuilder
-var.ECLIPSE_PLUGINS = <<ECLIPSE_PLUGINS>>
diff --git a/examples/org.eclipse.swt.examples.ole.win32/src/org/eclipse/swt/examples/ole/win32/OLEExample.java b/examples/org.eclipse.swt.examples.ole.win32/src/org/eclipse/swt/examples/ole/win32/OLEExample.java
deleted file mode 100644
index 00382ed..0000000
--- a/examples/org.eclipse.swt.examples.ole.win32/src/org/eclipse/swt/examples/ole/win32/OLEExample.java
+++ /dev/null
@@ -1,306 +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.swt.examples.ole.win32;
-
-import java.io.*;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.ole.win32.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * OLEExample is an example that uses <code>org.eclipse.swt</code> 
- * libraries to implement a simple SWT window that can host different Active X
- * controls.
- *
- * @since 3.3
- */ 
-public class OLEExample {
-
-	OleClientSite clientSite;
-	OleFrame oleFrame;
-	Button closeButton;
-	
-	public static void main(String[] args) {
-		Display display = new Display();
-		OLEExample example = new OLEExample();
-		example.open(display);
-		display.dispose();
-	}
-
-	/** 
-	 * Create a file Exit menu item 
-	 */
-	void addFileMenu(OleFrame frame) {
-		final Shell shell = frame.getShell();
-		Menu menuBar = shell.getMenuBar();
-		if (menuBar == null) {
-			menuBar = new Menu(shell, SWT.BAR);
-			shell.setMenuBar(menuBar);
-		}
-		MenuItem fileMenu = new MenuItem(menuBar, SWT.CASCADE);
-		fileMenu.setText("&File");
-		Menu menuFile = new Menu(fileMenu);
-		fileMenu.setMenu(menuFile);
-		frame.setFileMenus(new MenuItem[] { fileMenu });
-		
-		MenuItem menuFileExit = new MenuItem(menuFile, SWT.CASCADE);
-		menuFileExit.setText("Exit");
-		menuFileExit.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				shell.dispose();
-			}
-		});
-	}
-
-	void disposeClient() {
-		if (clientSite != null)
-			clientSite.dispose();
-		clientSite = null;
-	}
-
-	/**
-	 * Prompt the user for a file and try to open it with some known ActiveX controls.
-	 */
-	void fileOpen() {
-		Shell shell = oleFrame.getShell();
-		FileDialog dialog = new FileDialog(shell, SWT.OPEN);
-		String fileName = dialog.open();
-		if (fileName == null) return;
-
-		disposeClient();
-
-		// try opening a .doc file using Word
-		if (clientSite == null) {
-			int index = fileName.lastIndexOf('.');
-			if (index != -1) {
-				String fileExtension = fileName.substring(index + 1);
-				if (fileExtension.equalsIgnoreCase("doc") || 
-						fileExtension.equalsIgnoreCase("rtf") ||
-						fileExtension.equalsIgnoreCase("txt")) {
-					try {
-						clientSite = new OleClientSite(oleFrame, SWT.NONE, "Word.Document", new File(fileName));
-					} catch (SWTException error2) {
-						disposeClient();
-					}
-				}
-			}
-		}
-
-		// try opening a xls file with Excel
-		if (clientSite == null) {
-			int index = fileName.lastIndexOf('.');
-			if (index != -1) {
-				String fileExtension = fileName.substring(index + 1);
-				if (fileExtension.equalsIgnoreCase("xls")) {
-					try {
-						clientSite = new OleClientSite(oleFrame, SWT.NONE, "Excel.Sheet", new File(fileName));
-					} catch (SWTException error2) {
-						disposeClient();
-					}
-				}
-			}
-		}
-
-		// try opening a media file with MPlayer
-		if (clientSite == null) {
-			int index = fileName.lastIndexOf('.');
-			if (index != -1) {
-				String fileExtension = fileName.substring(index + 1);
-				if (fileExtension.equalsIgnoreCase("mpa")) {
-					try {
-						clientSite = new OleClientSite(oleFrame, SWT.NONE, "MPlayer", new File(fileName));
-					} catch (SWTException error2) {
-						disposeClient();
-					}
-				}
-			}
-		}
-
-		// try opening with wmv, mpg, mpeg, avi, asf, wav with WMPlayer
-		if (clientSite == null) {
-			int index = fileName.lastIndexOf('.');
-			if (index != -1) {
-				String fileExtension = fileName.substring(index + 1);
-				if (fileExtension.equalsIgnoreCase("wmv")
-						|| fileExtension.equalsIgnoreCase("mpg")
-						|| fileExtension.equalsIgnoreCase("mpeg")
-						|| fileExtension.equalsIgnoreCase("avi")
-						|| fileExtension.equalsIgnoreCase("asf")
-						|| fileExtension.equalsIgnoreCase("wav")) {
-					try {
-						clientSite = new OleClientSite(oleFrame, SWT.NONE, "WMPlayer.OCX");
-						OleAutomation player = new OleAutomation(clientSite);
-						int playURL[] = player.getIDsOfNames(new String[] { "URL" });
-						if (playURL != null) {
-							boolean suceeded = player.setProperty(playURL[0], new Variant(fileName));
-							if (!suceeded)
-								disposeClient();
-						} else {
-							disposeClient();
-						}
-						player.dispose();
-					} catch (SWTException error2) {
-						disposeClient();
-					}
-				}
-			}
-		}
-
-		// try opening a PDF file with Acrobat reader
-		if (clientSite == null) {
-			int index = fileName.lastIndexOf('.');
-			if (index != -1) {
-				String fileExtension = fileName.substring(index + 1);
-				if (fileExtension.equalsIgnoreCase("pdf")) {
-					try {
-						clientSite = new OleClientSite(oleFrame, SWT.NONE, "PDF.PdfCtrl.5");
-						clientSite.doVerb(OLE.OLEIVERB_INPLACEACTIVATE);
-					    OleAutomation pdf = new OleAutomation (clientSite);
-					    int loadFile[] = pdf.getIDsOfNames (new String [] {"LoadFile"});
-					    if (loadFile != null) {
-					    	Variant result = pdf.invoke(loadFile[0], new Variant[] {new Variant(fileName)});
-							if (result == null)
-								disposeClient();
-							else
-								result.dispose();
-					    } else {
-							disposeClient();
-					    }
-					    pdf.dispose();
-					} catch (SWTException error2) {
-						disposeClient();
-					}
-				}
-			}
-		}
-
-		// try opening with Explorer
-		if (clientSite == null) {
-			try {
-				clientSite = new OleClientSite(oleFrame, SWT.NONE, "Shell.Explorer");
-				OleAutomation explorer = new OleAutomation(clientSite);
-				int[] navigate = explorer.getIDsOfNames(new String[]{"Navigate"}); 
-				
-				if (navigate != null) {
-					Variant result = explorer.invoke(navigate[0], new Variant[] {new Variant(fileName)});
-					if (result == null)
-						disposeClient();
-					else
-						result.dispose();
-				} else {
-					disposeClient();
-				}
-				explorer.dispose();
-			} catch (SWTException error2) {
-				disposeClient();
-			}
-		}
-
-		if (clientSite != null){
-			clientSite.doVerb(OLE.OLEIVERB_INPLACEACTIVATE);
-		}
-	}
-
-	void newClientSite(String progID) {
-		disposeClient();
-		try {
-			clientSite = new OleClientSite(oleFrame, SWT.NONE, progID);
-		} catch (SWTException error) {
-
-		}
-		if (clientSite != null)
-			clientSite.doVerb(OLE.OLEIVERB_INPLACEACTIVATE);
-	}
-
-	public void open(Display display) {
-		Shell shell = new Shell(display);
-		shell.setText("OLE Example");
-		shell.setLayout(new FillLayout());
-
-		Composite parent = new Composite(shell, SWT.NONE);
-		parent.setLayout(new GridLayout(4, true));
-		
-		Composite buttons = new Composite(parent, SWT.NONE);
-		buttons.setLayout(new GridLayout());
-		GridData gridData = new GridData(SWT.BEGINNING, SWT.FILL, false, false);
-		buttons.setLayoutData(gridData);
-		
-		Composite displayArea = new Composite(parent, SWT.BORDER);
-		displayArea.setLayout(new FillLayout());
-		displayArea.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 3, 1));
-
-		Button excelButton = new Button(buttons, SWT.RADIO);
-		excelButton.setText("New Excel Sheet");
-		excelButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				if (((Button) e.widget).getSelection())
-					newClientSite("Excel.Sheet");
-			}
-		});
-		Button mediaPlayerButton = new Button(buttons, SWT.RADIO);
-		mediaPlayerButton.setText("New MPlayer");
-		mediaPlayerButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				if (((Button) e.widget).getSelection())
-					newClientSite("MPlayer");
-			}
-		});
-		Button powerPointButton = new Button(buttons, SWT.RADIO);
-		powerPointButton.setText("New PowerPoint Slide");
-		powerPointButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				if (((Button) e.widget).getSelection())
-					newClientSite("PowerPoint.Slide");
-			}
-		});
-		Button wordButton = new Button(buttons, SWT.RADIO);
-		wordButton.setText("New Word Document");
-		wordButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				if (((Button) e.widget).getSelection())
-					newClientSite("Word.Document");
-			}
-		});
-		new Label(buttons, SWT.NONE);
-		Button openButton = new Button(buttons, SWT.RADIO);
-		openButton.setText("Open file...");
-		openButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				if (((Button) e.widget).getSelection())
-					fileOpen();
-			}
-		});
-		new Label(buttons, SWT.NONE);
-		closeButton = new Button(buttons, SWT.RADIO);
-		closeButton.setText("Close file");
-		closeButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				if (((Button) e.widget).getSelection())
-					disposeClient();
-			}
-		});	
-		closeButton.setSelection(true);
-		
-		oleFrame = new OleFrame(displayArea, SWT.NONE);
-		addFileMenu(oleFrame);
-
-		shell.setSize(800, 600);
-		shell.open();
-
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-	}
-}
diff --git a/examples/org.eclipse.swt.examples.ole.win32/src/org/eclipse/swt/examples/ole/win32/OleBrowserView.java b/examples/org.eclipse.swt.examples.ole.win32/src/org/eclipse/swt/examples/ole/win32/OleBrowserView.java
deleted file mode 100755
index e9ba5d4..0000000
--- a/examples/org.eclipse.swt.examples.ole.win32/src/org/eclipse/swt/examples/ole/win32/OleBrowserView.java
+++ /dev/null
@@ -1,370 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.examples.ole.win32;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.ole.win32.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.part.*;
-
-/**
- * Ole uses <code>org.eclipse.swt</code> to demonstrate Win32 OLE / ActiveX
- * integration.
- * 
- * @see ViewPart
- */
-public class OleBrowserView extends ViewPart {
-
-	private Composite      displayArea;
-
-	private OleFrame       webFrame;
-	private OleWebBrowser  webBrowser;
-	private Text           webUrl;
-	private OleControlSite webControlSite;
-	private ProgressBar    webProgress;
-	private Label          webStatus;
-	private Button         webNavigateButton;
-	
-	private ToolItem webCommandBackward;
-	private ToolItem webCommandForward;
-	private ToolItem webCommandHome;
-	private ToolItem webCommandStop;
-	private ToolItem webCommandRefresh;
-	private ToolItem webCommandSearch;
-	
-	private boolean activated = false;
-
-	private static final int DISPID_AMBIENT_DLCONTROL = -5512;
-	private static final int DLCTL_NO_SCRIPTS = 0x80;
-	
-	/**
-	 * Constructs the OLE browser view.
-	 */
-	public OleBrowserView() {
-		OlePlugin.initResources();
-	}
-
-	/**
-	 * Creates the example.
-	 * 
-	 * @see ViewPart#createPartControl
-	 */
-	public void createPartControl(Composite parent) {
-		displayArea = new Composite(parent, SWT.NONE);
-
-		GridLayout gridLayout = new GridLayout();
-		gridLayout.numColumns = 3;
-		displayArea.setLayout(gridLayout);
-		
-		createToolbar();
-		createBrowserFrame();		
-		createStatusArea();
-		createBrowserControl();	
-	}
-	
-	/**
-	 * Cleanup
-	 */
-	public void dispose() {
-		if (activated) {
-			webControlSite.deactivateInPlaceClient();
-			activated = false;
-		}
-		if (webBrowser != null) webBrowser.dispose();
-		webBrowser = null;
-		super.dispose();
-	}
-	
-	/**
-	 * Called when we must grab focus.
-	 * 
-	 * @see org.eclipse.ui.part.ViewPart#setFocus
-	 */
-	public void setFocus()  {
-		webUrl.setFocus();
-	}
-
-	/**
-	 * Creates the Web browser toolbar.
-	 */
-	private void createToolbar() {
-		// Add a toolbar
-		ToolBar bar = new ToolBar(displayArea, SWT.NONE);
-		GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
-		gridData.horizontalSpan = 3;
-		bar.setLayoutData(gridData);
-		
-		// Add a button to navigate backwards through previously visited web sites
-		webCommandBackward = new ToolItem(bar, SWT.NONE);
-		webCommandBackward.setToolTipText(OlePlugin.getResourceString("browser.Back.tooltip"));
-		webCommandBackward.setText(OlePlugin.getResourceString("browser.Back.text"));
-		webCommandBackward.setImage(OlePlugin.images[OlePlugin.biBack]);
-		webCommandBackward.setEnabled(false);
-		webCommandBackward.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				if (webBrowser == null) return;
-				webBrowser.GoBack();
-			}
-		});
-	
-		// Add a button to navigate forward through previously visited web sites
-		webCommandForward = new ToolItem(bar, SWT.NONE);
-		webCommandForward.setToolTipText(OlePlugin.getResourceString("browser.Forward.tooltip"));
-		webCommandForward.setText(OlePlugin.getResourceString("browser.Forward.text"));
-		webCommandForward.setImage(OlePlugin.images[OlePlugin.biForward]);
-		webCommandForward.setEnabled(false);
-		webCommandForward.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				if (webBrowser == null) return;
-				webBrowser.GoForward();
-			}
-		});
-
-		// Add a separator
-		new ToolItem(bar, SWT.SEPARATOR);
-		
-		// Add a button to navigate to the Home page
-		webCommandHome = new ToolItem(bar, SWT.NONE);
-		webCommandHome.setToolTipText(OlePlugin.getResourceString("browser.Home.tooltip"));
-		webCommandHome.setText(OlePlugin.getResourceString("browser.Home.text"));
-		webCommandHome.setImage(OlePlugin.images[OlePlugin.biHome]);
-		webCommandHome.setEnabled(false);
-		webCommandHome.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				if (webBrowser == null) return;
-				webBrowser.GoHome();
-			}
-		});
-
-		// Add a button to abort web page loading
-		webCommandStop = new ToolItem(bar, SWT.NONE);
-		webCommandStop.setToolTipText(OlePlugin.getResourceString("browser.Stop.tooltip"));
-		webCommandStop.setText(OlePlugin.getResourceString("browser.Stop.text"));
-		webCommandStop.setImage(OlePlugin.images[OlePlugin.biStop]);
-		webCommandStop.setEnabled(false);
-		webCommandStop.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				if (webBrowser == null) return;
-				webBrowser.Stop();
-			}
-		});
-
-		// Add a button to refresh the current web page
-		webCommandRefresh = new ToolItem(bar, SWT.NONE);
-		webCommandRefresh.setToolTipText(OlePlugin.getResourceString("browser.Refresh.tooltip"));
-		webCommandRefresh.setText(OlePlugin.getResourceString("browser.Refresh.text"));
-		webCommandRefresh.setImage(OlePlugin.images[OlePlugin.biRefresh]);
-		webCommandRefresh.setEnabled(false);
-		webCommandRefresh.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				if (webBrowser == null) return;
-				webBrowser.Refresh();
-			}
-		});
-
-		// Add a separator
-		new ToolItem(bar, SWT.SEPARATOR);
-
-		// Add a button to search the web
-		webCommandSearch = new ToolItem(bar, SWT.NONE);
-		webCommandSearch.setToolTipText(OlePlugin.getResourceString("browser.Search.tooltip"));
-		webCommandSearch.setText(OlePlugin.getResourceString("browser.Search.text"));
-		webCommandSearch.setImage(OlePlugin.images[OlePlugin.biSearch]);
-		webCommandSearch.setEnabled(false);
-		webCommandSearch.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				if (webBrowser == null) return;
-				webBrowser.GoSearch();
-			}
-		});
-
-		// Add a text area for Users to enter a url
-		Composite addressBar = new Composite(displayArea, SWT.NONE);
-		gridData = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL);
-		gridData.horizontalSpan = 3;
-		addressBar.setLayoutData(gridData);
-		GridLayout gridLayout = new GridLayout();
-		gridLayout.numColumns = 3;
-		addressBar.setLayout(gridLayout);
-
-		Label addressLabel = new Label(addressBar, SWT.NONE);
-		gridData = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL);
-		addressLabel.setLayoutData(gridData);
-		addressLabel.setText(OlePlugin.getResourceString("browser.Address.label"));
-		addressLabel.setFont(OlePlugin.browserFont);
-		
-		webUrl = new Text(addressBar, SWT.SINGLE | SWT.BORDER);
-		webUrl.setFont(OlePlugin.browserFont);
-		gridData = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL);
-		webUrl.setLayoutData(gridData);
-		webUrl.addFocusListener(new FocusAdapter() {
-			public void focusGained(FocusEvent e) {
-				webNavigateButton.getShell().setDefaultButton(webNavigateButton);
-			}
-		});
-	
-		// Add a button to navigate to the web site specified in the Text area defined above
-		webNavigateButton = new Button(addressBar, SWT.PUSH);
-		gridData = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL);
-		webNavigateButton.setLayoutData(gridData);
-		webNavigateButton.setText(OlePlugin.getResourceString("browser.Go.text"));
-		webNavigateButton.setFont(OlePlugin.browserFont);
-		webNavigateButton.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event event) {
-				if (webBrowser == null) return;
-				webBrowser.Navigate(webUrl.getText());
-			}
-		});
-	}
-
-	/**
-	 * Creates the Web browser OleFrame.
-	 */
-	private void createBrowserFrame() {
-		// Every control must have an associated OleFrame:
-		webFrame = new OleFrame(displayArea, SWT.NONE);
-		GridData gridData = new GridData(GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL);
-		gridData.horizontalSpan = 3;
-		webFrame.setLayoutData(gridData);
-	}
-	
-	/**
-	 * Creates the Web browser status area.
-	 */
-	private void createStatusArea() {
-		// Add a progress bar to display downloading progress information
-		webProgress = new ProgressBar(displayArea, SWT.BORDER);
-		GridData gridData = new GridData();
-		gridData.horizontalAlignment = GridData.BEGINNING;
-		gridData.verticalAlignment = GridData.FILL;
-		webProgress.setLayoutData(gridData);		
-
-		// Add a label for displaying status messages as they are received from the control
-		webStatus = new Label(displayArea, SWT.SINGLE | SWT.READ_ONLY | SWT.BORDER);
-		gridData = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL);
-		gridData.horizontalSpan = 2;
-		webStatus.setLayoutData(gridData);
-		webStatus.setFont(OlePlugin.browserFont);
-	}	
-
-	/**
-	 * Creates Web browser control.
-	 */
-	private void createBrowserControl() {
-		try {
-			// Create an Automation object for access to extended capabilities
-			webControlSite = new OleControlSite(webFrame, SWT.NONE, "Shell.Explorer");
-			Variant download = new Variant(DLCTL_NO_SCRIPTS);
-			webControlSite.setSiteProperty(DISPID_AMBIENT_DLCONTROL, download);
-			OleAutomation oleAutomation = new OleAutomation(webControlSite);
-			webBrowser = new OleWebBrowser(oleAutomation);
-		} catch (SWTException ex) {
-			// Creation may have failed because control is not installed on machine
-			Label label = new Label(webFrame, SWT.BORDER);
-			OlePlugin.logError(OlePlugin.getResourceString("error.CouldNotCreateBrowserControl"), ex);
-			label.setText(OlePlugin.getResourceString("error.CouldNotCreateBrowserControl"));
-			return;
-		}
-
-		// Respond to ProgressChange events by updating the Progress bar
-		webControlSite.addEventListener(OleWebBrowser.ProgressChange, new OleListener() {
-			public void handleEvent(OleEvent event) {
-				Variant progress = event.arguments[0];
-				Variant maxProgress = event.arguments[1];
-				if (progress == null || maxProgress == null)
-					return;
-				webProgress.setMaximum(maxProgress.getInt());
-				webProgress.setSelection(progress.getInt());
-			}
-		});
-		
-		// Respond to StatusTextChange events by updating the Status Text label
-		webControlSite.addEventListener(OleWebBrowser.StatusTextChange, new OleListener() {
-			public void handleEvent(OleEvent event) {
-				Variant statusText = event.arguments[0];
-				if (statusText == null)	return;
-				String text = statusText.getString();
-				if (text != null)
-					webStatus.setText(text);
-			}
-		});
-		
-		// Listen for changes to the ready state and print out the current state 
-		webControlSite.addPropertyListener(OleWebBrowser.DISPID_READYSTATE, new OleListener() {
-			public void handleEvent(OleEvent event) {
-				if (event.detail == OLE.PROPERTY_CHANGING) return;
-				int state = webBrowser.getReadyState();
-				switch (state) {
-					case OleWebBrowser.READYSTATE_UNINITIALIZED:
-						webStatus.setText(
-							OlePlugin.getResourceString("browser.State.Uninitialized.text"));
-						webCommandBackward.setEnabled(false);
-						webCommandForward.setEnabled(false);
-						webCommandHome.setEnabled(false);
-						webCommandRefresh.setEnabled(false);
-						webCommandStop.setEnabled(false);
-						webCommandSearch.setEnabled(false);
-						break;
-					case OleWebBrowser.READYSTATE_LOADING:
-						webStatus.setText(
-							OlePlugin.getResourceString("browser.State.Loading.text"));
-						webCommandHome.setEnabled(true);
-						webCommandRefresh.setEnabled(true);
-						webCommandStop.setEnabled(true);
-						webCommandSearch.setEnabled(true);
-						break;
-					case OleWebBrowser.READYSTATE_LOADED:
-						webStatus.setText(
-							OlePlugin.getResourceString("browser.State.Loaded.text"));
-						webCommandStop.setEnabled(true);
-						break;
-					case OleWebBrowser.READYSTATE_INTERACTIVE:
-						webStatus.setText(
-							OlePlugin.getResourceString("browser.State.Interactive.text"));
-						webCommandStop.setEnabled(true);
-						break;
-					case OleWebBrowser.READYSTATE_COMPLETE:
-						webStatus.setText(
-							OlePlugin.getResourceString("browser.State.Complete.text"));
-						webCommandStop.setEnabled(false);
-						break;
-				}
-			}
-		});
-
-		// Listen for changes to the active command states
-		webControlSite.addEventListener(OleWebBrowser.CommandStateChange, new OleListener() {
-			public void handleEvent(OleEvent event) {
-				if (event.type != OleWebBrowser.CommandStateChange) return;
-				final int commandID =
-					(event.arguments[0] != null) ? event.arguments[0].getInt() : 0;
-				final boolean commandEnabled =
-					(event.arguments[1] != null) ? event.arguments[1].getBoolean() : false;
-				
-				switch (commandID) {
-					case OleWebBrowser.CSC_NAVIGATEBACK:
-					 	webCommandBackward.setEnabled(commandEnabled);
-					 	break;
-					case OleWebBrowser.CSC_NAVIGATEFORWARD:
-					 	webCommandForward.setEnabled(commandEnabled);
-						break;
-				}
-			}
-		});
-
-		// in place activate the ActiveX control		
-		activated = (webControlSite.doVerb(OLE.OLEIVERB_INPLACEACTIVATE) == OLE.S_OK);
-		if (activated) webBrowser.GoHome();
-	}
-}
diff --git a/examples/org.eclipse.swt.examples.ole.win32/src/org/eclipse/swt/examples/ole/win32/OlePlugin.java b/examples/org.eclipse.swt.examples.ole.win32/src/org/eclipse/swt/examples/ole/win32/OlePlugin.java
deleted file mode 100755
index a55c2e3..0000000
--- a/examples/org.eclipse.swt.examples.ole.win32/src/org/eclipse/swt/examples/ole/win32/OlePlugin.java
+++ /dev/null
@@ -1,189 +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.swt.examples.ole.win32;
-
-
-import java.io.*;
-import java.net.*;
-import java.text.*;
-import java.util.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.ui.plugin.*;
-import org.osgi.framework.*;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class OlePlugin extends AbstractUIPlugin {
-	//The shared instance.
-	private static OlePlugin plugin;
-	private static ResourceBundle resourceBundle;
-
-	static final int
-		biBack = 0,
-		biForward = 1,
-		biHome = 2,
-		biStop = 3,
-		biRefresh = 4,
-		biSearch = 5;
-	static final String[] imageLocations = {
-		"icons/backward_nav.gif",
-		"icons/forward_nav.gif",
-		"icons/home_nav.gif",
-		"icons/stop_nav.gif",
-		"icons/refresh_nav.gif",
-		"icons/search_nav.gif" };
-	static Image images[];
-	static Font  browserFont;
-   
-	/**
-	 * Constructs an OLE plugin.
-	 */
-	public OlePlugin() {
-		super();
-		plugin = this;
-	}
-	
-    public void start(BundleContext context) throws Exception {
-        super.start(context);
-        resourceBundle = Platform.getResourceBundle(getBundle());
-    }
-    
-	/**
-	 * Clean up
-	 */
-	public void stop(BundleContext context) throws Exception {
-		freeResources();
-		super.stop(context);
-	}
-
-	/**
-	 * Returns the shared instance.
-	 */
-	public static OlePlugin getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * Returns a string from the resource bundle.
-	 * We don't want to crash because of a missing String.
-	 * Returns the key if not found.
-	 */
-	public static String getResourceString(String key) {
-		try {
-			return resourceBundle.getString(key);
-		} catch (MissingResourceException e) {
-			return key;
-		} catch (NullPointerException e) {
-			return "!" + key + "!";
-		}			
-	}
-
-	/**
-	 * Returns a string from the resource bundle and binds it
-	 * with the given arguments. If the key is not found,
-	 * return the key.
-	 */
-	public static String getResourceString(String key, Object[] args) {
-		try {
-			return MessageFormat.format(getResourceString(key), args);
-		} catch (MissingResourceException e) {
-			return key;
-		} catch (NullPointerException e) {
-			return "!" + key + "!";
-		}
-	}
-
-	/**
-	 * Log an error to the ILog for this plugin
-	 * 
-	 * @param message the localized error message text
-	 * @param exception the associated exception, or null
-	 */
-	public static void logError(String message, Throwable exception) {
-		plugin.getLog().log(new Status(
-			IStatus.ERROR, plugin.getBundle().getSymbolicName(), 0, message, exception));
-	}
-
-	/**
-	 * Loads the resources.
-	 */
-	public static void initResources() {
-		if (images == null) {
-			images = new Image[imageLocations.length];
-				
-			for (int i = 0; i < imageLocations.length; ++i) {
-				images[i] = getImageFromPlugin(plugin.getBundle(), imageLocations[i]);
-				if (images[i] == null) {
-					freeResources();
-					logError(getResourceString("error.CouldNotLoadResources"), null);
-					throw new IllegalStateException();
-				}
-			}
-		}
-		if (browserFont == null) {
-			try {
-				browserFont = new Font (null, "MS Sans Serif", 8, SWT.NULL);
-			} catch (Throwable ex) {
-			}
-		}
-		if (images == null || browserFont == null) {
-			freeResources();
-			logError(getResourceString("error.CouldNotLoadResources"), null);
-			throw new IllegalStateException();
-		}
-	}
-
-	/**
-	 * Frees the resources
-	 */
-	public static void freeResources() {
-		if (images != null) {
-			for (int i = 0; i < images.length; ++i) {
-				final Image image = images[i];
-				if (image != null) image.dispose();
-			}
-			images = null;
-		}
-		if (browserFont != null) browserFont.dispose ();
-		browserFont = null;
-	}
-	
-	/**
-	 * Gets an image from a path relative to the plugin install directory.
-	 *
-	 * @param pd the plugin descriptor for the plugin with the image
-	 * @param iconPath the path relative to the install directory
-	 * @return the image, or null if not found
-	 */
-	private static Image getImageFromPlugin(Bundle bundle, String iconPath) {
-		InputStream is = null;
-		try {
-			URL installUrl = bundle.getEntry("/");
-			URL url = new URL(installUrl, iconPath);
-			is = url.openConnection().getInputStream();
-			ImageData source = new ImageData(is);
-			ImageData mask = source.getTransparencyMask();
-			Image image = new Image(null, source, mask);
-			return image;
-		} catch (Throwable ex) {
-			return null;
-		} finally {
-			try {
-				if (is != null) is.close();
-			} catch (IOException e) {
-			}
-		}
-	}
-}
diff --git a/examples/org.eclipse.swt.examples.ole.win32/src/org/eclipse/swt/examples/ole/win32/OleWebBrowser.java b/examples/org.eclipse.swt.examples.ole.win32/src/org/eclipse/swt/examples/ole/win32/OleWebBrowser.java
deleted file mode 100755
index 4498813..0000000
--- a/examples/org.eclipse.swt.examples.ole.win32/src/org/eclipse/swt/examples/ole/win32/OleWebBrowser.java
+++ /dev/null
@@ -1,228 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.examples.ole.win32;
-
-
-import org.eclipse.swt.ole.win32.*;
-
-/**
- * Wrapper for an OleAutomation object used to send commands
- * to a Win32 "Shell.Explorer" OLE control.
- * 
- * Instances of this class manage the setup, typical use and teardown of
- * a simple web browser.
- */
-class OleWebBrowser {
-	/* See the Windows Platform SDK documentation for more information about the
-	 * OLE control used here and its usage.
-	 */
-	// Generated from typelib filename: shdocvw.dll
-
-	// Constants for WebBrowser CommandStateChange
-	public static final int CSC_UPDATECOMMANDS = -1;
-	public static final int CSC_NAVIGATEFORWARD = 1;
-	public static final int CSC_NAVIGATEBACK = 2;
-
-	// COnstants for Web Browser ReadyState
-	public static final int READYSTATE_UNINITIALIZED = 0;
-	public static final int READYSTATE_LOADING = 1;
-	public static final int READYSTATE_LOADED = 2;
-	public static final int READYSTATE_INTERACTIVE = 3;
-	public static final int READYSTATE_COMPLETE = 4;
-	
-	// Web Browser Control Events 
-	public static final int BeforeNavigate        = 100; // Fired when a new hyperlink is being navigated to.
-	public static final int NavigateComplete      = 101; // Fired when the document being navigated to becomes visible and enters the navigation stack.
-	public static final int StatusTextChange      = 102; // Statusbar text changed.
-	public static final int ProgressChange        = 108; // Fired when download progress is updated.
-	public static final int DownloadComplete      = 104; // Download of page complete.
-	public static final int CommandStateChange    = 105; // The enabled state of a command changed
-	public static final int DownloadBegin         = 106; // Download of a page started.
-	public static final int NewWindow             = 107; // Fired when a new window should be created.
-	public static final int TitleChange           = 113; // Document title changed.
-	public static final int FrameBeforeNavigate   = 200; // Fired when a new hyperlink is being navigated to in a frame.
-	public static final int FrameNavigateComplete = 201; // Fired when a new hyperlink is being navigated to in a frame.
-	public static final int FrameNewWindow        = 204; // Fired when a new window should be created.
-	public static final int Quit                  = 103; // Fired when application is quiting.
-	public static final int WindowMove            = 109; // Fired when window has been moved.
-	public static final int WindowResize          = 110; // Fired when window has been sized.
-	public static final int WindowActivate        = 111; // Fired when window has been activated.
-	public static final int PropertyChange        = 112; // Fired when the PutProperty method has been called.
-
-	// Web Browser properties
-	public static final int DISPID_READYSTATE = -525;
-
-	private OleAutomation  oleAutomation;
-
-	/**
-	 * Creates a Web browser control.
-	 * <p>
-	 * Typical use:<br>
-	 * <code>
-	 * OleControlSite oleControlSite = new OleControlSite(oleFrame, style, "Shell.Explorer");<br>
-	 * OleAutomation oleAutomation = new OleAutomation(oleControlSite);<br>
-	 * OleWebBrowser webBrowser = new OleWebBrowser(oleControlSite, oleAutomation);<br>
-	 * </code>
-	 * 
-     * @param oleAutomation the OleAutomation object for this control.
-     * @param oleControlSite the OleControlSite object for this control.
-	 */
-	public OleWebBrowser(OleAutomation oleAutomation) {
-		this.oleAutomation = oleAutomation;
-	}
-	
-	
-	/**
-	 * Disposes of the Web browser control.
-	 */
-	public void dispose() {
-		if (oleAutomation != null) oleAutomation.dispose();
-		oleAutomation = null;
-	}
-	
-	/*
-	 * Interact with the Control via OLE Automation
-	 * 
-	 * Note: You can hard code the DISPIDs if you know them beforehand
-	 *       this is of course the fastest way, but you increase coupling
-	 *       to the control.
-	 */
-	 
-	/**
-	 * Returns the current web page title.
-	 * 
-	 * @return the current web page title String
-	 */
-	public String getLocationName() {
-		// dispid=210, type=PROPGET, name="LocationName"
-		int[] rgdispid = oleAutomation.getIDsOfNames(new String[]{"LocationName"}); 
-		int dispIdMember = rgdispid[0];
-		Variant pVarResult = oleAutomation.getProperty(dispIdMember);
-		if (pVarResult == null || pVarResult.getType() != OLE.VT_BSTR) return null;
-		return pVarResult.getString();
-	}
-	
-	/**
-	 * Returns the current URL.
-	 * 
-	 * @return the current URL String
-	 */
-	public String getLocationURL() {
-		// dispid=211, type=PROPGET, name="LocationURL"
-		int[] rgdispid = oleAutomation.getIDsOfNames(new String[]{"LocationURL"}); 
-		int dispIdMember = rgdispid[0];
-		
-		Variant pVarResult = oleAutomation.getProperty(dispIdMember);
-		if (pVarResult == null || pVarResult.getType() != OLE.VT_BSTR) return null;
-		return pVarResult.getString();
-	}
-	
-	/**
-	 * Returns the current state of the control.
-	 * 
-	 * @return the current state of the control, one of:
-	 *         READYSTATE_UNINITIALIZED;
-	 *         READYSTATE_LOADING;
-	 *         READYSTATE_LOADED;
-	 *         READYSTATE_INTERACTIVE;
-	 *         READYSTATE_COMPLETE.
-	 */
-	public int getReadyState() {
-		// dispid=4294966771, type=PROPGET, name="ReadyState"
-		int[] rgdispid = oleAutomation.getIDsOfNames(new String[]{"ReadyState"}); 
-		int dispIdMember = rgdispid[0];
-		
-		Variant pVarResult = oleAutomation.getProperty(dispIdMember);
-		if (pVarResult == null || pVarResult.getType() != OLE.VT_I4) return -1;
-		return pVarResult.getInt();
-	}
-	
-	/**
-	 * Navigates backwards through previously visited web sites.
-	 */
-	public void GoBack() {
-	
-		// dispid=100, type=METHOD, name="GoBack"
-		int[] rgdispid = oleAutomation.getIDsOfNames(new String[]{"GoBack"}); 
-		int dispIdMember = rgdispid[0];
-		oleAutomation.invoke(dispIdMember);
-	}
-	
-	/**
-	 * Navigates backwards through previously visited web sites.
-	 */
-	public void GoForward() {
-	
-		// dispid=101, type=METHOD, name="GoForward"
-		int[] rgdispid = oleAutomation.getIDsOfNames(new String[]{"GoForward"}); 
-		int dispIdMember = rgdispid[0];
-		oleAutomation.invoke(dispIdMember);
-	}
-	
-	/**
-	 * Navigates to home page.
-	 */
-	public void GoHome() {
-		// dispid=102, type=METHOD, name="GoHome"
-		int[] rgdispid = oleAutomation.getIDsOfNames(new String[]{"GoHome"}); 
-		int dispIdMember = rgdispid[0];
-		oleAutomation.invoke(dispIdMember);
-	}
-	
-	/**
-	 * Navigates to user-specified Web search gateway.
-	 */
-	public void GoSearch() {
-		// dispid=103, type=METHOD, name="GoSearch"
-		int[] rgdispid = oleAutomation.getIDsOfNames(new String[]{"GoSearch"}); 
-		int dispIdMember = rgdispid[0];
-		oleAutomation.invoke(dispIdMember);
-	}
-	
-	/**
-	 * Navigates to a particular URL.
-	 */
-	public void Navigate(String url) {
-		// dispid=104, type=METHOD, name="Navigate"
-		int[] rgdispid = oleAutomation.getIDsOfNames(new String[]{"Navigate", "URL"}); 
-		int dispIdMember = rgdispid[0];
-		
-		Variant[] rgvarg = new Variant[1];
-		rgvarg[0] = new Variant(url);
-		int[] rgdispidNamedArgs = new int[1];
-		rgdispidNamedArgs[0] = rgdispid[1]; // identifier of argument
-		oleAutomation.invoke(dispIdMember, rgvarg, rgdispidNamedArgs);
-	}
-	
-	/**
-	 * Refreshes the currently viewed page.
-	 *
-	 * @return the platform-defined result code for the "Refresh" method invocation
-	 */
-	public void Refresh(){
-		// dispid= 4294966746, type=METHOD, name="Refresh"
-		int[] rgdispid = oleAutomation.getIDsOfNames(new String[]{"Refresh"}); 
-		int dispIdMember = rgdispid[0];
-		oleAutomation.invokeNoReply(dispIdMember);
-	}
-	
-	/**
-	 * Aborts loading of the currnet page.
-	 *
-	 * @return the platform-defined result code for the "Stop" method invocation
-	 */
-	public void Stop() {
-		// dispid=106, type=METHOD, name="Stop"
-		int[] rgdispid = oleAutomation.getIDsOfNames(new String[]{"Stop"}); 
-		int dispIdMember = rgdispid[0];
-		oleAutomation.invoke(dispIdMember);
-	}	
-}
diff --git a/examples/org.eclipse.swt.examples.paint/.classpath b/examples/org.eclipse.swt.examples.paint/.classpath
deleted file mode 100755
index 065ac06..0000000
--- a/examples/org.eclipse.swt.examples.paint/.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.swt.examples.paint/.cvsignore b/examples/org.eclipse.swt.examples.paint/.cvsignore
deleted file mode 100755
index c5e82d7..0000000
--- a/examples/org.eclipse.swt.examples.paint/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.examples.paint/.project b/examples/org.eclipse.swt.examples.paint/.project
deleted file mode 100644
index 8d39af0..0000000
--- a/examples/org.eclipse.swt.examples.paint/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.swt.examples.paint</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.swt.examples.paint/.settings/org.eclipse.jdt.core.prefs b/examples/org.eclipse.swt.examples.paint/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 04771ca..0000000
--- a/examples/org.eclipse.swt.examples.paint/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-#Mon Dec 11 15:13:45 EST 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.swt.examples.paint/about.html b/examples/org.eclipse.swt.examples.paint/about.html
deleted file mode 100644
index 4602330..0000000
--- a/examples/org.eclipse.swt.examples.paint/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.swt.examples.paint/build.properties b/examples/org.eclipse.swt.examples.paint/build.properties
deleted file mode 100755
index ef0ae0e..0000000
--- a/examples/org.eclipse.swt.examples.paint/build.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.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 = doc-html/,\
-               icons/,\
-               plugin.properties,\
-               plugin.xml,\
-               about.html,\
-               *.jar
-
-src.includes = about.html
-
-source.paint.jar = src/
diff --git a/examples/org.eclipse.swt.examples.paint/doc-html/swt_paint_ex.html b/examples/org.eclipse.swt.examples.paint/doc-html/swt_paint_ex.html
deleted file mode 100755
index e48e7ce..0000000
--- a/examples/org.eclipse.swt.examples.paint/doc-html/swt_paint_ex.html
+++ /dev/null
@@ -1,38 +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>SWT - Paint Tool</title>
-</head>
-<body>
-
-<h2>SWT example - Paint Tool</h2>
-
-<p>	
-This example demonstrates the use of SWT graphics operations in the form of a
-rudimentary bitmap painting program.  The Paint Tool implementation also 
-demonstrates a mechanism for managing timed GUI operations in the background 
-that are triggered by user input.
-</p>
-<p>	
-Select a tool with which to draw in the drawing area.  There are a number of tools
-to choose from on the toolbar.  To change the color selection, click on a color in the
-palette below the drawing area; left-click to set the foreground color, right-click to set the
-background color.
-</p>
-
-<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>SWT Examples</strong> and select
-the view named <strong>Paint</strong>. A view containing the paint program will appear.
-</p>
-<p>
-This example can also be run using the <a href="../../org.eclipse.swt.examples.launcher/doc-html/swt_launcher_ex.html">Example Launcher</a>.
-Select the <strong>Paint</strong> item from the <strong>Workbench Views</strong> category and click <strong>Run</strong>.
-</p>
-
-</body>
-</html>
diff --git a/examples/org.eclipse.swt.examples.paint/icons/paint_example.gif b/examples/org.eclipse.swt.examples.paint/icons/paint_example.gif
deleted file mode 100755
index d945dde..0000000
--- a/examples/org.eclipse.swt.examples.paint/icons/paint_example.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.paint/plugin.properties b/examples/org.eclipse.swt.examples.paint/plugin.properties
deleted file mode 100755
index ed78759..0000000
--- a/examples/org.eclipse.swt.examples.paint/plugin.properties
+++ /dev/null
@@ -1,31 +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
-plugin.SWTPaintExample.name = SWT Paint Example Plugin
-category.SWTExamples.name = SWT Examples
-view.PaintExample.name = Paint
-
-launchcategory.SWTViewExamples.name = Workbench Views
-launchcategory.SWTViewExamples.description = \
-	A collection of Standard Widget Toolkit examples that run as Views inside the Workbench.  \
-	These examples will create a new View in the current Perspective.
-
-launchitem.PaintExample.name = Paint
-launchitem.PaintExample.description = \
-	This example demonstrates the use of SWT graphics operations in the form of a \
-	rudimentary bitmap painting program.  The Airbrush Tool implementation also \
-	demonstrates a mechanism for managing timed GUI operations in the background \
-	that are triggered by user input.\n\n\
-	Select a tool with which to draw in the drawing area.  There are a number of tools \
-	to choose from on the toolbar.  To change the color selection, click on a color in the \
-	palette below the drawing area: left-click for the foreground color, right-click for the \
-	background color.\n\n\
-	Uses SWT's GC and FontDialog, and JFace's InputDialog and action set support.
diff --git a/examples/org.eclipse.swt.examples.paint/plugin.xml b/examples/org.eclipse.swt.examples.paint/plugin.xml
deleted file mode 100755
index 77b96b8..0000000
--- a/examples/org.eclipse.swt.examples.paint/plugin.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.swt.examples.paint"
-   name="%plugin.SWTPaintExample.name"
-   version="3.1.100.qualifier"
-   provider-name="%providerName"
-   class="org.eclipse.swt.examples.paint.PaintPlugin">
-
-<!-- Runtime -->
-   <runtime>
-      <library name="paint.jar">
-      </library>
-   </runtime>
-<!-- Required plugins -->
-   <requires>
-      <import plugin="org.eclipse.ui.ide"/>
-      <import plugin="org.eclipse.ui.views"/>
-      <import plugin="org.eclipse.jface.text"/>
-      <import plugin="org.eclipse.ui.workbench.texteditor"/>
-      <import plugin="org.eclipse.ui.editors"/>
-      <import plugin="org.eclipse.core.runtime"/>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.swt"/>
-      <import plugin="org.eclipse.swt.examples"/>
-   </requires>
-
-
-<!-- Extension points -->
-<!-- Extensions -->
-   <extension
-         point="org.eclipse.ui.views">
-      <view
-            name="%view.PaintExample.name"
-            icon="icons/paint_example.gif"
-            category="org.eclipse.swt.examples.category"
-            class="org.eclipse.swt.examples.paint.PaintView"
-            id="org.eclipse.swt.examples.paint.view">
-      </view>
-   </extension>
-   <extension
-         point="org.eclipse.swt.examples.launcher.launchItems">
-      <category
-            name="%launchcategory.SWTViewExamples.name"
-            description="%launchcategory.SWTViewExamples.description"
-            id="org.eclipse.swt.examples.launchViewCategory">
-      </category>
-      <item
-            name="%launchitem.PaintExample.name"
-            icon="icons/paint_example.gif"
-            description="%launchitem.PaintExample.description"
-            category="org.eclipse.swt.examples.launchViewCategory"
-            id="org.eclipse.swt.examples.paint.viewlauncher">
-         <view
-               viewId="org.eclipse.swt.examples.paint.view">
-         </view>
-      </item>
-   </extension>
-
-</plugin>
diff --git a/examples/org.eclipse.swt.examples.paint/src/import.properties b/examples/org.eclipse.swt.examples.paint/src/import.properties
deleted file mode 100644
index 8241dac..0000000
--- a/examples/org.eclipse.swt.examples.paint/src/import.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# Persist project settings for later import 
-natures = org.eclipse.jdt.core.javanature; org.eclipse.pde.PluginNature
-builders = org.eclipse.jdt.core.javabuilder; org.eclipse.pde.ManifestBuilder; org.eclipse.pde.SchemaBuilder
-var.ECLIPSE_PLUGINS = <<ECLIPSE_PLUGINS>>
diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintPlugin.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintPlugin.java
deleted file mode 100755
index 19437fc..0000000
--- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintPlugin.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.swt.examples.paint;
-
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.ui.plugin.*;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class PaintPlugin extends AbstractUIPlugin {
-	private static PaintPlugin plugin;
-
-	/**
-	 * Constructs the Paint plugin.
-	 */
-	public PaintPlugin() {
-		super();
-		plugin = this;
-	}
-	
-	/**
-	 * Log an error to the ILog for this plugin
-	 * 
-	 * @param message the localized error message text
-	 * @param exception the associated exception, or null
-	 */
-	public static void logError(String message, Throwable exception) {
-		plugin.getLog().log(
-			new Status(IStatus.ERROR, plugin.getBundle().getSymbolicName(), 0, message, exception));
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintView.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintView.java
deleted file mode 100755
index 1250f49..0000000
--- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintView.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.swt.examples.paint;
-
-
-import org.eclipse.jface.action.*;
-import org.eclipse.jface.resource.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.*;
-import org.eclipse.ui.part.*;
-
-/**
- * The view for the paint application.
- * All rendering happens inside the area created by createPartControl().
- * 
- * @see ViewPart
- */
-public class PaintView extends ViewPart {
-	PaintExample instance = null;
-
-	/**
-	 * Constructs a Paint view.
-	 */
-	public PaintView() {
-	}
-
-	/**
-	 * Creates the example.
-	 * 
-	 * @see ViewPart#createPartControl
-	 */
-	public void createPartControl(Composite parent) {
-		instance = new PaintExample(parent);
-		instance.createGUI(parent);
-
-		/*** Add toolbar contributions ***/
-		final IActionBars actionBars = getViewSite().getActionBars();
-		IToolBarManager toolbarManager = actionBars.getToolBarManager();
-		Tool tools[] = PaintExample.tools;
-		String group = tools[0].group;
-		toolbarManager.add(new GroupMarker(group));
-		for (int i = 0; i < tools.length; i++) {
-			Tool tool = tools[i];
-			if (!tool.group.equals(group)) {
-				toolbarManager.add(new Separator());
-				toolbarManager.add(new GroupMarker(tool.group));
-			}
-			group = tool.group;
-			PaintAction action = new PaintAction(tool);
-			toolbarManager.appendToGroup(group, action);
-			if (i == PaintExample.Default_tool || i == PaintExample.Default_fill || i == PaintExample.Default_linestyle) {
-				action.setChecked(true);
-			}
-		}
-		actionBars.updateActionBars();
-
-		instance.setDefaults();
-	}
-
-	/**
-	 * Called when the View is to be disposed
-	 */	
-	public void dispose() {
-		instance.dispose();
-		instance = null;
-		super.dispose();
-	}
-	
-	/**
-	 * Returns the Display.
-	 * 
-	 * @return the display we're using
-	 */
-	public Display getDisplay() {
-		return instance.getDisplay();
-	}
-	
-	/**
-	 * Called when we must grab focus.
-	 * 
-	 * @see org.eclipse.ui.part.ViewPart#setFocus
-	 */
-	public void setFocus() {
-		instance.setFocus();
-	}
-
-	/**
-	 * Action set glue.
-	 */
-	class PaintAction extends Action {
-		private int style;
-		private Runnable action;
-		public PaintAction(Tool tool) {
-			super();
-			String id = tool.group + '.' + tool.name;
-			setId(id);
-			style = tool.type == SWT.RADIO ? IAction.AS_RADIO_BUTTON : IAction.AS_PUSH_BUTTON;
-			action = tool.action;
-			setText(PaintExample.getResourceString(id + ".label"));
-			setToolTipText(PaintExample.getResourceString(id + ".tooltip"));
-			setDescription(PaintExample.getResourceString(id + ".description"));
-			setImageDescriptor(ImageDescriptor.createFromFile(
-					PaintExample.class,
-					PaintExample.getResourceString(id + ".image")));
-		}
-		public int getStyle() { return style; }
-		public void run() { action.run(); }
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.examples/.classpath b/examples/org.eclipse.swt.examples/.classpath
deleted file mode 100755
index 065ac06..0000000
--- a/examples/org.eclipse.swt.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.swt.examples/.cvsignore b/examples/org.eclipse.swt.examples/.cvsignore
deleted file mode 100755
index c5e82d7..0000000
--- a/examples/org.eclipse.swt.examples/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.examples/.project b/examples/org.eclipse.swt.examples/.project
deleted file mode 100644
index 7277259..0000000
--- a/examples/org.eclipse.swt.examples/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.swt.examples</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.swt.examples/.settings/org.eclipse.jdt.core.prefs b/examples/org.eclipse.swt.examples/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 2a57571..0000000
--- a/examples/org.eclipse.swt.examples/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-#Mon Dec 11 14:31:37 EST 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.swt.examples/.settings/org.eclipse.pde.prefs b/examples/org.eclipse.swt.examples/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index dd8267f..0000000
--- a/examples/org.eclipse.swt.examples/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,15 +0,0 @@
-#Wed May 02 14:27:20 CEST 2007
-compilers.incompatible-environment=1
-compilers.p.build=1
-compilers.p.deprecated=1
-compilers.p.missing-packages=2
-compilers.p.no-required-att=0
-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=1
-compilers.p.unresolved-import=0
-compilers.use-project=true
-eclipse.preferences.version=1
diff --git a/examples/org.eclipse.swt.examples/about.html b/examples/org.eclipse.swt.examples/about.html
deleted file mode 100644
index 4602330..0000000
--- a/examples/org.eclipse.swt.examples/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.swt.examples/build.properties b/examples/org.eclipse.swt.examples/build.properties
deleted file mode 100755
index 984d925..0000000
--- a/examples/org.eclipse.swt.examples/build.properties
+++ /dev/null
@@ -1,21 +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 = doc-html/,\
-               plugin.properties,\
-               plugin.xml,\
-               about.html,\
-               swtexamples.jar
-
-src.includes = about.html,\
-               doc-html/,\
-               src/
-               
-source.swtexamples.jar = src/
diff --git a/examples/org.eclipse.swt.examples/doc-html/swt_addressbook_ex.html b/examples/org.eclipse.swt.examples/doc-html/swt_addressbook_ex.html
deleted file mode 100755
index 6b04c2d..0000000
--- a/examples/org.eclipse.swt.examples/doc-html/swt_addressbook_ex.html
+++ /dev/null
@@ -1,32 +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>SWT - Address Book Example</title>
-</head>
-<body>
-
-<h2>SWT standalone example - Address Book</h2>
-
-<p>
-The AddressBook example shows how a Table control can be used to
-present information in a tabular format. The application can save and load data 
-from a file, sort the entries, and search for strings within the fields.
-</p>
-
-<h3>Running the example</h3>
-<p>
-Follow the <a href="swt_manual_setup.html">SWT standalone examples setup</a> 
-instructions to install and run the example from your workspace.
-</p>
-<p>
-The "Main" class is <code>org.eclipse.swt.examples.addressbook.AddressBook</code>.
-</p>
-<p>
-This example can also be run using the <a href="swt_launcher_ex.html">Example Launcher</a>.
-Select the <strong>Address Book</strong> item from the <strong>Standalone</strong> category and click <strong>Run</strong>.
-</p>
-
-</body>
-</html>
diff --git a/examples/org.eclipse.swt.examples/doc-html/swt_browser_ex.html b/examples/org.eclipse.swt.examples/doc-html/swt_browser_ex.html
deleted file mode 100644
index e393a39..0000000
--- a/examples/org.eclipse.swt.examples/doc-html/swt_browser_ex.html
+++ /dev/null
@@ -1,33 +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>SWT - Controls Overview</title>
-</head>
-<body>
-
-<h2>SWT example - Browser</h2>
-
-<p>
-The Browser Example is a simple demonstration of the SWT Browser widget. 
-It consists of a composite containing a Browser widget to render HTML and some
-additional widgets to implement actions commonly found on browsers (toolbar
-with back, forward, refresh and stop buttons, status bar etc.).
-</p>
-
-<h3>Running the example</h3>
-<p>
-Follow the <a href="swt_manual_setup.html">SWT standalone examples setup</a> 
-instructions to install and run the example from your workspace.
-</p>
-<p>
-The "Main" class is <code>org.eclipse.swt.examples.browserexample.BrowserExample</code>.
-</p>
-<p>
-This example can also be run using the <a href="swt_launcher_ex.html">Example Launcher</a>.
-Select the <strong>Web Browser</strong> item from the <strong>Workbench Views</strong> category and click <strong>Run</strong>.
-</p>
-
-</body>
-</html>
diff --git a/examples/org.eclipse.swt.examples/doc-html/swt_clipboard_ex.html b/examples/org.eclipse.swt.examples/doc-html/swt_clipboard_ex.html
deleted file mode 100644
index 06be96c..0000000
--- a/examples/org.eclipse.swt.examples/doc-html/swt_clipboard_ex.html
+++ /dev/null
@@ -1,31 +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>SWT - Clipboard Example</title>
-</head>
-<body>
-
-<h2>SWT standalone example - Clipboard</h2>
-
-<p>
-The Clipboard example shows the various SWT clipboard transfer types in use.  The example can
-cut, copy and paste using Text, RTF, HTML and File transfer types.
-</p>
-
-<h3>Running the example</h3>
-<p>
-Follow the <a href="swt_manual_setup.html">SWT standalone examples setup</a> 
-instructions to install and run the example from your workspace.
-</p>
-<p>
-The "Main" class is <code>org.eclipse.swt.examples.clipboard.ClipboardExample</code>.
-</p>
-<p>
-This example can also be run using the <a href="swt_launcher_ex.html">Example Launcher</a>.
-Select the <strong>Clipboard</strong> item from the <strong>Standalone</strong> category and click <strong>Run</strong>.
-</p>
-
-</body>
-</html>
diff --git a/examples/org.eclipse.swt.examples/doc-html/swt_controls_ex.html b/examples/org.eclipse.swt.examples/doc-html/swt_controls_ex.html
deleted file mode 100644
index d6be78d..0000000
--- a/examples/org.eclipse.swt.examples/doc-html/swt_controls_ex.html
+++ /dev/null
@@ -1,33 +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>SWT - Controls Overview</title>
-</head>
-<body>
-
-<h2>SWT example - Controls</h2>
-
-<p>
-The Controls Example is a simple demonstration of common SWT controls. 
-It consists of a tab folder where each tab in the folder allows the user 
-to interact with a different control.
-The user can change styles and settings and view how this affects each control.
-</p>
-
-<h3>Running the example</h3>
-<p>
-Follow the <a href="swt_manual_setup.html">SWT standalone examples setup</a> 
-instructions to install and run the example from your workspace.
-</p>
-<p>
-The "Main" class is <code>org.eclipse.swt.examples.controlexample.ControlExample</code>.
-</p>
-<p>
-This example can also be run using the <a href="swt_launcher_ex.html">Example Launcher</a>.
-Select the <strong>Controls</strong> item from the <strong>Workbench Views</strong> category and click <strong>Run</strong>.
-</p>
-
-</body>
-</html>
diff --git a/examples/org.eclipse.swt.examples/doc-html/swt_customcontrols_ex.html b/examples/org.eclipse.swt.examples/doc-html/swt_customcontrols_ex.html
deleted file mode 100644
index 275f298..0000000
--- a/examples/org.eclipse.swt.examples/doc-html/swt_customcontrols_ex.html
+++ /dev/null
@@ -1,33 +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>SWT - Controls Overview</title>
-</head>
-<body>
-
-<h2>SWT example - Custom Controls</h2>
-
-<p>
-The Custom Controls example is a simple demonstration of emulated SWT controls. 
-It consists of a tab folder where each tab in the folder allows the user 
-to interact with a different emulated control.
-The user can change styles and settings and view how this affects each control.
-</p>
-
-<h3>Running the example</h3>
-<p>
-Follow the <a href="swt_manual_setup.html">SWT standalone examples setup</a> 
-instructions to install and run the example from your workspace.
-</p>
-<p>
-The "Main" class is <code>org.eclipse.swt.examples.controlexample.CustomControlExample</code>.
-</p>
-<p>
-This example can also be run using the <a href="swt_launcher_ex.html">Example Launcher</a>.
-Select the <strong>Custom Controls</strong> item from the <strong>Workbench Views</strong> category and click <strong>Run</strong>.
-</p>
-
-</body>
-</html>
diff --git a/examples/org.eclipse.swt.examples/doc-html/swt_dnd_ex.html b/examples/org.eclipse.swt.examples/doc-html/swt_dnd_ex.html
deleted file mode 100644
index 581aa57..0000000
--- a/examples/org.eclipse.swt.examples/doc-html/swt_dnd_ex.html
+++ /dev/null
@@ -1,31 +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>SWT - Drag and Drop Example</title>
-</head>
-<body>
-
-<h2>SWT standalone example - Drag and Drop</h2>
-
-<p>
-The Drag and Drop example shows the various SWT data transfer types in use.  The example can
-drag and drop using Text, RTF, HTML and File transfer types.
-</p>
-
-<h3>Running the example</h3>
-<p>
-Follow the <a href="swt_manual_setup.html">SWT standalone examples setup</a> 
-instructions to install and run the example from your workspace.
-</p>
-<p>
-The "Main" class is <code>org.eclipse.swt.examples.dnd.DNDExample</code>.
-</p>
-<p>
-This example can also be run using the <a href="swt_launcher_ex.html">Example Launcher</a>.
-Select the <strong>Drag and Drop</strong> item from the <strong>Standalone</strong> category and click <strong>Run</strong>.
-</p>
-
-</body>
-</html>
diff --git a/examples/org.eclipse.swt.examples/doc-html/swt_fileviewer_ex.html b/examples/org.eclipse.swt.examples/doc-html/swt_fileviewer_ex.html
deleted file mode 100755
index ce21ccd..0000000
--- a/examples/org.eclipse.swt.examples/doc-html/swt_fileviewer_ex.html
+++ /dev/null
@@ -1,33 +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>SWT - File Viewer Example</title>
-</head>
-<body>
-
-<h2>SWT standalone example - File Viewer</h2>
-
-<p>
-The File Viewer example shows how a simple application can be implemented using SWT.
-This application provides the ability to navigate files and folders on the local file system and manipulate them using drag and drop.
-It uses alternate threads for long actions and demonstrates the use of the Tree,
-Table, and Toolbar widgets and the Program class.
-</p>
-
-<h3>Running the example</h3>
-<p>
-Follow the <a href="swt_manual_setup.html">SWT standalone examples setup</a> 
-instructions to install and run the example from your workspace.
-</p>
-<p>
-The "Main" class is <code>org.eclipse.swt.examples.fileviewer.FileViewer</code>.
-</p>
-<p>
-This example can also be run using the <a href="swt_launcher_ex.html">Example Launcher</a>.
-Select the <strong>File Viewer</strong> item from the <strong>Standalone</strong> category and click <strong>Run</strong>.
-</p>
-
-</body>
-</html>
diff --git a/examples/org.eclipse.swt.examples/doc-html/swt_helloworld_ex.html b/examples/org.eclipse.swt.examples/doc-html/swt_helloworld_ex.html
deleted file mode 100755
index 67ec7a4..0000000
--- a/examples/org.eclipse.swt.examples/doc-html/swt_helloworld_ex.html
+++ /dev/null
@@ -1,61 +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>SWT - Hello World Examples</title>
-</head>
-<body>
-
-<h2>SWT standalone example - Hello World</h2>
-
-<p>
-The Hello World examples are a set of introductory examples that show how to get started 
-on creating an application with SWT.  They cover the creation of a shell, the use of event listeners, 
-using layouts, processing events in an event loop, and drawing with a Graphics Context.
-</p>
-
-<h4>Hello World 1</h4>
-<p>
-This example demonstrates how to open a Shell and process the events.
-</p>
-
-<h4>Hello World 2</h4>
-<p>
-This example builds on HelloWorld1 and demonstrates how to display a Label inside of the Shell.
-</p>
-
-<h4>Hello World 3</h4>
-<p>
-This example builds on HelloWorld2 and demonstrates how to use a listener mechanism to resize the Label
-when the Shell size changes.
-</p>
-
-<h4>Hello World 4</h4>
-<p>
-This example builds on HelloWorld2 and demonstrates how to use a Layout to resize the Label
-when the Shell size changes.
-</p>
-
-<h4>Hello World 5</h4>
-<p>
-This example builds on HelloWorld1 and demonstrates how to draw directly
-on an SWT Control using a Graphics Context.
-</p>
-
-<h3>Running the example</h3>
-
-<p>
-Follow the <a href="swt_manual_setup.html">SWT standalone examples setup</a> 
-instructions to install and run the example from your workspace.
-</p>
-<p>
-The "Main" class is <code>org.eclipse.swt.examples.helloworld.HelloWorld[1-5]</code>.
-</p>
-<p>
-This example can also be run using the <a href="swt_launcher_ex.html">Example Launcher</a>.
-Select one of the <strong>Hello World</strong> items from the <strong>Standalone</strong> category and click <strong>Run</strong>.
-</p>
-
-</body>
-</html>
diff --git a/examples/org.eclipse.swt.examples/doc-html/swt_hoverhelp_ex.html b/examples/org.eclipse.swt.examples/doc-html/swt_hoverhelp_ex.html
deleted file mode 100755
index 7eb89b1..0000000
--- a/examples/org.eclipse.swt.examples/doc-html/swt_hoverhelp_ex.html
+++ /dev/null
@@ -1,36 +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>SWT - Hover Help Example</title>
-</head>
-<body>
-
-<h2>SWT standalone example - Hover Help</h2>
-
-<p>
-The Hover Help example shows how to implement custom tooltips and hover help support
-on various SWT controls including Buttons, TableItems, ToolItems and TreeItems.
-To see the custom tooltips in action, hover over an item or button in the UI, and
-notice that images appear in the left-hand corner of the tooltip.
-To see the custom hover help in action, hover over an item or button in the UI until
-the tooltip is displayed.  Then, without moving the mouse, press <strong>F1</strong> and a new
-Shell will be shown with the extended hover help information for the UI element.
-</p>	
-
-<h3>Running the example</h3>
-<p>
-Follow the <a href="swt_manual_setup.html">SWT standalone examples setup</a> 
-instructions to install and run the example from your workspace.
-</p>
-<p>
-The "Main" class is <code>org.eclipse.swt.examples.hoverhelp.HoverHelp</code>.
-</p>
-<p>
-This example can also be run using the <a href="swt_launcher_ex.html">Example Launcher</a>.
-Select the <strong>Hover Help</strong> item from the <strong>Standalone</strong> category and click <strong>Run</strong>.
-</p>
-
-</body>
-</html>
diff --git a/examples/org.eclipse.swt.examples/doc-html/swt_imageanalyzer_ex.html b/examples/org.eclipse.swt.examples/doc-html/swt_imageanalyzer_ex.html
deleted file mode 100755
index d984cda..0000000
--- a/examples/org.eclipse.swt.examples/doc-html/swt_imageanalyzer_ex.html
+++ /dev/null
@@ -1,56 +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>SWT - Image Analyzer Example</title>
-</head>
-<body>
-
-<h2>SWT standalone example - Image Analyzer</h2>
-
-<p>
-The ImageAnalyzer example opens image files and displays their visual contents and
-an image data summary.
-The user can make adjustments to various elements of the image such as scaling and Alpha
-blending, and can save these changes to a file.
-</p>
-<p>
-The ImageAnalyzer can load and display image files of type GIF, JPEG, BMP, ICO, and PNG.
-If a loaded file is an interlaced GIF or PNG, or a progressive JPEG, and <strong>Incremental Display</strong> is selected,
-then the ImageAnalyzer will display the image increments as they are loaded.
-If the file contains an animated GIF, then the <strong>Next</strong>, <strong>Previous</strong>, and <strong>Animate</strong> buttons become enabled,
-and can be used to cycle through and animate the images in the file. If a GIF defines a background color,
-as many animated GIFs do, then selecting <strong>Background</strong> will use the GIF's background color.
-If the image has transparency, which is possible with images of type GIF, PNG, and ICO, then selecting <strong>Display Mask</strong> will draw the image's transparency
-mask to the right of the image. You can change the background color of the ImageAnalyzer in order to see the transparency work.
-To turn off transparency, deselect <strong>Display Transparency</strong>.
-After an image is loaded, it can be scaled with the <strong>Scale</strong> combo, or have alpha transparency applied to it using the <strong>Alpha-K</strong> combo
-and <strong>Alpha</strong> menu. <strong>File</strong> &gt; <strong>Reopen</strong> restores the scaling and alpha attributes to their default values and reloads the current image file.
-If the image has transparency,
-<strong>File</strong> &gt; <strong>Save Mask As...</strong> can be used to save the image's transparency mask.
-</p>
-<p>
-When SWT loads an image file, an instance of <code>org.eclipse.swt.graphics.ImageData</code> is created (though in the case of an ICO file or
-multi-image GIF an array of <code>ImageData</code> instances is created). The ImageAnalyzer displays all of the data stored in the <code>ImageData</code>
-instance(s) for the currently loaded image file, including the pixel data. Hovering over a pixel in the image display will show the RGB
-color data for that pixel. For certain images, particularly animated GIFs, additional data is stored in the <code>org.eclipse.swt.graphics.ImageLoader</code>
-instance that is used to load the image. The ImageAnalyzer displays this data as well.
-</p>
-
-<h3>Running the example</h3>
-
-<p>
-Follow the <a href="swt_manual_setup.html">SWT standalone examples setup</a> 
-instructions to install and run the example from your workspace.
-</p>
-<p>
-The "Main" class is <code>org.eclipse.swt.examples.imageanalyzer.ImageAnalyzer</code>.
-</p>
-<p>
-This example can also be run using the <a href="swt_launcher_ex.html">Example Launcher</a>.
-Select the <strong>Image Analyzer</strong> item from the <strong>Standalone</strong> category and click <strong>Run</strong>.
-</p>
-
-</body>
-</html>
diff --git a/examples/org.eclipse.swt.examples/doc-html/swt_javaviewer_ex.html b/examples/org.eclipse.swt.examples/doc-html/swt_javaviewer_ex.html
deleted file mode 100755
index 4d1e773..0000000
--- a/examples/org.eclipse.swt.examples/doc-html/swt_javaviewer_ex.html
+++ /dev/null
@@ -1,33 +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>SWT - Java Syntax Viewer Example</title>
-</head>
-<body>
-
-<h2>SWT standalone example - Java Syntax Viewer</h2>
-
-<p>
-This example shows how to implement a user-defined line styler for the StyledText widget.
-The example provides a typical editor interface.
-To see the effect of the line styler, open a *.java file, and
-when the contents of the file are displayed in the editor area, notice that the keywords have been highlighted.
-</p>
-
-<h3>Running the example</h3>
-<p>
-Follow the <a href="swt_manual_setup.html">SWT standalone examples setup</a> 
-instructions to install and run the example from your workspace.
-</p>
-<p>
-The "Main" class is <code>org.eclipse.swt.examples.javaviewer.JavaViewer</code>.
-</p>
-<p>
-This example can also be run using the <a href="swt_launcher_ex.html">Example Launcher</a>.
-Select the <strong>Java Syntax Viewer</strong> item from the <strong>Standalone</strong> category and click <strong>Run</strong>.
-</p>
-
-</body>
-</html>
diff --git a/examples/org.eclipse.swt.examples/doc-html/swt_launcher_ex.html b/examples/org.eclipse.swt.examples/doc-html/swt_launcher_ex.html
deleted file mode 100644
index 60cbc82..0000000
--- a/examples/org.eclipse.swt.examples/doc-html/swt_launcher_ex.html
+++ /dev/null
@@ -1,44 +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>SWT - Example Launcher</title>
-</head>
-<body>
-
-<h2>SWT Example Launcher</h2>
-
-<p>
-The Example Launcher is used to launch SWT examples, which can either be Workbench views 
-or standalone applications.
-</p>
-
-<ul>
-<li>Workbench views are examples that are integrated into Eclipse.  When the launcher
-starts a Workbench view, it is opened in the currently active perspective.
-<li>Standalone applications are launched in a separate window.
-</ul>
-
-<p>
-For information on how to run the standalone examples without the SWT Example Launcher, 
-refer to <a href="swt_manual_setup.html">SWT standalone examples setup</a>.
-</p>
-<p>
-The SWT Workbench view examples can also be launched directly without using the SWT Example 
-Launcher.  SWT Workbench view examples can be found under the <strong>SWT Examples</strong> category of the 
-<strong>Show Views</strong> dialog.
-</p>
-
-<h3>Running the Example Launcher</h3>
-
-<p>
-From Eclipse's <strong>Window</strong> menu, select <strong>Show View &gt; Other</strong>. 
-In the <strong>Show View</strong> dialog, expand <strong>SWT Examples</strong> and select the <strong>SWT Example Launcher</strong> view. 
-A view containing a list of examples will appear in your current perspective.
-When you select an example from the list a brief description of the example is displayed.
-Click on the <strong>Run</strong> button to launch the example.
-</p>
-
-</body>
-</html>
diff --git a/examples/org.eclipse.swt.examples/doc-html/swt_layout_ex.html b/examples/org.eclipse.swt.examples/doc-html/swt_layout_ex.html
deleted file mode 100644
index 32589b1..0000000
--- a/examples/org.eclipse.swt.examples/doc-html/swt_layout_ex.html
+++ /dev/null
@@ -1,35 +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>SWT - Layout Example</title>
-</head>
-<body>
-
-<h2>SWT example - Layouts</h2>
-
-<p>
-This example is a simple demonstration of common SWT layouts. 
-It consists of a tab folder where each tab in the folder allows the 
-user to interact with a different SWT layout.
-The user can insert widgets into a layout and set the values of the layout data
-using a property sheet.  When the user has a suitable arrangement, the underlying
-code can be generated by clicking on the <strong>Code</strong> button.
-</p>
-
-<h3>Running the example</h3>
-<p>
-Follow the <a href="swt_manual_setup.html">SWT standalone examples setup</a> 
-instructions to install and run the example from your workspace.
-</p>
-<p>
-The "Main" class is <code>org.eclipse.swt.examples.layoutexample.LayoutExample</code>.
-</p>
-<p>
-This example can also be run using the <a href="swt_launcher_ex.html">Example Launcher</a>.
-Select the <strong>Layouts</strong> item from the <strong>Workbench Views</strong> category and click <strong>Run</strong>.
-</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.examples/doc-html/swt_manual_setup.html b/examples/org.eclipse.swt.examples/doc-html/swt_manual_setup.html
deleted file mode 100755
index 6058ee8..0000000
--- a/examples/org.eclipse.swt.examples/doc-html/swt_manual_setup.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>SWT Standalone Examples Setup</title>
-</head>
-<body>
-
-<h2>SWT standalone examples setup</h2>
-
-<h3>Adding SWT to your workspace</h3>
-
-<ol>
-<li>Download SWT for standalone applications.  A standalone version of SWT is available 
-on the same download page as the Eclipse SDK.  Look for the section titled 
-<strong>SWT Binary and Source</strong>.  Do not extract the archive file, just save it to disk.
-<li>Select <strong>Import...</strong> from the <strong>File</strong> menu.</li>
-<li>Select <strong>Existing Projects into Workspace</strong> and click on the <strong>Next</strong> button.</li>
-<li>Select <strong>Select archive file:</strong> and use the <strong>Browse</strong> button to locate the SWT 
-standalone archive you have previously downloaded.</li>
-<li>Click on the <strong>Finish</strong> button.</li>
-</ol>
-
-<h3>Importing example source</h3>
-
-<ol>
-<li>Download and install the Eclipse Example Plug-ins.  The Eclipse Example Plug-ins are available on the same
-download page as the Eclipse SDK.  Look for the section titled <strong>Example Plug-ins</strong>.
-You can install the examples in the same location as you installed Eclipse or you can choose
-a different location.  If you install the examples in the same location as Eclipse, the example views 
-and editors will show up in your Eclipse environment (e.g. <strong>Windows &gt; Show View ... &gt; Other ... &gt; SWT Examples</strong>
-If the SWT example views do not appear right away in your menu, restart eclipse with the <strong>-clean</strong> argument).
-This is fine but it is not necessary.
-<li>Select <strong>New &gt; Project ...</strong> from the <strong>File</strong> menu.
-<li>Select <strong>Java Project</strong> and click on the <strong>Next</strong> button.</li>
-<li>Give the java project a name such as "SWT Examples".</li>
-<li>Select <strong>Create project from existing source</strong> and click on the <strong>Browse ...</strong> 
-button to locate the following directory:
-&nbsp;&nbsp;&nbsp;&nbsp;<code>eclipse/plugins/org.eclipse.sdk.examples.source_3.1.0/src/org.eclipse.swt.examples_3.1.0</code>
-<li>Click on the <strong>Next</strong> button.</li>
-<li>Click on the <strong>Projects</strong> tab and click on the <strong>Add</strong> button.</li>
-<li>Place a check beside <strong>org.eclipse.swt</strong> and click on the <strong>OK</strong> button.</li>
-<li>Click on the <strong>Finish</strong> button.</li>
-</ol>
-
-<p>At this point your SWT examples should be compiled without any errors.  Check the <strong>Problems</strong> 
-view for errors.  If you get an error like "<code>java.lang.Object</code> not found" it means 
-you have not configured a JRE.  Go to the <strong>Window</strong> &gt; <strong>Preferences ...</strong> dialog
-and select the <strong>Java</strong> &gt; <strong>Installed JREs</strong> preference page.  Ensure that a JRE is installed 
-and that the path to the JRE is correct.</p>
-
-<h3><a NAME="Run"></a>Running the Example</h3>
-
-<p>Now you can run the SWT standalone examples.
-
-<ol>
-<li>Open the Java perspective.
-<li>In the Packages view, select the main class that you want to run.  
-    For example, the main class for the Address Book example is 
-    <code>org.eclipse.swt.examples.addressbook.AddressBook</code>.
-<li>Select <strong>Run</strong> &gt; <strong>Run As...</strong> &gt; <strong>Java Application</strong> from the main menu.
-</ol>
-
-
-<h3><a name="ExamplesOverview">Examples Overview</a></h3>
-<p>
-Consult the documentation of each individual example for the name of
-its main class and additional details.
-The following examples are included in the <code>swtexamples.jar</code>:
-</p>
-<ul>
-<li><a href="swt_addressbook_ex.html">Address Book</a>
-<li><a href="swt_browser_ex.html">Browser Example</a>
-<li><a href="swt_clipboard_ex.html">Clipboard</a>
-<li><a href="swt_controls_ex.html">Controls</a>
-<li><a href="swt_customcontrols_ex.html">Custom Controls</a>
-<li><a href="swt_dnd_ex.html">Drag and Drop Example</a>
-<li><a href="swt_fileviewer_ex.html">File Viewer</a>
-<li><a href="swt_helloworld_ex.html">Hello World [1-5]</a>
-<li><a href="swt_hoverhelp_ex.html">Hover Help</a>
-<li><a href="swt_imageanalyzer_ex.html">Image Analyzer</a>
-<li><a href="swt_javaviewer_ex.html">Java Syntax Viewer</a>
-<li><a href="swt_layout_ex.html">Layouts</a>
-<li><a href="swt_paint_ex.html">Paint Example</a>
-<li><a href="swt_texteditor_ex.html">Text Editor</a>
-</ul>
-
-</body>
-</html>
diff --git a/examples/org.eclipse.swt.examples/doc-html/swt_paint_ex.html b/examples/org.eclipse.swt.examples/doc-html/swt_paint_ex.html
deleted file mode 100644
index 6f4cf5a..0000000
--- a/examples/org.eclipse.swt.examples/doc-html/swt_paint_ex.html
+++ /dev/null
@@ -1,40 +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>SWT - Paint Tool</title>
-</head>
-<body>
-
-<h2>SWT example - Paint Tool</h2>
-
-<p>	
-This example demonstrates the use of SWT graphics operations in the form of a
-rudimentary bitmap painting program.  The Paint Tool implementation also 
-demonstrates a mechanism for managing timed GUI operations in the background 
-that are triggered by user input.
-</p>
-<p>	
-Select a tool with which to draw in the drawing area.  There are a number of tools
-to choose from on the toolbar.  To change the color selection, click on a color in the
-palette below the drawing area; left-click to set the foreground color, right-click to set the
-background color.
-</p>
-
-<h3>Running the example</h3>
-
-<p>
-Follow the <a href="swt_manual_setup.html">SWT standalone examples setup</a> 
-instructions to install and run the example from your workspace.
-</p>
-<p>
-The "Main" class is <code>org.eclipse.swt.examples.paint.PaintExample</code>.
-</p>
-<p>
-This example can also be run using the <a href="swt_launcher_ex.html">Example Launcher</a>.
-Select the <strong>Paint</strong> item from the <strong>Workbench Views</strong> category and click <strong>Run</strong>.
-</p>
-
-</body>
-</html>
diff --git a/examples/org.eclipse.swt.examples/doc-html/swt_texteditor_ex.html b/examples/org.eclipse.swt.examples/doc-html/swt_texteditor_ex.html
deleted file mode 100755
index 23ce9b1..0000000
--- a/examples/org.eclipse.swt.examples/doc-html/swt_texteditor_ex.html
+++ /dev/null
@@ -1,34 +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>SWT - Text Editor Example</title>
-</head>
-<body>
-
-<h2>SWT standalone example - Text Editor</h2>
-
-<p>
-This example demonstrates how to use a StyledText widget to implement
-a text editor with formatting support.
-The example has a typical text editor interface.
-The <strong>Edit</strong> menu contains <strong>Cut</strong>, <strong>Copy</strong>, <strong>Paste</strong> and <strong>Set Font</strong> items.  The toolbar
-provides a bold text toggle, three colour tools, and a reset button, all of which operate on the current selection.
-</p>
-
-<h3>Running the example</h3>
-<p>
-Follow the <a href="swt_manual_setup.html">SWT standalone examples setup</a> 
-instructions to install and run the example from your workspace.
-</p>
-<p>
-The "Main" class is <code>org.eclipse.swt.examples.texteditor.TextEditor</code>.
-</p>
-<p>
-This example can also be run using the <a href="swt_launcher_ex.html">Example Launcher</a>.
-Select the <strong>Text Editor</strong> item from the <strong>Standalone</strong> category and click <strong>Run</strong>.
-</p>
-
-</body>
-</html>
diff --git a/examples/org.eclipse.swt.examples/plugin.properties b/examples/org.eclipse.swt.examples/plugin.properties
deleted file mode 100755
index dab20ea..0000000
--- a/examples/org.eclipse.swt.examples/plugin.properties
+++ /dev/null
@@ -1,141 +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
-###############################################################################
-providerName = Eclipse.org
-plugin.SWTStandaloneExampleSet.name = SWT Standalone Examples Plugin
-
-launchcategory.SWTStandaloneExamples.name = Standalone
-launchcategory.SWTStandaloneExamples.description = \
-	A collection of Standard Widget Toolkit examples that run independant \
-	of the Eclipse Platform.
-
-launchitem.AddressBook.name = Address Book
-launchitem.AddressBook.description = \
-	The AddressBook example shows how the Table control can be used to \
-	present information in a tabular format.\n\n\
-	The application can save and load data from a file, sort the entries, and \
-	search for strings within the fields.
-
-launchitem.BrowserExample.name = Browser
-launchitem.BrowserExample.description = \
-	This example is a simple demonstration of the SWT Browser widget.\n\n\
-	It consists of a composite containing a Browser widget to render HTML. \
-	Additional widgets allow the user to perform typical browser actions (for example, navigate to a particular URL, go back, forward, refresh and stop).
-
-launchitem.Clipboard.name = Clipboard
-launchitem.Clipboard.description = \
-	The Clipboard example shows the various SWT clipboard transfer types in use.
-
-launchitem.ControlExample.name = SWT Controls Example
-launchitem.ControlExample.description = \
-	The Controls example is a simple demonstration of common SWT controls. \n\n\
-	It consists of a tab folder where each tab in the folder allows the user \
-	to interact with a different control. \
-	The user can change styles and settings and view how this affects the control.
-
-launchitem.DND.name = Drag and Drop
-launchitem.DND.description = \
-	The Drag and Drop example shows the various SWT drag and drop transfer types in use.
-	
-launchitem.FileViewer.name = File Viewer
-launchitem.FileViewer.description = \
-	The File Viewer example shows how a simple application can be implemented using SWT.\n\n\
-	This application provides the ability to navigate files and folders and manipulate them via Drag and Drop.  \
-	It includes the use of alternate threads for long actions and demonstrates the use of the Tree, \
-	Table, Toolbar and Program.
-
-launchitem.HoverHelp.name = Hover Help
-launchitem.HoverHelp.description = \
-	The Hover Help example shows how to implement custom tooltips and hover help support \
-	on a number of different SWT controls including Buttons, TableItems, ToolItems and TreeItems.\n\n\
-	The example implements its own tooltip and hover help support.  \
-	To see the custom tooltips in action, hover over an item or button in the UI.  \
-	An image appears in the left-hand corner of the tooltip.\n\n\
-	To see the custom hover help in action, hover over an item or button in the UI until \
-	the tooltip is displayed.  Without moving the mouse, hit F1.  A new Shell will pop up with the \
-	extended hover help information for the UI element in question
-
-launchitem.HelloWorld1.name = Hello World (1)
-launchitem.HelloWorld1.description = \
-	This example demonstrates how to open a Shell and process the events.
-
-launchitem.HelloWorld2.name = Hello World (2)
-launchitem.HelloWorld2.description = \
-	This example builds on HelloWorld1 and demonstrates how to display a Label inside the Shell.
-
-launchitem.HelloWorld3.name = Hello World (3)
-launchitem.HelloWorld3.description = \
-	This example builds on HelloWorld2 and demonstrates how to resize the Label \
-	when the Shell resizes using a Listener mechanism.
-
-launchitem.HelloWorld4.name = Hello World (4)
-launchitem.HelloWorld4.description = \
-	This example builds on HelloWorld2 and demonstrates how to resize the Label \
-	when the Shell resizes using a Layout.
-
-launchitem.HelloWorld5.name = Hello World (5)
-launchitem.HelloWorld5.description = \
-	This example builds on HelloWorld1 and demonstrates how to draw directly on an SWT Control using a graphic context.
-
-launchitem.ImageAnalyzer.name = Image Analyzer
-launchitem.ImageAnalyzer.description = \
-	The ImageAnalyzer opens image files and displays the visual contents of the file along with a \
-	summary of the data in the image file.\n\n\
-	The user can make adjustments to various elements of the image such as scaling and Alpha \
-	blending and can save these changes to a file.\n\n\
-	The ImageAnalyzer will load and display image files of type GIF, JPEG, BMP, ICO, PNG, and TIFF.  \
-	To open a file, use the File->Open... menu item, and select the image file in the FileDialog.\n\n\
-	If the file is an interlaced GIF or PNG or a progressive JPEG, and Incremental Display is selected, \
-	then the ImageAnalyzer displays the image increments as they are being loaded.\n\n\
-	If the file contains an animated GIF, then the Next, Previous, and Animate buttons become enabled, \
-	and they can be used to cycle through the images in the file, or animate them. If a GIF defines a background color, \
-	as many animated GIFs do, selecting Background will use the GIF's background color.\n\n\
-	If the image has transparency (possible with GIF, PNG, or ICO), then selecting Display Mask will draw the image's transparency \
-	mask to the right of the image. You can change the background color of the ImageAnalyzer to see the transparency work. \
-	To turn off the transparency, deselect Display Transparency.\n\n\
-	After an image is loaded, it can be scaled or have alpha transparency applied, using the Scale and Alpha-K combos, \
-	and the Alpha menu. File->Reopen restores scaling and Alpha to their default values and reloads the current image file.\n\n\
-	File->Save As... can be used to save the currently loaded image to another type of image file. If the image has transparency, \
-	File->Save Mask As... saves the image's transparency mask.\n\n\
-	When SWT loads an image file, an instance of org.eclipse.swt.graphics.ImageData is created. (In the case of an ICO file or \
-	multi-image GIF, an array of ImageData instances is created). The ImageAnalyzer displays all of the data stored in the ImageData \
-	instance(s) for the currently loaded image file, including the pixel data. Hovering over a pixel in the image display will show the RGB \
-	color data for that pixel. For certain images (particularly animated GIFs) additional data is stored in the org.eclipse.swt.graphics.ImageLoader \
-	instance used to load the image. The ImageAnalyzer displays this data as well.
-
-launchitem.JavaViewer.name = Java Syntax Viewer
-launchitem.JavaViewer.description = \
-	This example demonstrates how to implement a user-defined line styler for the StyledText widget.\n\n\
-	The example provides a typical editor interface.  \
-	To see the effect of the line styler, open a *.java file.  \
-	When the contents of the file are displayed in the editor area, notice that the keywords have been highlighted.
-
-launchitem.LayoutExample.name = Layout Example
-launchitem.LayoutExample.description = \
-	This example is a simple demonstration of common SWT layouts. \n\n\
-	It consists of a tab folder where each tab in the folder allows the \
-	user to interact with a different SWT layout. \
-	The user can insert widgets into a layout and set the values of the layout data \
-	using a property sheet.  When the user has a suitable arrangement, code can be \
-	generated by clicking on the Code button.
-
-launchitem.AdvancedGraphics.name = Advanced Graphics
-launchitem.AdvancedGraphics.description = \
-	This example (updated for 3.3) contains a collection of applications that show the use of advanced graphics operations.
-
-launchitem.TextEditor.name = Text Editor
-launchitem.TextEditor.description = \
-	This example demonstrates how to use the StyledText widget to implement \
-	a text editor with formatting support.\n\n\
-	The example has a typical text editor interface.  \
-	The Edit menu contains Cut, Copy, Paste and Set Font items and the toolbar \
-	provides a bold text toggle, three colour tools that operate on the current \
-	selection, and a reset to defaults button that also operates on the current selection.
-	
diff --git a/examples/org.eclipse.swt.examples/plugin.xml b/examples/org.eclipse.swt.examples/plugin.xml
deleted file mode 100755
index cbb9b7f..0000000
--- a/examples/org.eclipse.swt.examples/plugin.xml
+++ /dev/null
@@ -1,172 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<!-- File written by PDE 1.0 -->
-<plugin
-   id="org.eclipse.swt.examples"
-   name="%plugin.SWTStandaloneExampleSet.name"
-   version="3.4.0"
-   provider-name="%providerName"
->
-<!-- Required plugins -->
-<requires>
-   <import plugin="org.eclipse.swt"/>
-   <import plugin="org.eclipse.swt.examples.launcher" optional="true"/>
-</requires>
-
-<!-- Runtime -->
-<runtime>
-   <library name="swtexamples.jar">
-      <export name="*"/>
-   </library>
-</runtime>
-
-<!-- Extensions -->
-<!-- Extension points -->
-<extension
-      point="org.eclipse.swt.examples.launcher.launchItems">
-   <category
-         name="%launchcategory.SWTStandaloneExamples.name"
-         description="%launchcategory.SWTStandaloneExamples.description"
-         id="org.eclipse.swt.examples.launchStandaloneCategory">
-   </category>
-   <item
-         name="%launchitem.AddressBook.name"
-         description="%launchitem.AddressBook.description"
-         category="org.eclipse.swt.examples.launchStandaloneCategory"
-         id="org.eclipse.swt.examples.addressbook.standalonelauncher">
-      <program
-            pluginId="org.eclipse.swt.examples"
-            mainClass="org.eclipse.swt.examples.addressbook.AddressBook">
-      </program>
-   </item>
-   <item
-         name="%launchitem.Clipboard.name"
-         description="%launchitem.Clipboard.description"
-         category="org.eclipse.swt.examples.launchStandaloneCategory"
-         id="org.eclipse.swt.examples.clipboard.standalonelauncher">
-      <program
-            pluginId="org.eclipse.swt.examples"
-            mainClass="org.eclipse.swt.examples.clipboard.ClipboardExample">
-      </program>
-   </item>
-   <item
-         name="%launchitem.DND.name"
-         description="%launchitem.DND.description"
-         category="org.eclipse.swt.examples.launchStandaloneCategory"
-         id="org.eclipse.swt.examples.dnd.standalonelauncher">
-      <program
-            pluginId="org.eclipse.swt.examples"
-            mainClass="org.eclipse.swt.examples.dnd.DNDExample">
-      </program>
-   </item>
-   <item
-         name="%launchitem.FileViewer.name"
-         description="%launchitem.FileViewer.description"
-         category="org.eclipse.swt.examples.launchStandaloneCategory"
-         id="org.eclipse.swt.examples.fileviewer.standalonelauncher">
-      <program
-            pluginId="org.eclipse.swt.examples"
-            mainClass="org.eclipse.swt.examples.fileviewer.FileViewer">
-      </program>
-   </item>
-   <item
-         name="%launchitem.HoverHelp.name"
-         description="%launchitem.HoverHelp.description"
-         category="org.eclipse.swt.examples.launchStandaloneCategory"
-         id="org.eclipse.swt.examples.hoverhelp.standalonelauncher">
-      <program
-            pluginId="org.eclipse.swt.examples"
-            mainClass="org.eclipse.swt.examples.hoverhelp.HoverHelp">
-      </program>
-   </item>
-   <item
-         name="%launchitem.HelloWorld1.name"
-         description="%launchitem.HelloWorld1.description"
-         category="org.eclipse.swt.examples.launchStandaloneCategory"
-         id="org.eclipse.swt.examples.helloworld1.standalonelauncher">
-      <program
-            pluginId="org.eclipse.swt.examples"
-            mainClass="org.eclipse.swt.examples.helloworld.HelloWorld1">
-      </program>
-   </item>
-   <item
-         name="%launchitem.HelloWorld2.name"
-         description="%launchitem.HelloWorld2.description"
-         category="org.eclipse.swt.examples.launchStandaloneCategory"
-         id="org.eclipse.swt.examples.helloworld2.standalonelauncher">
-      <program
-            pluginId="org.eclipse.swt.examples"
-            mainClass="org.eclipse.swt.examples.helloworld.HelloWorld2">
-      </program>
-   </item>
-   <item
-         name="%launchitem.HelloWorld3.name"
-         description="%launchitem.HelloWorld3.description"
-         category="org.eclipse.swt.examples.launchStandaloneCategory"
-         id="org.eclipse.swt.examples.helloworld3.standalonelauncher">
-      <program
-            pluginId="org.eclipse.swt.examples"
-            mainClass="org.eclipse.swt.examples.helloworld.HelloWorld3">
-      </program>
-   </item>
-   <item
-         name="%launchitem.HelloWorld4.name"
-         description="%launchitem.HelloWorld4.description"
-         category="org.eclipse.swt.examples.launchStandaloneCategory"
-         id="org.eclipse.swt.examples.helloworld4.standalonelauncher">
-      <program
-            pluginId="org.eclipse.swt.examples"
-            mainClass="org.eclipse.swt.examples.helloworld.HelloWorld4">
-      </program>
-   </item>
-   <item
-         name="%launchitem.HelloWorld5.name"
-         description="%launchitem.HelloWorld5.description"
-         category="org.eclipse.swt.examples.launchStandaloneCategory"
-         id="org.eclipse.swt.examples.helloworld5.standalonelauncher">
-      <program
-            pluginId="org.eclipse.swt.examples"
-            mainClass="org.eclipse.swt.examples.helloworld.HelloWorld5">
-      </program>
-   </item>
-   <item
-         name="%launchitem.ImageAnalyzer.name"
-         description="%launchitem.ImageAnalyzer.description"
-         category="org.eclipse.swt.examples.launchStandaloneCategory"
-         id="org.eclipse.swt.examples.imageanalyzer.standalonelauncher">
-      <program
-            pluginId="org.eclipse.swt.examples"
-            mainClass="org.eclipse.swt.examples.imageanalyzer.ImageAnalyzer">
-      </program>
-   </item>
-   <item
-         name="%launchitem.JavaViewer.name"
-         description="%launchitem.JavaViewer.description"
-         category="org.eclipse.swt.examples.launchStandaloneCategory"
-         id="org.eclipse.swt.examples.javaviewer.standalonelauncher">
-      <program
-            pluginId="org.eclipse.swt.examples"
-            mainClass="org.eclipse.swt.examples.javaviewer.JavaViewer">
-      </program>
-   </item>
-   <item
-         name="%launchitem.TextEditor.name"
-         description="%launchitem.TextEditor.description"
-         category="org.eclipse.swt.examples.launchStandaloneCategory"
-         id="org.eclipse.swt.examples.texteditor.standalonelauncher">
-      <program
-            pluginId="org.eclipse.swt.examples"
-            mainClass="org.eclipse.swt.examples.texteditor.TextEditor">
-      </program>
-   </item>
-   <item
-         name="%launchitem.AdvancedGraphics.name"
-         description="%launchitem.AdvancedGraphics.description"
-         category="org.eclipse.swt.examples.launchStandaloneCategory"
-         id="org.eclipse.swt.examples.graphics.standalonelauncher">
-      <program
-            mainClass="org.eclipse.swt.examples.graphics.GraphicsExample"
-            pluginId="org.eclipse.swt.examples"/>
-   </item>
-</extension>
-</plugin>
diff --git a/examples/org.eclipse.swt.examples/src/examples_addressbook.properties b/examples/org.eclipse.swt.examples/src/examples_addressbook.properties
deleted file mode 100644
index 29252e1..0000000
--- a/examples/org.eclipse.swt.examples/src/examples_addressbook.properties
+++ /dev/null
@@ -1,69 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-Last_name = Last Name
-First_name = First Name
-Business_phone = Business Phone
-Home_phone = Home Phone
-Email = Email
-Fax = Fax
-Close_save = The address book contents have changed.\nDo you want to save the changes?
-New_title = Untitled
-Column = Column:
-Book_extension = .adr
-Book_filter_name = Address Books
-All_filter_name = All Files
-File = File 
-Does_not_exist = does not exist.
-File_not_found = File not found:
-IO_error_read = IO error reading text file:
-IO_error_write = IO error writing text file:
-IO_error_close = IO error closing text file:
-Title_bar = Address Book - 
-Save_as_title = Save As
-Query_overwrite = already exists.\nDo you want to replace it?
-File_menu_title = &File
-New_contact = &New Contact...\tCtrl+N
-Edit_contact = &Edit Contact...\tCtrl+E
-New_address_book = New Address &Book\tCtrl+B
-Open_address_book = &Open Address Book...\tCtrl+O
-Save_address_book = &Save Address Book\tCtrl+S
-Save_book_as = Save &Address Book As...\tCtrl+A
-Exit = E&xit
-Edit_menu_title = &Edit
-Edit = &Edit...\tCtrl+E
-Copy = &Copy\tCtrl+C
-Paste = &Paste\tCtrl+V
-Delete = De&lete\tDel
-Sort = &Sort
-Search_menu_title = &Search
-Find = &Find...\tCtrl+F
-Find_next = Find &Next...\tF3
-Pop_up_new = &New...
-Pop_up_edit = &Edit...
-Pop_up_copy = &Copy
-Pop_up_paste = &Paste
-Pop_up_delete = &Delete
-Pop_up_find = &Find...
-Help_menu_title = &Help
-About = &About Address Book...
-About_1 = About 
-About_2 = \nversion 1.0
-OK = OK
-Cancel = Cancel
-Search_dialog_title = Find
-Dialog_find_what = Fi&nd what:
-Dialog_match_case = Match &case
-Dialog_match_word = Match &whole word
-Dialog_direction = Direction
-Dialog_dir_up = &Up
-Dialog_dir_down = &Down
-Dialog_find = &Find
-Cannot_find = Cannot find 
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.examples/src/examples_browser.properties b/examples/org.eclipse.swt.examples/src/examples_browser.properties
deleted file mode 100644
index e977990..0000000
--- a/examples/org.eclipse.swt.examples/src/examples_browser.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-error.CouldNotLoadResources = Unable to load resources
-window.title = SWT Browser
-
-Back				= Back
-BrowserNotCreated	= Error - The Browser widget could not be instantiated. Please check the Browser widget is supported on this platform. Supported platforms and software requirements for the Browser widget are listed on the SWT FAQ web page.
-Forward				= Forward
-Stop				= Stop
-Refresh				= Refresh
-Go					= Go
-Startup				= http://www.eclipse.org
diff --git a/examples/org.eclipse.swt.examples/src/examples_control.properties b/examples/org.eclipse.swt.examples/src/examples_control.properties
deleted file mode 100644
index e38feae..0000000
--- a/examples/org.eclipse.swt.examples/src/examples_control.properties
+++ /dev/null
@@ -1,255 +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
-###############################################################################
-error.CouldNotLoadResources = Unable to load resources
-window.title = SWT Controls
-custom.window.title = SWT Custom Controls
-
-Text_Buttons		= Text Buttons
-Size 				= Size
-Alignment			= Alignment
-Left				= Left
-Right				= Right
-Up					= Up
-Down				= Down
-Center				= Center
-One					= One
-Two					= Two
-Three				= Three
-Image_Buttons		= Image Buttons
-Image_Text_Buttons	= Image and Text Buttons
-Control_Example		= Control Example
-Parameters			= Parameters
-Other				= Other
-Enabled				= Enabled
-Visible				= Visible
-BackgroundColor		= Background Color
-BackgroundImage		= Background Image
-PopupMenu			= Popup Menu
-Preferred 			= Preferred
-Styles	 			= Styles
-Menu_Styles	 		= Menu Styles
-MenuItem_Styles	 	= MenuItem Styles
-Background_Mode		= Background Mode on Parent
-Listeners			= Listeners
-Select_Listeners	= Select Listeners
-Listen				= Listen
-Clear				= Clear
-Set_Get				= Set/Get API
-Parameter_Info		= {0}   e.g. {1} 
-Info_int			= 4
-Info_intA			= 0,1,2
-Info_long			= 4
-Info_longA			= 0,1,2
-Info_char			= c
-Info_charA			= a,b,c
-Info_boolean		= true
-Info_booleanA		= true,true,false
-Info_String			= hello
-Info_StringA		= hello,there
-Info_Point			= 0,0
-Info_TabItem		= Tab 0
-Info_TabItemA		= Tab 0,Tab 2
-Info_TableItem		= Index:2
-Info_TableItemA		= Index:2,Index:4
-Info_TreeItem		= Node 1
-Info_TreeItemA		= Node 1,Node 3
-Select_All			= Select All
-Deselect_All		= Deselect All
-OK					= OK
-FillDamage			= Fill Damaged Area With Color
-Title_Text			= Title Text
-Text_Labels			= Text Labels
-Image_Labels		= Image Labels
-Custom_Labels		= Custom Labels
-Custom_Combo		= Custom Combo
-One_Two_Three		= One Two Three
-Text_ToolBar 		= Text ToolBar
-Image_ToolBar 		= Image ToolBar
-ImageText_ToolBar	= Image and Text ToolBar
-Maximum				= Maximum
-Minimum				= Minimum
-Selection			= Selection
-Increment			= Increment
-Page_Increment		= Page Increment
-Thumb				= Thumb
-Digits				= Digits
-Tree_With_Images	= Tree With Images
-Dialog_Type			= Dialog Type
-Create_Dialog		= Create Dialog
-Button_Styles		= Button Styles
-Icon_Styles			= Icon Styles
-Modal_Styles		= Modal Styles
-File_Dialog_Styles	= File Dialog Styles
-Item_Styles			= Item Styles
-Dialog_Result		= Dialog Result
-ColorDialog			= ColorDialog
-DirectoryDialog		= DirectoryDialog
-FileDialog			= FileDialog
-FontDialog			= FontDialog
-PrintDialog			= PrintDialog
-MessageBox			= MessageBox
-Multi_line			= A multi line text widget.
-Example_string		= The quick brown fox jumps over the lazy dog.
-Header_Visible		= Header Visible
-Sort_Indicator		= Sort Indicator
-Header_Images		= Header Images
-Sub_Images			= Sub Images
-Lines_Visible		= Lines Visible
-Moveable_Columns	= Moveable Columns
-Resizable_Columns	= Resizable Columns
-Multiple_Columns	= Multiple Columns
-Locked				= Locked
-Combo_child			= Combo Child
-Node_1				= Node 1
-Node_2				= Node 2
-Node_3				= Node 3
-Node_4				= Node 4
-Node_1_1			= Node 1.1
-Node_2_1			= Node 2.1
-Node_3_1			= Node 3.1
-Node_2_2			= Node 2.2
-Node_2_2_1			= Node 2.2.1
-Parent				= Parent
-No_Parent			= No Parent
-Decoration_Styles	= Decoration Styles
-Create_Shell		= Create Shell
-Close_All_Shells	= Close All Shells
-Push				= Push
-Radio				= Radio
-Check				= Check
-Cascade				= Cascade
-Drop_Down			= Drop Down
-Images_failed		= Warning: Failed to load images
-readme_txt			= readme.txt
-Index				= Index:
-Title				= Title:
-Close				= Close
-Result				= Result: {0}
-FilterName_0		= Text Files
-FilterName_1		= Batch Files
-FilterName_2		= Doc Files
-FilterName_3		= All Files
-TableTitle_0		= Name
-TableTitle_1		= Type
-TableTitle_2		= Size
-TableTitle_3		= Modified
-TableLine0_0		= <empty>
-TableLine0_1		= classes
-TableLine0_2		= 0
-TableLine0_3		= today
-TableLine1_0		= <empty>
-TableLine1_1		= databases
-TableLine1_2		= 2556
-TableLine1_3		= tomorrow
-TableLine2_0		= <empty>
-TableLine2_1		= images
-TableLine2_2		= 91571
-TableLine2_3		= yesterday
-ListData0_0			= Line 1
-ListData0_1			= Line 2
-ListData0_2			= Line 3
-ListData0_3			= Line 4
-ListData0_4			= Line 5
-ListData0_5			= Line 6
-ListData0_6			= Line 7
-ListData0_7			= Line 8
-ListData0_8			= Longest Line In List
-ListData1_0			= Apples
-ListData1_1			= Oranges
-ListData1_2			= Bananas
-ListData1_3			= Grapefruit
-ListData1_4			= Peaches
-ListData1_5			= Kiwi
-ListData1_6			= Apricots
-ListData1_7			= Strawberries
-ListData1_8			= The Longest String
-DropDownData_0		= Apples
-DropDownData_1		= Oranges
-DropDownData_2		=
-DropDownData_3		= Grapefruit
-DropDownData_4		= Peaches
-DropDownData_5		= Kiwi
-DropDownData_6		=
-DropDownData_7		= Strawberries
-DropDownData_8		= The Longest String
-Colors 				= Colors and Font
-Change				= &Change...
-Defaults			= &Defaults
-Foreground_Color	= Foreground Color
-Background_Color	= Background Color
-Font				= Font
-Item_Foreground_Color	= Item 0 Foreground Color
-Item_Background_Color	= Item 0 Background Color
-Item_Font				= Item 0 Font
-Cell_Foreground_Color	= Item 0 Col 1 Foreground Color
-Cell_Background_Color	= Item 0 Col 1 Background Color
-Cell_Font				= Item 0 Col 1 Font
-Wrap_Text			= Jack and Jill went up the hill to fetch a pail of water, \
-					  Jack fell down and broke his crown and Jill came tumbling after!
-Foreground_Style	= Foreground
-Background_Style 	= Background
-StyledText_Styles	= Text Styles
-StyledText_Style_Instructions	= Select text, then style.
-Bold				= Bold
-Italic				= Italic
-Underline			= Underline
-Strikeout			= Strikeout
-Fill_X				= Horizontal Fill
-Fill_Y				= Vertical Fill
-Pack_Columns		= Pack Columns
-TabItem1_0			= Tab 0
-TabItem1_1			= Tab 1
-TabItem1_2			= Tab 2
-TabItem_content		= TabItem Content
-CTabItem1_0			= CTabItem 0
-CTabItem1_1			= CTabItem 1
-CTabItem1_2			= CTabItem 2 has a long name
-CItem_Colors		= CTabItem Colors
-CTabItem_content	= CTabItem Content
-Set_Simple_Tabs		= Simple Tabs
-Set_Single_Tabs		= Single Tab
-Set_Min_Visible     = Minimize
-Set_Max_Visible     = Maximize
-Set_Unselected_Close_Visible = Close on Unselected Tabs
-Set_Unselected_Image_Visible = Image on Unselected Tabs
-Selection_Foreground_Color = Selection Foreground Color
-Selection_Background_Color = Selection Background Color
-Set_Image			= Set Image
-TableTree_column	= Column
-MenuItem_Cut		= Cu&t	Ctrl+X
-MenuItem_Copy		= &Copy	Ctrl+C
-MenuItem_Paste		= &Paste	Ctrl+V
-MenuItem_SelectAll	= Select &All	Ctrl+A
-Orientation 		= Orientation
-Default 			= Default (Inherit)
-Images				= Images
-Accelerators		= Accelerators
-Mnemonics			= Mnemonics
-SubMenu				= Sub-Menu
-SubSubMenu			= Sub-Sub-Menu
-1Radio				= Radio1
-2Radio				= Radio2
-1RadioWithMnemonic	= Radio&1
-2RadioWithMnemonic	= Radio&2
-PushWithMnemonic	= &Push
-RadioWithMnemonic	= &Radio
-CheckWithMnemonic	= &Check
-CascadeWithMnemonic	= C&ascade
-PopupMenuHere		= Popup Menu Here
-LinkText=Visit the <A HREF=\"www.eclipse.org\">Eclipse.org</A> project and the <A HREF=\"www.eclipse.org\\swt">SWT</A> homepage.
-Tooltip				= Tooltip:  {0}
-Item1_Text			= What is your favorite button?
-Item2_Text			= What is your favorite icon?
-ToolTip_Title		= Foxes vs. Dogs
-No_Icon				= No Icon
-Show_In_Tray		= Show In Tray
-BrowserNotFound		= Browser not found:  {0}
-MozillaNotFound		= Cannot use SWT.MOZILLA style:  {0}\nSee http://www.eclipse.org/swt/faq.php#howusemozilla for more information.
diff --git a/examples/org.eclipse.swt.examples/src/examples_fileviewer.properties b/examples/org.eclipse.swt.examples/src/examples_fileviewer.properties
deleted file mode 100644
index c0cddcf..0000000
--- a/examples/org.eclipse.swt.examples/src/examples_fileviewer.properties
+++ /dev/null
@@ -1,69 +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
-###############################################################################
-Title = SWT FileViewer - {0}
-
-menu.File.text = &File
-menu.File.Close.text = &Close
-menu.File.SimulateOnly.text = Simulate File Operations
-menu.Help.text = &Help
-menu.Help.About.text = &About
-
-tool.Cut.tiptext = Cut
-tool.Copy.tiptext = Copy
-tool.Delete.tiptext = Delete
-tool.Parent.tiptext = Parent
-tool.Paste.tiptext = Paste
-tool.Print.tiptext = Print
-tool.Refresh.tiptext = Refresh
-tool.Rename.tiptext = Rename
-tool.Search.tiptext = Search
-
-details.AllFolders.text = All Folders
-details.ContentsOf.text = Contents of ''{0}''
-details.FileSize.text = {0} bytes
-details.DirNumberOfObjects.text = {0} object(s)
-details.NumberOfSelectedFiles.text = {0} object(s) selected
-
-table.Name.title = Name
-table.Size.title = Size
-table.Type.title = Type
-table.Modified.title = Modified
-
-filetype.Unknown = {0} File
-filetype.None = File
-filetype.Folder = Folder
-filesize.KB = {0} kb
-
-dialog.About.title = About SWT FileViewer
-dialog.About.description = SWT FileViewer\n\nVersion: 0.9\n\nRunning on: {0}
-
-dialog.NotImplemented.title = Not Implemented
-dialog.ActionNotImplemented.description = Sorry!  The action you selected has not been implemented.
-
-dialog.FailedCopy.title = Copy Files Error
-dialog.FailedCopy.description = An error occurred while trying to copy "{0}" to "{1}".
-
-dialog.FailedDelete.title = Delete Files Error
-dialog.FailedDelete.description = An error occurred while trying to delete "{0}".
-
-progressDialog.cancelButton.text = Cancel
-progressDialog.Copy.title = Copy Files
-progressDialog.Copy.description = Copying files.
-progressDialog.Copy.operation = Copying... {0}
-progressDialog.Move.title = Move Files
-progressDialog.Move.description = Moving files.
-progressDialog.Delete.operation = Deleting... {0}
-
-simulate.CopyFromTo.text = Simulated copy from "{0}" to "{1}".
-simulate.DirectoriesCreated.text = Simulated directories created for "{0}".
-simulate.Delete.text = Simulated delete of "{0}".
-
-error.FailedLaunch.message = Could not launch "{0}"
diff --git a/examples/org.eclipse.swt.examples/src/examples_graphics.properties b/examples/org.eclipse.swt.examples/src/examples_graphics.properties
deleted file mode 100644
index 5f65b32..0000000
--- a/examples/org.eclipse.swt.examples/src/examples_graphics.properties
+++ /dev/null
@@ -1,166 +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
-###############################################################################
-GraphicsExample=Graphics Example
-SWTGraphics=SWT Graphics
-Warning=Warning
-LibNotFound=Advanced graphics library not found. Some examples will not display.
-Settings=Settings
-Play=Play
-Pause=Pause
-Background=Background
-DoubleBuffer=Double Buffer
-White=White
-Black=Black
-Red=Red
-Green=Green
-Blue=Blue
-Cyan=Cyan
-Yellow=Yellow	
-CustomColor=Custom Color
-CustomPattern=Custom Pattern
-Pattern1=Pink Losange
-Pattern2=Purple Checkers
-Pattern3=Blue Pentagon
-Animation=Animation
-StarPolygon=Star Polygon
-Line=Line
-BlackHole=Black Hole
-FillRule=Fill Rule:
-Polygons=Polygons
-Introduction=Introduction
-SWT=SWT
-Bounce=Bounce
-Font=Font
-Misc=Misc
-Countdown=Countdown
-LineWidth=Line Width
-Antialiasing=Antialiasing
-LineCap=Line Cap
-Spiral=Spiral
-Petals=Petals
-Gradient=Gradient
-GradImage=Gradient Image
-SwapColors=Swap Colors
-Curves=Curves
-Cubic=Cubic
-Quadratic=Quadratic
-Lines=Lines
-Flat=Flat
-Square=Square
-Round=Round
-LineStyles=Line Styles
-GradientDlgMsg=Please select two colors:
-GradientDlgButton1=Color 1
-GradientDlgButton2=Color 2
-GradientTabItem1=Color 1
-GradientTabItem2=Color 2
-Alpha=Alpha
-CustomFont=Custom Font
-Regular=Regular
-Italic=Italic
-Bold=Bold
-BoldItalic=Bold Italic
-FontFace=Face
-FontStyle=Style
-FontSize=Size
-Color=Color
-Clipping=Clipping
-PathClipping=Path Clipping
-Circles=Circles
-Rectangle=Rectangle
-Oval=Oval
-Word=Word
-Star=Star
-Triangles=Triangles
-Default=Default
-RegionClipping=Region Clipping
-Region1=Region 1
-Region2=Region 2
-Add=Add
-Sub=Subtract
-Inter=Intersect
-Interpolation=Interpolation
-Image=Image
-OriginalImg=Original Image
-House=House
-Question=Question
-Task=Task
-Cube=Cube
-Ovals=Ovals
-None=None
-Low=Low
-Default=Default
-High=High
-Transform=Transform
-Cards=Cards
-Solid=Solid
-Dash=Dash
-Dot=Dot
-DashDot=Dash Dot
-DashDotDot=Dash Dot Dot
-LineJoin=Line Join
-bevel=BEVEL
-miter=MITER
-round=ROUND
-Ball=Ball
-CustomAlpha=Custom Alpha
-Maze=Maze
-rgb=RGB
-Graphics=Graphics
-Flip=Flip
-Scale=Scale
-Rotate=Rotate
-xscale=X-Scale
-yscale=Y-Scale
-Invert=Invert
-Path=Path
-PathOper=Path Operations
-DrawPath=Draw Path
-FillPath=Fill Path
-ClosePath=Close Path
-FillColor=Fill Color
-Text=Text
-Shapes=Shapes
-Next=Next
-Back=Back
-AnimPathClipping=Animated Path Clipping
-##### ------------------ Tab Descriptions ------------------ #####
-AlphaDescription=This tab demonstrates alpha blending. It draws various shapes and images as alpha values change.
-BallDescription=This tab uses alpha blending to simulate \"ghosting\" of a ball in movement.
-BlackHoleDescription=This is a miscellaneous demonstration that makes use of the fillOval() operation to simulate a black hole.
-CardsDescription=This tab demonstrates various transformations, such as scaling, rotation, and translation.
-CountdownDescription=This miscellaneous tab presents a count down from 5 to 1, then displays SWT.
-CurvesSWTDescription=This tab presents cubic and quadratic curves that can be drawn.  As a demonstration, cubic and quadratic curves are used to spell out \"SWT\".  The user may reposition the cubic and quadratic handles.
-CurvesDescription=This tab presents cubic and quadratic curves that can be drawn.  The user may reposition the cubic and quadratic handles
-CustomAlphaDescription=This tab demonstrates the use of alpha blending.  It allows a user to specify a custom alpha value.
-CustomFontDescription=This tab demonstrates various text fonts.  It allows the user to specify font parameters such as face, style and size.
-FontBounceDescription=This tab is an animated graphic. It presents the word SWT in different fonts as it bounces around the screen.
-GradientImageDescription=This tab is an animated graphic. It presents the word SWT in different fonts as it bounces around the screen.
-AntialiasingGraphicsDesc=This tab demonstrates antialiasing for graphics. Antialiasing is used for smoothing jagged edges in graphics. This tab allows the user to see the effects of different antialiasing values.
-FlipDescription=This tab demonstrates how an image can be flipped in various fashions.
-ScaleDescription=This tab demonstrates how an image can be scaled. Resize the shell, and the image will scale with it.
-TransformImgDescription=This tab demonstrates transformations, such as scaling, rotation, and invert.  It allows the user to specify values for scaling and rotation.
-ImageInterpolationDesc=This tab shows the effects of applying various interpolation algorithms to images that have been stretched or shrunk.
-IntroductionDescription=This is the introduction tab.  This demonstration makes use of a path clipping.
-LineCapDescription=This tab demonstrates various line caps applicable to a line.
-LineJoinDescription=This tab demonstrates various line joins. It allows a user to choose from bevel, miter and round.
-LineStylesDescription=This tab demonstrates line styles applicable to a line.  It shows the use of the setLineStyle() method.
-LineDescription=This tab draws two lines.
-MazeDescription=This is a miscellaneous demonstration.  Three objects move through the maze, each following a different path.  Only one of the three follows the correct path.
-AnimPathClippingDesc=This tab demonstrates the use of path clipping.  A clipping is the area onto which a drawing is made visible.  The default clipping is the entire canvas (all the space in the right panel).  However, one can set the clipping to be something different.  In this tab, the clipping is the set of triangles, rectangles and the circle.  When the blue rectangle is drawn, only the portions of the blue rectangle appearing in the clipping are visible.
-PathClippingDesc=This tab demonstrates the use of path clipping.  A clipping is the area onto which a drawing is made visible.  The default clipping is the entire canvas (all the space in the right panel).  However, one can set the clipping to be something different.
-PathOperDescription=This tab demonstrates the use of paths. It allows the user to see the differences between filling, drawing and closing paths.
-rgbDescription=Miscellaneous tab that demonstrates emerging colors from layering other colors.
-RegionClippingDescription=This tab demonstrates how to apply a region clipping and the effects of applying one.  It also demonstrates the operations that can be applied between two regions.
-ShapesDescription=This tab draws 3D shapes (in 2D) using various line styles.
-SpiralDescription=Miscellaneous tab that presents a spiral consisting of the number of petals specified.
-StarPolygonDescription=This tab draws a polygon and shows the effects of setting different fill rules: SWT.FILL_WINDING or SWT.FILL_EVEN_ODD
-AntialiasingTextDesc=This tab demonstrates antialiasing for text. Antialiasing is used for smoothing jagged edges in graphics. This tab allows the user to see the effects of different antialiasing values.
diff --git a/examples/org.eclipse.swt.examples/src/examples_helloworld.properties b/examples/org.eclipse.swt.examples/src/examples_helloworld.properties
deleted file mode 100644
index f440a18..0000000
--- a/examples/org.eclipse.swt.examples/src/examples_helloworld.properties
+++ /dev/null
@@ -1,11 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-Hello_world = Hello World
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.examples/src/examples_hoverhelp.properties b/examples/org.eclipse.swt.examples/src/examples_hoverhelp.properties
deleted file mode 100644
index 85ca63d..0000000
--- a/examples/org.eclipse.swt.examples/src/examples_hoverhelp.properties
+++ /dev/null
@@ -1,26 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-error.CouldNotLoadResources = Unable to load resources : {0}
-
-ToolItem.text = ToolItem {0}
-ToolItem.tooltip = Tooltip for {0}. Try F1 on me.
-ToolItem.help = Help text for {0}.
-
-TableItem.text = TableItem {0}
-TableItem.tooltip = Tooltip for {0}. Try F1 on me.
-TableItem.help = Help text for {0}.
-
-TreeItem.text = TreeItem {0}
-TreeItem.tooltip = Tooltip for {0}. Try F1 on me.
-TreeItem.help = Help text for {0}.
-
-Hello.text = Hello
-Hello.tooltip = Greetings!
diff --git a/examples/org.eclipse.swt.examples/src/examples_images.properties b/examples/org.eclipse.swt.examples/src/examples_images.properties
deleted file mode 100644
index 268989c..0000000
--- a/examples/org.eclipse.swt.examples/src/examples_images.properties
+++ /dev/null
@@ -1,114 +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
-###############################################################################
-Image_analyzer 				= Image Analyzer
-None 						= None
-White 						= White
-Black 						= Black
-Red 						= Red
-Green 						= Green
-Blue 						= Blue
-X_scale 					= X Scale
-Y_scale 					= Y Scale
-Alpha_K 					= Alpha-K
-Display 					= Display
-Incremental 				= Incremental
-Transparent 				= Transparent
-Transparent_lc 				= transparent
-Mask 						= Mask
-Background 					= Background
-Animation 					= Animation
-Previous 					= < &Previous
-Next 						= &Next >
-Animate 					= &Animate
-Type_initial 				= Type:
-Type_string 				= Type: {0}
-Type_index 					= Type: {0} [{1,number,integer} of {2,number,integer}]
-Size_initial 				= Size:
-Size_value 					= Size: {0,number,integer} x {1,number,integer}
-Depth_initial 				= Depth:
-Depth_value 				= Depth: {0}
-Transparent_pixel_initial 	= Transparent pixel:
-Transparent_pixel_value		= Transparent pixel: {0}
-Time_to_load_initial 		= Time to load:
-Time_to_load_value			= Time to load: {0} ms
-Animation_size_initial 		= Animation size:
-Animation_size_value 		= Animation size: {0,number,integer} x {1,number,integer}
-Background_pixel_initial 	= Background pixel:
-Background_pixel_value 		= Background pixel: {0}
-Image_location_initial 		= Image location:
-Image_location_value 		= Image location: ({0,number,integer}, {1,number,integer})
-Disposal_initial 			= Disposal:
-Disposal_value 				= Disposal: {0,number,integer} ({1})
-Delay_initial 				= Delay:
-Delay_value 				= Delay: {0,number,integer} ms (using {1,number,integer} ms)
-Delay_used 					= Delay: {0,number,integer} ms
-Repeats_initial 			= Repeats:
-Repeats_value 				= Repeats: {0,number,integer}
-Repeats_forever 			= Repeats: {0,number,integer} (forever)
-Palette_initial 			= Palette:
-Palette_direct 				= Palette: Direct
-Palette_value 				= Palette size: {0,number,integer}
-Max_length_string 			= Transparent pixel: -1 (none)
-Pixel_data_initial 			= Pixel data:
-Pixel_data_value 			= Pixel data:  Bytes per line: {0,number,integer}  \
-							  Scanline pad: {1,number,integer} {2}  {3}
-Depth_info 					= Depth: {0,number,integer} -- {1}
-One_byte 					= 1 byte per pixel
-Multi_bytes 				= {0,number,integer} bytes per pixel
-Multi_pixels 				= {0,number,integer} pixels per byte {1}
-Scroll_for_alpha			= (Scroll down to see alpha data)
-File 						= &File
-OpenFile 					= &Open File...\tCtrl+O
-OpenURL						= Open &URL...\tCtrl+U
-Reopen 						= &Reopen
-LoadFile 					= &Load File...\tCtrl+L
-Save 						= &Save\tCtrl+S
-Save_as 					= Save &As...
-Save_mask_as 				= Save &Mask As...
-Print 						= &Print\tCtrl+P
-Exit 						= E&xit
-Alpha 						= Alpha
-OpenURLDialog				= Open URL
-EnterURL					= Enter the URL for an image (bmp, gif, ico, jfif, jpeg, jpg, png, tif, tiff):
-All_images 					= All Image Files
-Loading_lc 					= loading
-Saving_lc 					= saving
-Unknown_extension 			= Unknown file extension: {0}\nPlease use bmp, gif, ico, jfif, jpeg, jpg, png, tif, or tiff.
-Overwrite 					= Overwrite {0}?
-Save_all					= Save all {0} images into a multi-image file?
-Analyzer_on 				= Image Analyzer on: {0}
-Reloading_lc 				= reloading
-Color_at 					= Image color at ({0,number,integer}, {1,number,integer}) \
-							  - pixel {2,number,integer} [0x{3}] - is {4} [0x{5}] {6}
-RGB							= RGB '{'{0}, {1}, {2}'}'
-RGBA						= RGBA '{'{0}, {1}, {2}, {3}'}'
-Color_at_transparent		= (transparent)
-Creating_image 				= Creating image # {0,number,integer} from 
-OK							= OK
-Cancel						= Cancel
-Stop 						= &Stop
-Creating_from 				= Creating image read from
-Bytes_per_line 				= Bytes per line:
-Scanline_pad 				= Scanline pad:
-Printing_error				= Printing error: 
-Error 						= Error {0} file\n{1}\n\n
-Unsupported_lc 				= unsupported
-None_lc 					= none
-Background_lc 				= background
-Previous_lc 				= previous
-Unspecified_lc 				= unspecified
-Unknown_ac 					= UNKNOWN
-Forever_lc 					= forever
-Save_as_type				= Save As BMP Type...
-Save_as_type_label			= Select the type of BMP to save as:
-Save_as_type_no_compress	= No Compression
-Save_as_type_rle_compress	= RLE Compression
-Save_as_type_os2			= OS/2 BMP
diff --git a/examples/org.eclipse.swt.examples/src/examples_javaviewer.properties b/examples/org.eclipse.swt.examples/src/examples_javaviewer.properties
deleted file mode 100644
index 47afc73..0000000
--- a/examples/org.eclipse.swt.examples/src/examples_javaviewer.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-Open_menuitem=&Open...\tCtrl+O
-Exit_menuitem=E&xit
-File_menuitem=&File
-Window_title=SWT Java Viewer
-Err_file_no_exist=File {0} does not exist.
-Err_file_io=IO error reading file:\n{0}
-Err_file_not_found=File not found:\n{0}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.examples/src/examples_layout.properties b/examples/org.eclipse.swt.examples/src/examples_layout.properties
deleted file mode 100644
index 921b32e..0000000
--- a/examples/org.eclipse.swt.examples/src/examples_layout.properties
+++ /dev/null
@@ -1,52 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-window.title = SWT Layouts
-
-Add					= &Add
-Delete	 			= &Delete
-Clear				= &Clear
-Children			= Children
-Type				= Type
-Top_Control			= Top Control
-Layout				= Layout
-Preferred_Size		= Preferred Size
-Generate_Code		= &Generate Code
-Generated_Code		= Generated Code
-Parameters			= Parameters
-Properties			= Properties
-Margins				= Margins
-Margins_Spacing		= Margins and Spacing
-Columns				= Columns
-Attach_Edit			= Edit
-Left_Attachment		= Edit Left Attachment
-Right_Attachment	= Edit Right Attachment
-Top_Attachment		= Edit Top Attachment
-Bottom_Attachment	= Edit Bottom Attachment
-Position			= Position
-Control				= Control
-Offset				= Offset [+/-]
-Item				= Item {0}
-Combo_Index			= Combo {0}
-Group_Index			= Group {0}
-Label_Index			= Label {0}
-Button_Index		= Button {0}
-StyledText_Index	= StyledText {0}
-Text_Index			= Text {0}
-OK					= OK
-Cancel				= Cancel
-Edit				= &Edit
-Select_All			= Select &All\tCtrl+A
-Copy				= &Copy\tCtrl+C
-Exit				= E&xit
-Name_Title			= Enter Names
-Name_Label			= Enter names for your controls
-Invalid_Name 		= Invalid Name - Please enter valid variable names for your controls
-Default				= Default
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.examples/src/examples_paint.properties b/examples/org.eclipse.swt.examples/src/examples_paint.properties
deleted file mode 100644
index b2ecec5..0000000
--- a/examples/org.eclipse.swt.examples/src/examples_paint.properties
+++ /dev/null
@@ -1,115 +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
-###############################################################################
-error.CouldNotLoadResources = Unable to load resources
-window.title = Paint
-
-menu.Tools.label = Tools
-menu.Options.label = Options
-
-tool.Pencil.label = Pencil
-tool.Pencil.tooltip = Pencil tool
-tool.Pencil.image = tool_pencil.gif
-tool.Pencil.description = Selects the Pencil tool.
-
-tool.Airbrush.label = Airbrush
-tool.Airbrush.tooltip = Airbrush tool
-tool.Airbrush.image = tool_airbrush.gif
-tool.Airbrush.description = Selects the Airbrush tool.
-
-tool.Line.label = Line
-tool.Line.tooltip = Line tool
-tool.Line.image = tool_line.gif
-tool.Line.description = Selects the Line tool.
-
-tool.PolyLine.label = Polygon
-tool.PolyLine.tooltip = Polygon tool
-tool.PolyLine.image = tool_polyline.gif
-tool.PolyLine.description = Selects the PolyLine tool.
-
-tool.Rectangle.label = Rectangle
-tool.Rectangle.tooltip = Rectangle tool
-tool.Rectangle.image = tool_rectangle.gif
-tool.Rectangle.description = Selects the Rectangle tool.
-
-tool.Ellipse.label = Ellipse
-tool.Ellipse.tooltip = Ellipse tool
-tool.Ellipse.image = tool_ellipse.gif
-tool.Ellipse.description = Selects the Ellipse tool.
-
-tool.RoundedRectangle.label = Rounded Rectangle
-tool.RoundedRectangle.tooltip = Rounded Rectangle tool
-tool.RoundedRectangle.image = tool_roundedrectangle.gif
-tool.RoundedRectangle.description = Selects the Rounded Rectangle tool.
-
-tool.Text.label = Text
-tool.Text.tooltip = Text tool
-tool.Text.image = tool_text.gif
-tool.Text.description = Selects the Text tool.
-tool.Text.settings.defaulttext = Hello!
-tool.Text.dialog.title = Text Tool Settings
-tool.Text.dialog.message = Please enter the new text string to be painted.
-
-tool.Null.label = <none>
-
-fill.None.label = No Fill
-fill.None.tooltip = No fill mode
-fill.None.image = fill_none.gif
-fill.None.description = Selects No Fill mode.
-
-fill.Outline.label = Outline Fill
-fill.Outline.tooltip = Outline fill mode
-fill.Outline.image = fill_outline.gif
-fill.Outline.description = Selects Outline Fill mode.
-
-fill.Solid.label = Solid Fill
-fill.Solid.tooltip = Solid fill mode
-fill.Solid.image = fill_solid.gif
-fill.Solid.description = Selects Solid Fill mode.
-
-linestyle.Solid.label = Solid Line
-linestyle.Solid.tooltip = Solid line style
-linestyle.Solid.image = linestyle_solid.gif
-linestyle.Solid.description = Select Solid Line style.
-
-linestyle.Dot.label = Dotted Line
-linestyle.Dot.tooltip = Dotted line style
-linestyle.Dot.image = linestyle_dot.gif
-linestyle.Dot.description = Select Dotted Line style.
-
-linestyle.Dash.label = Dashed Line
-linestyle.Dash.tooltip = Dashed line style
-linestyle.Dash.image = linestyle_dash.gif
-linestyle.Dash.description = Select Dashed Line style.
-
-linestyle.DashDot.label = Dash-Dot Line
-linestyle.DashDot.tooltip = Dash-Dot line style
-linestyle.DashDot.image = linestyle_dashdot.gif
-linestyle.DashDot.description = Select Dash-Dot Line style.
-
-options.Font.label = Text Tool Font
-options.Font.tooltip = Select Text Tool font
-options.Font.image = options_font.gif
-options.Font.description = Selects Text Tool font.
-options.Font.dialog.title = Text Tool Font
-
-settings.AirbrushRadius.text = Airbrush Radius
-settings.AirbrushIntensity.text = Airbrush Intensity
-
-session.Null.message = Select a tool...
-session.ContinuousPaint.message = Click and drag to draw...
-session.DragInteractivePaint.message = Click and drag to preview, release to draw, right-click to cancel...
-session.SegmentedInteractivePaint.message.anchorMode = Click to set anchor...
-session.SegmentedInteractivePaint.message.interactiveMode = Click to draw, double-click to close figure, right-click to cancel...
-session.Text.message = Click to draw text, right-click to edit text...
-
-status.Coord.format = ({0}, {1})
-status.CoordRange.format = ({0}, {1}) - ({2}, {3})
-status.Bar.format = {0} : {1}   {2}
diff --git a/examples/org.eclipse.swt.examples/src/examples_texteditor.properties b/examples/org.eclipse.swt.examples/src/examples_texteditor.properties
deleted file mode 100644
index 1c55fe6..0000000
--- a/examples/org.eclipse.swt.examples/src/examples_texteditor.properties
+++ /dev/null
@@ -1,22 +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
-###############################################################################
-Exit_menuitem=E&xit
-Cut_menuitem=Cu&t\tCtrl+X
-Copy_menuitem=&Copy\tCtrl+C
-Paste_menuitem=&Paste\tCtrl+V
-Window_title=SWT Text Editor
-Font_menuitem=Set &Font...
-Edit_menuitem=&Edit
-File_menuitem=&File
-Bold=Bold
-Italic=Italic
-Underline=Underline
-Strikeout=Strikeout
diff --git a/examples/org.eclipse.swt.examples/src/import.properties b/examples/org.eclipse.swt.examples/src/import.properties
deleted file mode 100644
index 1f7937e..0000000
--- a/examples/org.eclipse.swt.examples/src/import.properties
+++ /dev/null
@@ -1,26 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# Persist project settings for later import 
-natures = org.eclipse.jdt.core.javanature; org.eclipse.pde.PluginNature
-builders = org.eclipse.jdt.core.javabuilder; org.eclipse.pde.ManifestBuilder; org.eclipse.pde.SchemaBuilder
-var.ECLIPSE_PLUGINS = <<ECLIPSE_PLUGINS>>
-vmargs.org/eclipse/swt/examples/addressbook/AddressBook.java%AddressBook = "-Djava.library.path=<<SWT_LIBRARY_PATH>>"
-vmargs.org/eclipse/swt/examples/controlexample/ControlExample.java%ControlExample = "-Djava.library.path=<<SWT_LIBRARY_PATH>>"
-vmargs.org/eclipse/swt/examples/fileviewer/FileViewer.java%FileViewer = "-Djava.library.path=<<SWT_LIBRARY_PATH>>"
-vmargs.org/eclipse/swt/examples/helloworld/HelloWorld1.java%HelloWorld1 = "-Djava.library.path=<<SWT_LIBRARY_PATH>>"
-vmargs.org/eclipse/swt/examples/helloworld/HelloWorld2.java%HelloWorld2 = "-Djava.library.path=<<SWT_LIBRARY_PATH>>"
-vmargs.org/eclipse/swt/examples/helloworld/HelloWorld3.java%HelloWorld3 = "-Djava.library.path=<<SWT_LIBRARY_PATH>>"
-vmargs.org/eclipse/swt/examples/helloworld/HelloWorld4.java%HelloWorld4 = "-Djava.library.path=<<SWT_LIBRARY_PATH>>"
-vmargs.org/eclipse/swt/examples/helloworld/HelloWorld5.java%HelloWorld5 = "-Djava.library.path=<<SWT_LIBRARY_PATH>>"
-vmargs.org/eclipse/swt/examples/hoverhelp/HoverHelp.java%HoverHelp = "-Djava.library.path=<<SWT_LIBRARY_PATH>>"
-vmargs.org/eclipse/swt/examples/imageanalyzer/ImageAnalyzer.java%ImageAnalyzer = "-Djava.library.path=<<SWT_LIBRARY_PATH>>"
-vmargs.org/eclipse/swt/examples/javaviewer/JavaViewer.java%JavaViewer = "-Djava.library.path=<<SWT_LIBRARY_PATH>>"
-vmargs.org/eclipse/swt/examples/texteditor/TextEditor.java%TextEditor = "-Djava.library.path=<<SWT_LIBRARY_PATH>>"
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/addressbook/AddressBook.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/addressbook/AddressBook.java
deleted file mode 100755
index d16cdfe..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/addressbook/AddressBook.java
+++ /dev/null
@@ -1,881 +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.swt.examples.addressbook;
-
-
-/* Imports */
-import java.io.*;
-import java.util.*;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * AddressBookExample is an example that uses <code>org.eclipse.swt</code> 
- * libraries to implement a simple address book.  This application has 
- * save, load, sorting, and searching functions common
- * to basic address books.
- */
-public class AddressBook {
-
-	private static ResourceBundle resAddressBook = ResourceBundle.getBundle("examples_addressbook");
-	private Shell shell;
-	
-	private Table table;
-	private SearchDialog searchDialog;
-	
-	private File file;
-	private boolean isModified;
-	
-	private String[] copyBuffer;
-
-	private int lastSortColumn= -1;
-	
-	private static final String DELIMITER = "\t";
-	private static final String[] columnNames = {resAddressBook.getString("Last_name"),
-												 resAddressBook.getString("First_name"),
-												 resAddressBook.getString("Business_phone"),
-												 resAddressBook.getString("Home_phone"),
-												 resAddressBook.getString("Email"),
-												 resAddressBook.getString("Fax")};
-	
-public static void main(String[] args) {
-	Display display = new Display();
-	AddressBook application = new AddressBook();
-	Shell shell = application.open(display);
-	while(!shell.isDisposed()){
-		if(!display.readAndDispatch())
-			display.sleep();
-	}
-	display.dispose();
-}
-public Shell open(Display display) {
-	shell = new Shell(display);
-	shell.setLayout(new FillLayout());
-	shell.addShellListener(new ShellAdapter() {
-		public void shellClosed(ShellEvent e) {
-			e.doit = closeAddressBook();
-		}
-	});
-	
-	createMenuBar();
-
-	searchDialog = new SearchDialog(shell);
-	searchDialog.setSearchAreaNames(columnNames);
-	searchDialog.setSearchAreaLabel(resAddressBook.getString("Column"));
-	searchDialog.addFindListener(new FindListener () {
-		public boolean find() {
-			return findEntry();
-		}
-	});
-					
-	table = new Table(shell, SWT.SINGLE | SWT.BORDER | SWT.FULL_SELECTION);
-	table.setHeaderVisible(true);	
-	table.setMenu(createPopUpMenu());	
-	table.addSelectionListener(new SelectionAdapter() {
-		public void widgetDefaultSelected(SelectionEvent e) {
-			TableItem[] items = table.getSelection();
-			if (items.length > 0) editEntry(items[0]);
-		}
-	});
-	for(int i = 0; i < columnNames.length; i++) {
-		TableColumn column = new TableColumn(table, SWT.NONE);
-		column.setText(columnNames[i]);
-		column.setWidth(150);
-		final int columnIndex = i;
-		column.addSelectionListener(new SelectionAdapter() {		
-			public void widgetSelected(SelectionEvent e) {
-				sort(columnIndex);
-			}
-		});
-	}
-
-	newAddressBook();
-
-	shell.setSize(table.computeSize(SWT.DEFAULT, SWT.DEFAULT).x, 300);
-	shell.open();
-	return shell;
-}
-
-private boolean closeAddressBook() {
-	if(isModified) {
-		//ask user if they want to save current address book
-		MessageBox box = new MessageBox(shell, SWT.ICON_WARNING | SWT.YES | SWT.NO | SWT.CANCEL);
-		box.setText(shell.getText());
-		box.setMessage(resAddressBook.getString("Close_save"));
-	
-		int choice = box.open();
-		if(choice == SWT.CANCEL) {
-			return false;
-		} else if(choice == SWT.YES) {
-			if (!save()) return false;
-		}
-	}
-		
-	TableItem[] items = table.getItems();
-	for (int i = 0; i < items.length; i ++) {
-		items[i].dispose();
-	}
-	
-	return true;
-}
-/**
- * Creates the menu at the top of the shell where most
- * of the programs functionality is accessed.
- *
- * @return		The <code>Menu</code> widget that was created
- */
-private Menu createMenuBar() {
-	Menu menuBar = new Menu(shell, SWT.BAR);
-	shell.setMenuBar(menuBar);
-	
-	//create each header and subMenu for the menuBar
-	createFileMenu(menuBar);
-	createEditMenu(menuBar);
-	createSearchMenu(menuBar);
-	createHelpMenu(menuBar);
-	
-	return menuBar;
-}
-
-/**
- * Converts an encoded <code>String</code> to a String array representing a table entry.
- */
-private String[] decodeLine(String line) {
-	if(line == null) return null;
-	
-	String[] parsedLine = new String[table.getColumnCount()];
-	for(int i = 0; i < parsedLine.length - 1; i++) {
-		int index = line.indexOf(DELIMITER);
-		if (index > -1) {
-			parsedLine[i] = line.substring(0, index);
-			line = line.substring(index + DELIMITER.length(), line.length());
-		} else {
-			return null;
-		}
-	}
-	
-	if (line.indexOf(DELIMITER) != -1) return null;
-	
-	parsedLine[parsedLine.length - 1] = line;
-
-	return parsedLine;
-}
-private void displayError(String msg) {
-	MessageBox box = new MessageBox(shell, SWT.ICON_ERROR);
-	box.setMessage(msg);
-	box.open();
-}
-private void editEntry(TableItem item) {
-	DataEntryDialog dialog = new DataEntryDialog(shell);
-	dialog.setLabels(columnNames);
-	String[] values = new String[table.getColumnCount()];
-	for (int i = 0; i < values.length; i++) {
-		values[i] = item.getText(i);
-	}
-	dialog.setValues(values);
-	values = dialog.open();
-	if (values != null) {
-		item.setText(values);
-		isModified = true;
-	}
-}
-private String encodeLine(String[] tableItems) {
-	String line = "";
-	for (int i = 0; i < tableItems.length - 1; i++) {
-		line += tableItems[i] + DELIMITER;
-	}
-	line += tableItems[tableItems.length - 1] + "\n";
-	
-	return line;
-}
-private boolean findEntry() {
-	Cursor waitCursor = new Cursor(shell.getDisplay(), SWT.CURSOR_WAIT);
-	shell.setCursor(waitCursor);
-	
-	boolean matchCase = searchDialog.getMatchCase();
-	boolean matchWord = searchDialog.getMatchWord();
-	String searchString = searchDialog.getSearchString();
-	int column = searchDialog.getSelectedSearchArea();
-	
-	searchString = matchCase ? searchString : searchString.toLowerCase();
-	
-	boolean found = false;
-	if (searchDialog.getSearchDown()) {
-		for(int i = table.getSelectionIndex() + 1; i < table.getItemCount(); i++) {
-			if (found = findMatch(searchString, table.getItem(i), column, matchWord, matchCase)){
-				table.setSelection(i);
-				break;
-			}
-		}
-	} else {
-		for(int i = table.getSelectionIndex() - 1; i > -1; i--) {
-			if (found = findMatch(searchString, table.getItem(i), column, matchWord, matchCase)){
-				table.setSelection(i);
-				break;
-			}
-		}
-	}
-	
-	shell.setCursor(null);
-	waitCursor.dispose();
-		
-	return found;
-}
-private boolean findMatch(String searchString, TableItem item, int column, boolean matchWord, boolean matchCase) {
-	
-	String tableText = matchCase ? item.getText(column) : item.getText(column).toLowerCase();
-	if (matchWord) {
-		if (tableText != null && tableText.equals(searchString)) {
-			return true;
-		}
-		
-	} else {
-		if(tableText!= null && tableText.indexOf(searchString) != -1) {
-			return true;
-		}
-	}
-	return false;
-}
-private void newAddressBook() {	
-	shell.setText(resAddressBook.getString("Title_bar") + resAddressBook.getString("New_title"));
-	file = null;
-	isModified = false;
-}
-private void newEntry() {
-	DataEntryDialog dialog = new DataEntryDialog(shell);
-	dialog.setLabels(columnNames);
-	String[] data = dialog.open();
-	if (data != null) {
-		TableItem item = new TableItem(table, SWT.NONE);
-		item.setText(data);
-		isModified = true;
-	}
-}
-
-private void openAddressBook() {	
-	FileDialog fileDialog = new FileDialog(shell, SWT.OPEN);
-
-	fileDialog.setFilterExtensions(new String[] {"*.adr;", "*.*"});
-	fileDialog.setFilterNames(new String[] {resAddressBook.getString("Book_filter_name") + " (*.adr)", 
-											resAddressBook.getString("All_filter_name") + " (*.*)"});
-	String name = fileDialog.open();
-
-	if(name == null) return;
-	File file = new File(name);
-	if (!file.exists()) {
-		displayError(resAddressBook.getString("File")+file.getName()+" "+resAddressBook.getString("Does_not_exist")); 
-		return;
-	}
-	
-	Cursor waitCursor = new Cursor(shell.getDisplay(), SWT.CURSOR_WAIT);
-	shell.setCursor(waitCursor);
-	
-	FileReader fileReader = null;
-	BufferedReader bufferedReader = null;
-	String[] data = new String[0];
-	try {
-		fileReader = new FileReader(file.getAbsolutePath());
-		bufferedReader = new BufferedReader(fileReader);
-		String nextLine = bufferedReader.readLine();
-		while (nextLine != null){
-			String[] newData = new String[data.length + 1];
-			System.arraycopy(data, 0, newData, 0, data.length);
-			newData[data.length] = nextLine;
-			data = newData;
-			nextLine = bufferedReader.readLine();
-		}
-	} catch(FileNotFoundException e) {
-		displayError(resAddressBook.getString("File_not_found") + "\n" + file.getName());
-		return;
-	} catch (IOException e ) {
-		displayError(resAddressBook.getString("IO_error_read") + "\n" + file.getName());
-		return;
-	} finally {	
-		
-		shell.setCursor(null);
-		waitCursor.dispose();
-	
-		if(fileReader != null) {
-			try {
-				fileReader.close();
-			} catch(IOException e) {
-				displayError(resAddressBook.getString("IO_error_close") + "\n" + file.getName());
-				return;
-			}
-		}
-	}
-	
-	String[][] tableInfo = new String[data.length][table.getColumnCount()];
-	int writeIndex = 0;
-	for (int i = 0; i < data.length; i++) {
-		String[] line = decodeLine(data[i]);
-		if (line != null) tableInfo[writeIndex++] = line;
-	}
-	if (writeIndex != data.length) {
-		String[][] result = new String[writeIndex][table.getColumnCount()];
-		System.arraycopy(tableInfo, 0, result, 0, writeIndex);
-		tableInfo = result;
-	}
-	Arrays.sort(tableInfo, new RowComparator(0));
-
-	for (int i = 0; i < tableInfo.length; i++) {
-		TableItem item = new TableItem(table, SWT.NONE);
-		item.setText(tableInfo[i]);
-	}
-	shell.setText(resAddressBook.getString("Title_bar")+fileDialog.getFileName());
-	isModified = false;
-	this.file = file;
-}
-private boolean save() {
-	if(file == null) return saveAs();
-	
-	Cursor waitCursor = new Cursor(shell.getDisplay(), SWT.CURSOR_WAIT);
-	shell.setCursor(waitCursor);
-	
-	TableItem[] items = table.getItems();
-	String[] lines = new String[items.length];
-	for(int i = 0; i < items.length; i++) {
-		String[] itemText = new String[table.getColumnCount()];
-		for (int j = 0; j < itemText.length; j++) {
-			itemText[j] = items[i].getText(j);
-		}
-		lines[i] = encodeLine(itemText);
-	}
-		
-	FileWriter fileWriter = null;
-	try { 
-		fileWriter = new FileWriter(file.getAbsolutePath(), false);
-		for (int i = 0; i < lines.length; i++) {
-			fileWriter.write(lines[i]);
-		}
-	} catch(FileNotFoundException e) {
-		displayError(resAddressBook.getString("File_not_found") + "\n" + file.getName());
-		return false;
-	} catch(IOException e ) {
-		displayError(resAddressBook.getString("IO_error_write") + "\n" + file.getName());
-		return false;
-	} finally {
-		shell.setCursor(null);
-		waitCursor.dispose();
-		
-		if(fileWriter != null) {
-			try {
-				fileWriter.close();
-			} catch(IOException e) {
-				displayError(resAddressBook.getString("IO_error_close") + "\n" + file.getName());
-				return false;
-			}
-		}
-	}
-
-	shell.setText(resAddressBook.getString("Title_bar")+file.getName());
-	isModified = false;
-	return true;
-}
-private boolean saveAs() {
-		
-	FileDialog saveDialog = new FileDialog(shell, SWT.SAVE);
-	saveDialog.setFilterExtensions(new String[] {"*.adr;",  "*.*"});
-	saveDialog.setFilterNames(new String[] {"Address Books (*.adr)", "All Files "});
-	
-	saveDialog.open();
-	String name = saveDialog.getFileName();
-		
-	if(name.equals("")) return false;
-
-	if(name.indexOf(".adr") != name.length() - 4) {
-		name += ".adr";
-	}
-
-	File file = new File(saveDialog.getFilterPath(), name);
-	if(file.exists()) {
-		MessageBox box = new MessageBox(shell, SWT.ICON_WARNING | SWT.YES | SWT.NO);
-		box.setText(resAddressBook.getString("Save_as_title"));
-		box.setMessage(resAddressBook.getString("File") + file.getName()+" "+resAddressBook.getString("Query_overwrite"));
-		if(box.open() != SWT.YES) {
-			return false;
-		}
-	}
-	this.file = file;
-	return save();	
-}
-private void sort(int column) {
-	if(table.getItemCount() <= 1) return;
-
-	TableItem[] items = table.getItems();
-	String[][] data = new String[items.length][table.getColumnCount()];
-	for(int i = 0; i < items.length; i++) {
-		for(int j = 0; j < table.getColumnCount(); j++) {
-			data[i][j] = items[i].getText(j);
-		}
-	}
-	
-	Arrays.sort(data, new RowComparator(column));
-	
-	if (lastSortColumn != column) {
-		table.setSortColumn(table.getColumn(column));
-		table.setSortDirection(SWT.DOWN);
-		for (int i = 0; i < data.length; i++) {
-			items[i].setText(data[i]);
-		}
-		lastSortColumn = column;
-	} else {
-		// reverse order if the current column is selected again
-		table.setSortDirection(SWT.UP);
-		int j = data.length -1;
-		for (int i = 0; i < data.length; i++) {
-			items[i].setText(data[j--]);
-		}
-		lastSortColumn = -1;
-	}
-	
-}
-/**
- * Creates all the items located in the File submenu and
- * associate all the menu items with their appropriate
- * functions.
- *
- * @param	menuBar Menu
- *				the <code>Menu</code> that file contain
- *				the File submenu.
- */
-private void createFileMenu(Menu menuBar) {
-	//File menu.
-	MenuItem item = new MenuItem(menuBar, SWT.CASCADE);
-	item.setText(resAddressBook.getString("File_menu_title"));
-	Menu menu = new Menu(shell, SWT.DROP_DOWN);
-	item.setMenu(menu);
-	/** 
-	 * Adds a listener to handle enabling and disabling 
-	 * some items in the Edit submenu.
-	 */
-	menu.addMenuListener(new MenuAdapter() {
-		public void menuShown(MenuEvent e) {
-			Menu menu = (Menu)e.widget;
-			MenuItem[] items = menu.getItems();
-			items[1].setEnabled(table.getSelectionCount() != 0); // edit contact
-			items[5].setEnabled((file != null) && isModified); // save
-			items[6].setEnabled(table.getItemCount() != 0); // save as
-		}
-	});
-
-
-	//File -> New Contact
-	MenuItem subItem = new MenuItem(menu, SWT.NONE);
-	subItem.setText(resAddressBook.getString("New_contact"));
-	subItem.setAccelerator(SWT.MOD1 + 'N');
-	subItem.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			newEntry();
-		}
-	});
-	subItem = new MenuItem(menu, SWT.NONE);
-	subItem.setText(resAddressBook.getString("Edit_contact"));
-	subItem.setAccelerator(SWT.MOD1 + 'E');
-	subItem.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			TableItem[] items = table.getSelection();
-			if (items.length == 0) return;
-			editEntry(items[0]);
-		}
-	});
-
-	
-	new MenuItem(menu, SWT.SEPARATOR);
-	
-	//File -> New Address Book
-	subItem = new MenuItem(menu, SWT.NONE);
-	subItem.setText(resAddressBook.getString("New_address_book"));
-	subItem.setAccelerator(SWT.MOD1 + 'B');
-	subItem.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			if (closeAddressBook()) {
-				newAddressBook();
-			}
-		}
-	});
-
-	//File -> Open
-	subItem = new MenuItem(menu, SWT.NONE);
-	subItem.setText(resAddressBook.getString("Open_address_book"));
-	subItem.setAccelerator(SWT.MOD1 + 'O');
-	subItem.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			if (closeAddressBook()) {
-				openAddressBook();
-			}
-		}
-	});
-
-	//File -> Save.
-	subItem = new MenuItem(menu, SWT.NONE);
-	subItem.setText(resAddressBook.getString("Save_address_book"));
-	subItem.setAccelerator(SWT.MOD1 + 'S');
-	subItem.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			save();
-		}
-	});
-	
-	//File -> Save As.
-	subItem = new MenuItem(menu, SWT.NONE);
-	subItem.setText(resAddressBook.getString("Save_book_as"));
-	subItem.setAccelerator(SWT.MOD1 + 'A');
-	subItem.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			saveAs();
-		}
-	});
-
-		
-	new MenuItem(menu, SWT.SEPARATOR);
-	
-	//File -> Exit.
-	subItem = new MenuItem(menu, SWT.NONE);
-	subItem.setText(resAddressBook.getString("Exit"));
-	subItem.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			shell.close();
-		}
-	});
-}
-
-/**
- * Creates all the items located in the Edit submenu and
- * associate all the menu items with their appropriate
- * functions.
- *
- * @param	menuBar Menu
- *				the <code>Menu</code> that file contain
- *				the Edit submenu.
- *
- * @see	#createSortMenu()
- */
-private MenuItem createEditMenu(Menu menuBar) {
-	//Edit menu.
-	MenuItem item = new MenuItem(menuBar, SWT.CASCADE);
-	item.setText(resAddressBook.getString("Edit_menu_title"));
-	Menu menu = new Menu(shell, SWT.DROP_DOWN);
-	item.setMenu(menu);
-	
-	/** 
-	 * Add a listener to handle enabling and disabling 
-	 * some items in the Edit submenu.
-	 */
-	menu.addMenuListener(new MenuAdapter() {
-		public void menuShown(MenuEvent e) {
-			Menu menu = (Menu)e.widget;
-			MenuItem[] items = menu.getItems();
-			int count = table.getSelectionCount();
-			items[0].setEnabled(count != 0); // edit
-			items[1].setEnabled(count != 0); // copy
-			items[2].setEnabled(copyBuffer != null); // paste
-			items[3].setEnabled(count != 0); // delete
-			items[5].setEnabled(table.getItemCount() != 0); // sort
-		}
-	});
-	
-	//Edit -> Edit
-	MenuItem subItem = new MenuItem(menu, SWT.PUSH);
-	subItem.setText(resAddressBook.getString("Edit"));
-	subItem.setAccelerator(SWT.MOD1 + 'E');
-	subItem.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			TableItem[] items = table.getSelection();
-			if (items.length == 0) return;
-			editEntry(items[0]);
-		}
-	});
-
-	//Edit -> Copy
-	subItem = new MenuItem(menu, SWT.NONE);
-	subItem.setText(resAddressBook.getString("Copy"));
-	subItem.setAccelerator(SWT.MOD1 + 'C');
-	subItem.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			TableItem[] items = table.getSelection();
-			if (items.length == 0) return;
-			copyBuffer = new String[table.getColumnCount()];
-			for (int i = 0; i < copyBuffer.length; i++) {
-				copyBuffer[i] = items[0].getText(i);
-			}
-		}
-	});
-	
-	//Edit -> Paste
-	subItem = new MenuItem(menu, SWT.NONE);
-	subItem.setText(resAddressBook.getString("Paste"));
-	subItem.setAccelerator(SWT.MOD1 + 'V');
-	subItem.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			if (copyBuffer == null) return;
-			TableItem item = new TableItem(table, SWT.NONE);
-			item.setText(copyBuffer);
-			isModified = true;
-		}
-	});
-	
-	//Edit -> Delete
-	subItem = new MenuItem(menu, SWT.NONE);
-	subItem.setText(resAddressBook.getString("Delete"));
-	subItem.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			TableItem[] items = table.getSelection();
-			if (items.length == 0) return;
-			items[0].dispose();
-			isModified = true;		}
-	});
-	
-	new MenuItem(menu, SWT.SEPARATOR);
-	
-	//Edit -> Sort(Cascade)
-	subItem = new MenuItem(menu, SWT.CASCADE);
-	subItem.setText(resAddressBook.getString("Sort"));
-	Menu submenu = createSortMenu();
-	subItem.setMenu(submenu);
-	
-	return item;
-	
-}
-
-/**
- * Creates all the items located in the Sort cascading submenu and
- * associate all the menu items with their appropriate
- * functions.
- *
- * @return	Menu
- *			The cascading menu with all the sort menu items on it.
- */
-private Menu createSortMenu() {
-	Menu submenu = new Menu(shell, SWT.DROP_DOWN);
-	MenuItem subitem;
-	for(int i = 0; i < columnNames.length; i++) {
-		subitem = new MenuItem (submenu, SWT.NONE);
-		subitem.setText(columnNames [i]);
-		final int column = i;
-		subitem.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				sort(column);
-			}
-		});
-
-	}
-	
-	return submenu;
-}
-
-/**
- * Creates all the items located in the Search submenu and
- * associate all the menu items with their appropriate
- * functions.
- *
- * @param	menuBar	Menu
- *				the <code>Menu</code> that file contain
- *				the Search submenu.
- */
-private void createSearchMenu(Menu menuBar) {
-	//Search menu.
-	MenuItem item = new MenuItem(menuBar, SWT.CASCADE);
-	item.setText(resAddressBook.getString("Search_menu_title"));
-	Menu searchMenu = new Menu(shell, SWT.DROP_DOWN);
-	item.setMenu(searchMenu);
-
-	//Search -> Find...
-	item = new MenuItem(searchMenu, SWT.NONE);
-	item.setText(resAddressBook.getString("Find"));
-	item.setAccelerator(SWT.MOD1 + 'F');
-	item.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			searchDialog.setMatchCase(false);
-			searchDialog.setMatchWord(false);
-			searchDialog.setSearchDown(true);
-			searchDialog.setSearchString("");
-			searchDialog.setSelectedSearchArea(0);
-			searchDialog.open();
-		}
-	});
-
-	//Search -> Find Next
-	item = new MenuItem(searchMenu, SWT.NONE);
-	item.setText(resAddressBook.getString("Find_next"));
-	item.setAccelerator(SWT.F3);
-	item.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			searchDialog.open();
-		}
-	});
-}
-
-/** 
- * Creates all items located in the popup menu and associates
- * all the menu items with their appropriate functions.
- *
- * @return	Menu
- *			The created popup menu.
- */
-private Menu createPopUpMenu() {
-	Menu popUpMenu = new Menu(shell, SWT.POP_UP);
-
-	/** 
-	 * Adds a listener to handle enabling and disabling 
-	 * some items in the Edit submenu.
-	 */
-	popUpMenu.addMenuListener(new MenuAdapter() {
-		public void menuShown(MenuEvent e) {
-			Menu menu = (Menu)e.widget;
-			MenuItem[] items = menu.getItems();
-			int count = table.getSelectionCount();
-			items[2].setEnabled(count != 0); // edit
-			items[3].setEnabled(count != 0); // copy
-			items[4].setEnabled(copyBuffer != null); // paste
-			items[5].setEnabled(count != 0); // delete
-			items[7].setEnabled(table.getItemCount() != 0); // find
-		}
-	});
-
-	//New
-	MenuItem item = new MenuItem(popUpMenu, SWT.PUSH);
-	item.setText(resAddressBook.getString("Pop_up_new"));
-	item.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			newEntry();
-		}
-	});
-	
-	new MenuItem(popUpMenu, SWT.SEPARATOR);	
-	
-	//Edit
-	item = new MenuItem(popUpMenu, SWT.PUSH);
-	item.setText(resAddressBook.getString("Pop_up_edit"));
-	item.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			TableItem[] items = table.getSelection();
-			if (items.length == 0) return;
-			editEntry(items[0]);
-		}
-	});
-
-	//Copy
-	item = new MenuItem(popUpMenu, SWT.PUSH);
-	item.setText(resAddressBook.getString("Pop_up_copy"));
-	item.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			TableItem[] items = table.getSelection();
-			if (items.length == 0) return;
-			copyBuffer = new String[table.getColumnCount()];
-			for (int i = 0; i < copyBuffer.length; i++) {
-				copyBuffer[i] = items[0].getText(i);
-			}
-		}
-	});
-	
-	//Paste
-	item = new MenuItem(popUpMenu, SWT.PUSH);
-	item.setText(resAddressBook.getString("Pop_up_paste"));
-	item.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			if (copyBuffer == null) return;
-			TableItem item = new TableItem(table, SWT.NONE);
-			item.setText(copyBuffer);
-			isModified = true;
-		}
-	});
-	
-	//Delete
-	item = new MenuItem(popUpMenu, SWT.PUSH);
-	item.setText(resAddressBook.getString("Pop_up_delete"));
-	item.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			TableItem[] items = table.getSelection();
-			if (items.length == 0) return;
-			items[0].dispose();
-			isModified = true;
-		}
-	});
-	
-	new MenuItem(popUpMenu, SWT.SEPARATOR);	
-	
-	//Find...
-	item = new MenuItem(popUpMenu, SWT.PUSH);
-	item.setText(resAddressBook.getString("Pop_up_find"));
-	item.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			searchDialog.open();
-		}
-	});
-
-	return popUpMenu;
-}
-
-/**
- * Creates all the items located in the Help submenu and
- * associate all the menu items with their appropriate
- * functions.
- *
- * @param	menuBar	Menu
- *				the <code>Menu</code> that file contain
- *				the Help submenu.
- */
-private void createHelpMenu(Menu menuBar) {
-	
-	//Help Menu
-	MenuItem item = new MenuItem(menuBar, SWT.CASCADE);
-	item.setText(resAddressBook.getString("Help_menu_title"));	
-	Menu menu = new Menu(shell, SWT.DROP_DOWN);
-	item.setMenu(menu);
-	
-	//Help -> About Text Editor
-	MenuItem subItem = new MenuItem(menu, SWT.NONE);
-	subItem.setText(resAddressBook.getString("About"));
-	subItem.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			MessageBox box = new MessageBox(shell, SWT.NONE);
-			box.setText(resAddressBook.getString("About_1") + shell.getText());
-			box.setMessage(shell.getText() + resAddressBook.getString("About_2"));
-			box.open();		
-		}
-	});
-}
-
-/**
- * To compare entries (rows) by the given column
- */
-private class RowComparator implements Comparator {
-	private int column;
-	
-	/**
-	 * Constructs a RowComparator given the column index
-	 * @param col The index (starting at zero) of the column
-	 */
-	public RowComparator(int col) {
-		column = col;
-	}
-	
-	/**
-	 * Compares two rows (type String[]) using the specified
-	 * column entry.
-	 * @param obj1 First row to compare
-	 * @param obj2 Second row to compare
-	 * @return negative if obj1 less than obj2, positive if
-	 * 			obj1 greater than obj2, and zero if equal.
-	 */
-	public int compare(Object obj1, Object obj2) {
-		String[] row1 = (String[])obj1;
-		String[] row2 = (String[])obj2;
-		
-		return row1[column].compareTo(row2[column]);
-	}
-}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/addressbook/DataEntryDialog.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/addressbook/DataEntryDialog.java
deleted file mode 100755
index 3a51431..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/addressbook/DataEntryDialog.java
+++ /dev/null
@@ -1,163 +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.swt.examples.addressbook;
-
-
-/* Imports */
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import java.util.ResourceBundle;
-
-/**
- * DataEntryDialog class uses <code>org.eclipse.swt</code> 
- * libraries to implement a dialog that accepts basic personal information that
- * is added to a <code>Table</code> widget or edits a <code>TableItem</code> entry 
- * to represent the entered data.
- */
-public class DataEntryDialog {
-
-	private static ResourceBundle resAddressBook = ResourceBundle.getBundle("examples_addressbook");
-	
-	Shell shell;
-	String[] values;
-	String[] labels;
-	
-public DataEntryDialog(Shell parent) {
-	shell = new Shell(parent, SWT.DIALOG_TRIM | SWT.PRIMARY_MODAL);
-	shell.setLayout(new GridLayout());		
-}
-
-private void addTextListener(final Text text) {
-	text.addModifyListener(new ModifyListener() {
-		public void modifyText(ModifyEvent e){
-			Integer index = (Integer)(text.getData("index"));
-			values[index.intValue()] = text.getText();
-		}
-	});
-}
-private void createControlButtons() {
-	Composite composite = new Composite(shell, SWT.NONE);
-	composite.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_CENTER));
-	GridLayout layout = new GridLayout();
-	layout.numColumns = 2;
-	composite.setLayout(layout);
-	
-	Button okButton = new Button(composite, SWT.PUSH);
-	okButton.setText(resAddressBook.getString("OK"));
-	okButton.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			shell.close();
-		}
-	});
-	
-	Button cancelButton = new Button(composite, SWT.PUSH);
-	cancelButton.setText(resAddressBook.getString("Cancel"));
-	cancelButton.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			values = null;
-			shell.close();
-		}
-	});
-	
-	shell.setDefaultButton(okButton);
-}
-
-private void createTextWidgets() {
-	if (labels == null) return;
-	
-	Composite composite = new Composite(shell, SWT.NONE);
-	composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-	GridLayout layout= new GridLayout();
-	layout.numColumns = 2;
-	composite.setLayout(layout);
-	
-	if (values == null)
-		values = new String[labels.length];
-	
-	for (int i = 0; i < labels.length; i++) {
-		Label label = new Label(composite, SWT.RIGHT);
-		label.setText(labels[i]);	
-		Text text = new Text(composite, SWT.BORDER);
-		GridData gridData = new GridData();
-		gridData.widthHint = 400;
-		text.setLayoutData(gridData);
-		if (values[i] != null) {
-			text.setText(values[i]);
-		}
-		text.setData("index", new Integer(i));
-		addTextListener(text);	
-	}
-}
-
-public String[] getLabels() {
-	return labels;
-}
-public String getTitle() {
-	return shell.getText();
-}
-/**
- * Returns the contents of the <code>Text</code> widgets in the dialog in a 
- * <code>String</code> array.
- *
- * @return	String[]	
- *			The contents of the text widgets of the dialog.
- *			May return null if all text widgets are empty.
- */ 
-public String[] getValues() {
-	return values;
-}
-/** 
- * Opens the dialog in the given state.  Sets <code>Text</code> widget contents 
- * and dialog behaviour accordingly.
- *
- * @param 	dialogState	int
- *					The state the dialog should be opened in.
- */
-public String[] open() {
-	createTextWidgets();
-	createControlButtons();
-	shell.pack();
-	shell.open();
-	Display display = shell.getDisplay();
-	while(!shell.isDisposed()){
-		if(!display.readAndDispatch())
-			display.sleep();
-	}
-	
-	return getValues();
-}
-public void setLabels(String[] labels) {
-	this.labels = labels;
-}
-public void setTitle(String title) {
-	shell.setText(title);
-}
-/**
- * Sets the values of the <code>Text</code> widgets of the dialog to
- * the values supplied in the parameter array.
- *
- * @param	itemInfo	String[]
- * 						The values to which the dialog contents will be set.
- */
-public void setValues(String[] itemInfo) {
-	if (labels == null) return;
-	
-	if (values == null)
-		values = new String[labels.length];
-
-	int numItems = Math.min(values.length, itemInfo.length);
-	for(int i = 0; i < numItems; i++) {
-		values[i] = itemInfo[i];
-	}	
-}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/addressbook/FindListener.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/addressbook/FindListener.java
deleted file mode 100755
index 1732505..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/addressbook/FindListener.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.examples.addressbook;
-
-
-public interface FindListener {
-
-public boolean find();
-
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/addressbook/SearchDialog.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/addressbook/SearchDialog.java
deleted file mode 100755
index 24b66e2..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/addressbook/SearchDialog.java
+++ /dev/null
@@ -1,202 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.examples.addressbook;
-
-
-/* Imports */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.events.*;
-import java.util.ResourceBundle;
-
-/**
- * SearchDialog is a simple class that uses <code>org.eclipse.swt</code> 
- * libraries to implement a basic search dialog.
- */
-public class SearchDialog {
-
-	private static ResourceBundle resAddressBook = ResourceBundle.getBundle("examples_addressbook");
-
-	Shell shell;
-	Text searchText;
-	Combo searchArea;
-	Label searchAreaLabel;
-	Button matchCase;
-	Button matchWord;
-	Button findButton;
-	Button down;
-	FindListener findHandler;
-
-/**
- * Class constructor that sets the parent shell and the table widget that
- * the dialog will search.
- *
- * @param parent	Shell 
- *			The shell that is the parent of the dialog.
- */
-public SearchDialog(Shell parent) {
-	shell = new Shell(parent, SWT.CLOSE | SWT.BORDER | SWT.TITLE);
-	GridLayout layout = new GridLayout();
-	layout.numColumns = 2;
-	shell.setLayout(layout);
-	shell.setText(resAddressBook.getString("Search_dialog_title"));
-	shell.addShellListener(new ShellAdapter(){
-		public void shellClosed(ShellEvent e) {
-			// don't dispose of the shell, just hide it for later use
-			e.doit = false;
-			shell.setVisible(false);
-		}
-	});
-		
-	Label label = new Label(shell, SWT.LEFT);
-	label.setText(resAddressBook.getString("Dialog_find_what"));	
-	searchText = new Text(shell, SWT.BORDER);
-	GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
-	gridData.widthHint = 200;
-	searchText.setLayoutData(gridData);
-	searchText.addModifyListener(new ModifyListener() {
-		public void modifyText(ModifyEvent e) {
-			boolean enableFind = (searchText.getCharCount() != 0);
-			findButton.setEnabled(enableFind);
-		}
-	});
-
-	searchAreaLabel = new Label(shell, SWT.LEFT);
-	searchArea = new Combo(shell, SWT.DROP_DOWN | SWT.READ_ONLY);
-	gridData = new GridData(GridData.FILL_HORIZONTAL);
-	gridData.widthHint = 200;
-	searchArea.setLayoutData(gridData);
-	
-	matchCase = new Button(shell, SWT.CHECK);
-	matchCase.setText(resAddressBook.getString("Dialog_match_case"));
-	gridData = new GridData();
-	gridData.horizontalSpan = 2;
-	matchCase.setLayoutData(gridData);
-	
-	matchWord = new Button(shell, SWT.CHECK);
-	matchWord.setText(resAddressBook.getString("Dialog_match_word"));
-	gridData = new GridData();
-	gridData.horizontalSpan = 2;
-	matchWord.setLayoutData(gridData);
-	
-	Group direction = new Group(shell, SWT.NONE);
-	gridData = new GridData();
-	gridData.horizontalSpan = 2;
-	direction.setLayoutData(gridData);
-	direction.setLayout (new FillLayout ());	
-	direction.setText(resAddressBook.getString("Dialog_direction"));
-	
-	Button up = new Button(direction, SWT.RADIO);
-	up.setText(resAddressBook.getString("Dialog_dir_up"));
-	up.setSelection(false);
-		
-	down = new Button(direction, SWT.RADIO);
-	down.setText(resAddressBook.getString("Dialog_dir_down"));
-	down.setSelection(true);
-
-	Composite composite = new Composite(shell, SWT.NONE);
-	gridData = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-	gridData.horizontalSpan = 2;
-	composite.setLayoutData(gridData);
-	layout = new GridLayout();
-	layout.numColumns = 2;
-	layout.makeColumnsEqualWidth = true;
-	composite.setLayout(layout);
-	
-	findButton = new Button(composite, SWT.PUSH);
-	findButton.setText(resAddressBook.getString("Dialog_find"));
-	findButton.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END));
-	findButton.setEnabled(false);
-	findButton.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			if (!findHandler.find()){
-				MessageBox box = new MessageBox(shell, SWT.ICON_INFORMATION | SWT.OK | SWT.PRIMARY_MODAL);
-				box.setText(shell.getText());
-				box.setMessage(resAddressBook.getString("Cannot_find") + "\"" + searchText.getText() + "\"");
-				box.open();	
-			}		
-		}
-	});
-			
-	Button cancelButton = new Button(composite, SWT.PUSH);
-	cancelButton.setText(resAddressBook.getString("Cancel"));
-	cancelButton.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING));
-	cancelButton.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			shell.setVisible(false);
-		}
-	});
-	
-	shell.pack();
-}
-public String getSearchAreaLabel(String label) {
-	return searchAreaLabel.getText();
-}
-
-public String[] getsearchAreaNames() {
-	return searchArea.getItems();
-}
-public boolean getMatchCase() {
-	return matchCase.getSelection();
-}
-public boolean getMatchWord() {
-	return matchWord.getSelection();
-}
-public String getSearchString() {
-	return searchText.getText();
-}
-public boolean getSearchDown(){
-	return down.getSelection();
-}
-public int getSelectedSearchArea() {
-	return searchArea.getSelectionIndex();
-}
-public void open() {
-	if (shell.isVisible()) {
-		shell.setFocus();
-	} else {
-		shell.open();
-	}
-	searchText.setFocus();
-}
-public void setSearchAreaNames(String[] names) {
-	for (int i = 0; i < names.length; i++) {
-		searchArea.add(names[i]);
-	}
-	searchArea.select(0);
-}
-public void setSearchAreaLabel(String label) {
-	searchAreaLabel.setText(label);
-}
-public void setMatchCase(boolean match) {
-	matchCase.setSelection(match);
-}
-public void setMatchWord(boolean match) {
-	matchWord.setSelection(match);
-}
-public void setSearchDown(boolean searchDown){
-	down.setSelection(searchDown);
-}
-public void setSearchString(String searchString) {
-	searchText.setText(searchString);
-}
-
-public void setSelectedSearchArea(int index) {
-	searchArea.select(index);
-}
-public void addFindListener(FindListener listener) {
-	this.findHandler = listener;	
-}
-public void removeFindListener(FindListener listener) {
-	this.findHandler = null;
-}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/browserexample/BrowserExample.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/browserexample/BrowserExample.java
deleted file mode 100644
index 824e587..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/browserexample/BrowserExample.java
+++ /dev/null
@@ -1,372 +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.swt.examples.browserexample;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.browser.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-import java.io.*;
-import java.util.*;
-
-public class BrowserExample {
-	static ResourceBundle resourceBundle = ResourceBundle.getBundle("examples_browser");
-	int index;
-	boolean busy;
-	Image images[];
-	Image icon = null;
-	boolean title = false;
-	Composite parent;
-	Text locationBar;
-	Browser browser;
-	ToolBar toolbar;
-	Canvas canvas;
-	ToolItem itemBack, itemForward;
-	Label status;
-	ProgressBar progressBar;
-	SWTError error = null;
-
-	static final String[] imageLocations = {
-			"eclipse01.bmp", "eclipse02.bmp", "eclipse03.bmp", "eclipse04.bmp", "eclipse05.bmp",
-			"eclipse06.bmp", "eclipse07.bmp", "eclipse08.bmp", "eclipse09.bmp", "eclipse10.bmp",
-			"eclipse11.bmp", "eclipse12.bmp",};
-	static final String iconLocation = "document.gif";
-		
-	public BrowserExample(Composite parent, boolean top) {
-		this.parent = parent;
-		try {
-			browser = new Browser(parent, SWT.BORDER);
-		} catch (SWTError e) {
-			error = e;
-			/* Browser widget could not be instantiated */
-			parent.setLayout(new FillLayout());
-			Label label = new Label(parent, SWT.CENTER | SWT.WRAP);
-			label.setText(getResourceString("BrowserNotCreated"));
-			parent.layout(true);
-			return;
-		}
-		initResources();
-		final Display display = parent.getDisplay();
-		browser.setData("org.eclipse.swt.examples.browserexample.BrowserApplication", this);
-		browser.addOpenWindowListener(new OpenWindowListener() {
-			public void open(WindowEvent event) {
-				Shell shell = new Shell(display);
-				if (icon != null) shell.setImage(icon);
-				shell.setLayout(new FillLayout());
-				BrowserExample app = new BrowserExample(shell, false);
-				app.setShellDecoration(icon, true);
-				event.browser = app.getBrowser();
-			}
-		});
-		if (top) {
-			browser.setUrl(getResourceString("Startup"));
-			show(false, null, null, true, true, true, true);
-		} else {
-			browser.addVisibilityWindowListener(new VisibilityWindowListener() {
-				public void hide(WindowEvent e) {
-				}
-				public void show(WindowEvent e) {
-					Browser browser = (Browser)e.widget;
-					BrowserExample app = (BrowserExample)browser.getData("org.eclipse.swt.examples.browserexample.BrowserApplication");
-					app.show(true, e.location, e.size, e.addressBar, e.menuBar, e.statusBar, e.toolBar);
-				}
-			});
-			browser.addCloseWindowListener(new CloseWindowListener() {
-				public void close(WindowEvent event) {
-					Browser browser = (Browser)event.widget;
-					Shell shell = browser.getShell();
-					shell.close();
-				}
-			});
-		}
-	}
-
-	/**
-	 * Disposes of all resources associated with a particular
-	 * instance of the BrowserApplication.
-	 */	
-	public void dispose() {
-		freeResources();
-	}
-	
-	/**
-	 * Gets a string from the resource bundle.
-	 * We don't want to crash because of a missing String.
-	 * Returns the key if not found.
-	 */
-	static String getResourceString(String key) {
-		try {
-			return resourceBundle.getString(key);
-		} catch (MissingResourceException e) {
-			return key;
-		} catch (NullPointerException e) {
-			return "!" + key + "!";
-		}			
-	}
-	
-	public SWTError getError() { return error; }
-	
-	public Browser getBrowser() { return browser; }
-	
-	public void setShellDecoration(Image icon, boolean title) {
-		this.icon = icon;
-		this.title = title;
-	}
-	
-	void show(boolean owned, Point location, Point size, boolean addressBar, boolean menuBar, boolean statusBar, boolean toolBar) {
-		final Shell shell = browser.getShell();
-		if (owned) {
-			if (location != null) shell.setLocation(location);
-			if (size != null) shell.setSize(shell.computeSize(size.x, size.y));
-		}
-		FormData data = null;
-		if (toolBar) {
-			toolbar = new ToolBar(parent, SWT.NONE);
-			data = new FormData();
-			data.top = new FormAttachment(0, 5);
-			toolbar.setLayoutData(data);
-			itemBack = new ToolItem(toolbar, SWT.PUSH);
-			itemBack.setText(getResourceString("Back"));
-			itemForward = new ToolItem(toolbar, SWT.PUSH);
-			itemForward.setText(getResourceString("Forward"));
-			final ToolItem itemStop = new ToolItem(toolbar, SWT.PUSH);
-			itemStop.setText(getResourceString("Stop"));
-			final ToolItem itemRefresh = new ToolItem(toolbar, SWT.PUSH);
-			itemRefresh.setText(getResourceString("Refresh"));
-			final ToolItem itemGo = new ToolItem(toolbar, SWT.PUSH);
-			itemGo.setText(getResourceString("Go"));
-			
-			itemBack.setEnabled(browser.isBackEnabled());
-			itemForward.setEnabled(browser.isForwardEnabled());
-			Listener listener = new Listener() {
-				public void handleEvent(Event event) {
-					ToolItem item = (ToolItem)event.widget;
-					if (item == itemBack) browser.back(); 
-					else if (item == itemForward) browser.forward();
-					else if (item == itemStop) browser.stop();
-					else if (item == itemRefresh) browser.refresh();
-					else if (item == itemGo) browser.setUrl(locationBar.getText());
-				}
-			};
-			itemBack.addListener(SWT.Selection, listener);
-			itemForward.addListener(SWT.Selection, listener);
-			itemStop.addListener(SWT.Selection, listener);
-			itemRefresh.addListener(SWT.Selection, listener);
-			itemGo.addListener(SWT.Selection, listener);
-
-			canvas = new Canvas(parent, SWT.NO_BACKGROUND);
-			data = new FormData();
-			data.width = 24;
-			data.height = 24;
-			data.top = new FormAttachment(0, 5);
-			data.right = new FormAttachment(100, -5);
-			canvas.setLayoutData(data);
-			
-			final Rectangle rect = images[0].getBounds();
-			canvas.addListener(SWT.Paint, new Listener() {
-				public void handleEvent(Event e) {
-					Point pt = ((Canvas)e.widget).getSize();
-					e.gc.drawImage(images[index], 0, 0, rect.width, rect.height, 0, 0, pt.x, pt.y);			
-				}
-			});
-			canvas.addListener(SWT.MouseDown, new Listener() {
-				public void handleEvent(Event e) {
-					browser.setUrl(getResourceString("Startup"));
-				}
-			});
-			
-			final Display display = parent.getDisplay();
-			display.asyncExec(new Runnable() {
-				public void run() {
-					if (canvas.isDisposed()) return;
-					if (busy) {
-						index++;
-						if (index == images.length) index = 0;
-						canvas.redraw();
-					}
-					display.timerExec(150, this);
-				}
-			});
-		}
-		if (addressBar) {
-			locationBar = new Text(parent, SWT.BORDER);
-			data = new FormData();
-			if (toolbar != null) {
-				data.top = new FormAttachment(toolbar, 0, SWT.TOP);
-				data.left = new FormAttachment(toolbar, 5, SWT.RIGHT);
-				data.right = new FormAttachment(canvas, -5, SWT.DEFAULT);			
-			} else {
-				data.top = new FormAttachment(0, 0);
-				data.left = new FormAttachment(0, 0);
-				data.right = new FormAttachment(100, 0);			
-			}
-			locationBar.setLayoutData(data);
-			locationBar.addListener(SWT.DefaultSelection, new Listener() {
-				public void handleEvent(Event e) {
-					browser.setUrl(locationBar.getText());
-				}
-			});
-		}
-		if (statusBar) {
-			status = new Label(parent, SWT.NONE);
-			progressBar = new ProgressBar(parent, SWT.NONE);
-			
-			data = new FormData();
-			data.left = new FormAttachment(0, 5);
-			data.right = new FormAttachment(progressBar, 0, SWT.DEFAULT);
-			data.bottom = new FormAttachment(100, -5);
-			status.setLayoutData(data);
-			
-			data = new FormData();
-			data.right = new FormAttachment(100, -5);
-			data.bottom = new FormAttachment(100, -5);
-			progressBar.setLayoutData(data);
-			
-			browser.addStatusTextListener(new StatusTextListener() {
-				public void changed(StatusTextEvent event) {
-					status.setText(event.text);	
-				}
-			});
-		}
-		parent.setLayout(new FormLayout());
-
-		Control aboveBrowser = toolBar ? (Control)canvas : (addressBar ? (Control)locationBar : null);
-		data = new FormData();
-		data.left = new FormAttachment(0, 0);
-		data.top = aboveBrowser != null ? new FormAttachment(aboveBrowser, 5, SWT.DEFAULT) : new FormAttachment(0, 0);
-		data.right = new FormAttachment(100, 0);
-		data.bottom = status != null ? new FormAttachment(status, -5, SWT.DEFAULT) : new FormAttachment(100, 0);
-		browser.setLayoutData(data);
-			
-		if (statusBar || toolBar) {
-			browser.addProgressListener(new ProgressListener() {
-				public void changed(ProgressEvent event) {
-					if (event.total == 0) return;                            
-					int ratio = event.current * 100 / event.total;
-					if (progressBar != null) progressBar.setSelection(ratio);
-					busy = event.current != event.total;
-					if (!busy) {
-						index = 0;
-						if (canvas != null) canvas.redraw();
-					}
-				}
-				public void completed(ProgressEvent event) {
-					if (progressBar != null) progressBar.setSelection(0);
-					busy = false;
-					index = 0;
-					if (canvas != null) {
-						itemBack.setEnabled(browser.isBackEnabled());
-						itemForward.setEnabled(browser.isForwardEnabled());
-						canvas.redraw();
-					}
-				}
-			});
-		}
-		if (addressBar || statusBar || toolBar) {
-			browser.addLocationListener(new LocationListener() {
-				public void changed(LocationEvent event) {
-					busy = true;
-					if (event.top && locationBar != null) locationBar.setText(event.location);
-				}
-				public void changing(LocationEvent event) {
-				}
-			});
-		}
-		if (title) {
-			browser.addTitleListener(new TitleListener() {
-				public void changed(TitleEvent event) {
-					shell.setText(event.title+" - "+getResourceString("window.title"));
-				}
-			});
-		}
-		parent.layout(true);
-		if (owned) shell.open();
-	}
-
-	/**
-	 * Grabs input focus
-	 */
-	public void focus() {
-		if (locationBar != null) locationBar.setFocus();
-		else if (browser != null) browser.setFocus();
-		else parent.setFocus();
-	}
-	
-	/**
-	 * Frees the resources
-	 */
-	void freeResources() {
-		if (images != null) {
-			for (int i = 0; i < images.length; ++i) {
-				final Image image = images[i];
-				if (image != null) image.dispose();
-			}
-			images = null;
-		}
-	}
-	
-	/**
-	 * Loads the resources
-	 */
-	void initResources() {
-		final Class clazz = this.getClass();
-		if (resourceBundle != null) {
-			try {
-				if (images == null) {
-					images = new Image[imageLocations.length];
-					for (int i = 0; i < imageLocations.length; ++i) {
-						InputStream sourceStream = clazz.getResourceAsStream(imageLocations[i]);
-						ImageData source = new ImageData(sourceStream);
-						ImageData mask = source.getTransparencyMask();
-						images[i] = new Image(null, source, mask);
-						try {
-							sourceStream.close();
-						} catch (IOException e) {
-							e.printStackTrace ();
-						}
-					}
-				}
-				return;
-			} catch (Throwable t) {
-			}
-		}
-		String error = (resourceBundle != null) ? getResourceString("error.CouldNotLoadResources") : "Unable to load resources";
-		freeResources();
-		throw new RuntimeException(error);
-	}
-	
-	public static void main(String [] args) {
-		Display display = new Display();
-		Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		shell.setText(getResourceString("window.title"));
-		InputStream stream = BrowserExample.class.getResourceAsStream(iconLocation);
-		Image icon = new Image(display, stream);
-		shell.setImage(icon);
-		try {
-			stream.close();
-		} catch (IOException e) {
-			e.printStackTrace();
-		}
-		BrowserExample app = new BrowserExample(shell, true);
-		app.setShellDecoration(icon, true);
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		icon.dispose();
-		app.dispose();
-		display.dispose();
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/browserexample/document.gif b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/browserexample/document.gif
deleted file mode 100644
index 895e221..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/browserexample/document.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/browserexample/eclipse01.bmp b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/browserexample/eclipse01.bmp
deleted file mode 100644
index 43116e6..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/browserexample/eclipse01.bmp
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/browserexample/eclipse02.bmp b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/browserexample/eclipse02.bmp
deleted file mode 100644
index 8db04ef..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/browserexample/eclipse02.bmp
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/browserexample/eclipse03.bmp b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/browserexample/eclipse03.bmp
deleted file mode 100644
index 5fc7b10..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/browserexample/eclipse03.bmp
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/browserexample/eclipse04.bmp b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/browserexample/eclipse04.bmp
deleted file mode 100644
index 2140654..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/browserexample/eclipse04.bmp
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/browserexample/eclipse05.bmp b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/browserexample/eclipse05.bmp
deleted file mode 100644
index 7e45a99..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/browserexample/eclipse05.bmp
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/browserexample/eclipse06.bmp b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/browserexample/eclipse06.bmp
deleted file mode 100644
index aaa888a..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/browserexample/eclipse06.bmp
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/browserexample/eclipse07.bmp b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/browserexample/eclipse07.bmp
deleted file mode 100644
index 50e2222..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/browserexample/eclipse07.bmp
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/browserexample/eclipse08.bmp b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/browserexample/eclipse08.bmp
deleted file mode 100644
index b1ac29d..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/browserexample/eclipse08.bmp
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/browserexample/eclipse09.bmp b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/browserexample/eclipse09.bmp
deleted file mode 100644
index 561f830..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/browserexample/eclipse09.bmp
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/browserexample/eclipse10.bmp b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/browserexample/eclipse10.bmp
deleted file mode 100644
index 6ae79b2..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/browserexample/eclipse10.bmp
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/browserexample/eclipse11.bmp b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/browserexample/eclipse11.bmp
deleted file mode 100644
index a0c24a6..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/browserexample/eclipse11.bmp
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/browserexample/eclipse12.bmp b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/browserexample/eclipse12.bmp
deleted file mode 100644
index 1cae71c..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/browserexample/eclipse12.bmp
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/clipboard/ClipboardExample.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/clipboard/ClipboardExample.java
deleted file mode 100644
index c2097c4..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/clipboard/ClipboardExample.java
+++ /dev/null
@@ -1,611 +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.swt.examples.clipboard;
- 
-import org.eclipse.swt.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.dnd.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class ClipboardExample {
-
-	Clipboard clipboard;
-	Shell shell;
-	Text text;
-	Combo combo;
-	StyledText styledText;
-	Label status;
-	static final int SIZE = 60;
-	
-public static void main( String[] args) {
-	Display display = new Display();
-	new ClipboardExample().open(display);
-	display.dispose();
-}
-public void open(Display display) {
-	clipboard = new Clipboard(display);
-	shell = new Shell (display);
-	shell.setText("SWT Clipboard");
-	shell.setLayout(new FillLayout());
-	
-	ScrolledComposite sc = new ScrolledComposite(shell, SWT.H_SCROLL | SWT.V_SCROLL);
-	Composite parent = new Composite(sc, SWT.NONE);
-	sc.setContent(parent);
-	parent.setLayout(new GridLayout(2, true));
-	
-	Group copyGroup = new Group(parent, SWT.NONE);
-	copyGroup.setText("Copy From:");
-	GridData data = new GridData(GridData.FILL_BOTH);
-	copyGroup.setLayoutData(data);
-	copyGroup.setLayout(new GridLayout(3, false));
-	
-	Group pasteGroup = new Group(parent, SWT.NONE);
-	pasteGroup.setText("Paste To:");
-	data = new GridData(GridData.FILL_BOTH);
-	pasteGroup.setLayoutData(data);
-	pasteGroup.setLayout(new GridLayout(3, false));
-	
-	Group controlGroup = new Group(parent, SWT.NONE);
-	controlGroup.setText("Control API:");
-	data = new GridData(GridData.FILL_BOTH);
-	data.horizontalSpan = 2;
-	controlGroup.setLayoutData(data);
-	controlGroup.setLayout(new GridLayout(5, false));
-	
-	Group typesGroup = new Group(parent, SWT.NONE);
-	typesGroup.setText("Available Types");
-	data = new GridData(GridData.FILL_BOTH);
-	data.horizontalSpan = 2;
-	typesGroup.setLayoutData(data);
-	typesGroup.setLayout(new GridLayout(2, false));
-	
-	status = new Label(parent, SWT.BORDER);
-	data = new GridData(GridData.FILL_HORIZONTAL);
-	data.horizontalSpan = 2;
-	data.heightHint = 60;
-	status.setLayoutData(data);
-	
-	createTextTransfer(copyGroup, pasteGroup);
-	createRTFTransfer(copyGroup, pasteGroup);
-	createHTMLTransfer(copyGroup, pasteGroup);
-	createFileTransfer(copyGroup, pasteGroup);
-	createImageTransfer(copyGroup, pasteGroup);
-	createMyTransfer(copyGroup, pasteGroup);
-	createControlTransfer(controlGroup);
-	createAvailableTypes(typesGroup);
-	
-	sc.setMinSize(parent.computeSize(SWT.DEFAULT, SWT.DEFAULT));
-	sc.setExpandHorizontal(true);
-	sc.setExpandVertical(true);
-	
-	Point size = shell.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-	Rectangle monitorArea = shell.getMonitor().getClientArea();
-	shell.setSize(Math.min(size.x, monitorArea.width - 20), Math.min(size.y, monitorArea.height - 20));
-	shell.open();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	clipboard.dispose();
-}
-void createTextTransfer(Composite copyParent, Composite pasteParent) {
-	
-	// TextTransfer
-	Label l = new Label(copyParent, SWT.NONE);
-	l.setText("TextTransfer:"); //$NON-NLS-1$
-	final Text copyText = new Text(copyParent, SWT.MULTI | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
-	copyText.setText("some\nplain\ntext");
-	GridData data = new GridData(GridData.FILL_HORIZONTAL);
-	data.heightHint = data.widthHint = SIZE;
-	copyText.setLayoutData(data);
-	Button b = new Button(copyParent, SWT.PUSH);
-	b.setText("Copy");
-	b.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			String data = copyText.getText();
-			if (data.length() > 0) {
-				status.setText("");
-				clipboard.setContents(new Object[] {data}, new Transfer[] {TextTransfer.getInstance()});
-			} else {
-				status.setText("nothing to copy");
-			}
-		}
-	});
-	
-	l = new Label(pasteParent, SWT.NONE);
-	l.setText("TextTransfer:"); //$NON-NLS-1$
-	final Text pasteText = new Text(pasteParent, SWT.READ_ONLY | SWT.MULTI | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
-	data = new GridData(GridData.FILL_HORIZONTAL);
-	data.heightHint = data.widthHint = SIZE;
-	pasteText.setLayoutData(data);
-	b = new Button(pasteParent, SWT.PUSH);
-	b.setText("Paste");
-	b.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			String data = (String)clipboard.getContents(TextTransfer.getInstance());
-			if (data != null && data.length() > 0) {
-				status.setText("");
-				pasteText.setText("begin paste>"+data+"<end paste");
-			} else {
-				status.setText("nothing to paste");
-			}
-		}
-	});
-}
-void createRTFTransfer(Composite copyParent, Composite pasteParent){
-	//	RTF Transfer
-	Label l = new Label(copyParent, SWT.NONE);
-	l.setText("RTFTransfer:"); //$NON-NLS-1$
-	final Text copyRtfText = new Text(copyParent, SWT.MULTI | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
-	copyRtfText.setText("some\nrtf\ntext");
-	GridData data = new GridData(GridData.FILL_HORIZONTAL);
-	data.heightHint = data.widthHint = SIZE;
-	copyRtfText.setLayoutData(data);
-	Button b = new Button(copyParent, SWT.PUSH);
-	b.setText("Copy");
-	b.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			String data = copyRtfText.getText();
-			if (data.length() > 0) {
-				status.setText("");
-				data = "{\\rtf1{\\colortbl;\\red255\\green0\\blue0;}\\uc1\\b\\i " + data + "}";
-				clipboard.setContents(new Object[] {data}, new Transfer[] {RTFTransfer.getInstance()});
-			} else {
-				status.setText("nothing to copy");
-			}
-		}
-	});
-	  
-	l = new Label(pasteParent, SWT.NONE);
-	l.setText("RTFTransfer:"); //$NON-NLS-1$
-	final Text pasteRtfText = new Text(pasteParent, SWT.READ_ONLY | SWT.MULTI | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
-	data = new GridData(GridData.FILL_HORIZONTAL);
-	data.heightHint = data.widthHint = SIZE;
-	pasteRtfText.setLayoutData(data);
-	b = new Button(pasteParent, SWT.PUSH);
-	b.setText("Paste");
-	b.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			String data = (String)clipboard.getContents(RTFTransfer.getInstance());
-			if (data != null && data.length() > 0) {
-				status.setText("");
-				pasteRtfText.setText("start paste>"+data+"<end paste");
-			} else {
-				status.setText("nothing to paste");
-			}
-		}
-	});
-}
-void createHTMLTransfer(Composite copyParent, Composite pasteParent){
-	//	HTML Transfer
-	Label l = new Label(copyParent, SWT.NONE);
-	l.setText("HTMLTransfer:"); //$NON-NLS-1$
-	final Text copyHtmlText = new Text(copyParent, SWT.MULTI | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
-	copyHtmlText.setText("<b>Hello World</b>");
-	GridData data = new GridData(GridData.FILL_HORIZONTAL);
-	data.heightHint = data.widthHint = SIZE;
-	copyHtmlText.setLayoutData(data);
-	Button b = new Button(copyParent, SWT.PUSH);
-	b.setText("Copy");
-	b.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			String data = copyHtmlText.getText();
-			if (data.length() > 0) {
-				status.setText("");
-				clipboard.setContents(new Object[] {data}, new Transfer[] {HTMLTransfer.getInstance()});
-			} else {
-				status.setText("nothing to copy");
-			}
-		}
-	});
-	  
-	l = new Label(pasteParent, SWT.NONE);
-	l.setText("HTMLTransfer:"); //$NON-NLS-1$
-	final Text pasteHtmlText = new Text(pasteParent, SWT.READ_ONLY | SWT.MULTI | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
-	data = new GridData(GridData.FILL_HORIZONTAL);
-	data.heightHint = data.widthHint = SIZE;
-	pasteHtmlText.setLayoutData(data);
-	b = new Button(pasteParent, SWT.PUSH);
-	b.setText("Paste");
-	b.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			String data = (String)clipboard.getContents(HTMLTransfer.getInstance());
-			if (data != null && data.length() > 0) {
-				status.setText("");
-				pasteHtmlText.setText("start paste>"+data+"<end paste");
-			} else {
-				status.setText("nothing to paste");
-			}
-		}
-	});
-}
-void createFileTransfer(Composite copyParent, Composite pasteParent){
-	//File Transfer
-	Label l = new Label(copyParent, SWT.NONE);
-	l.setText("FileTransfer:"); //$NON-NLS-1$
-	
-	Composite c = new Composite(copyParent, SWT.NONE);
-	c.setLayout(new GridLayout(2, false));
-	GridData data = new GridData(GridData.FILL_HORIZONTAL);
-	c.setLayoutData(data);
-	
-	final Table copyFileTable = new Table(c, SWT.MULTI | SWT.BORDER);
-	data = new GridData(GridData.FILL_HORIZONTAL);
-	data.heightHint = data.widthHint = SIZE;
-	data.horizontalSpan = 2;
-	copyFileTable.setLayoutData(data);
-	
-	Button b = new Button(c, SWT.PUSH);
-	b.setText("Select file(s)");
-	b.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			FileDialog dialog = new FileDialog(shell, SWT.OPEN | SWT.MULTI);
-			String result = dialog.open();
-			if (result != null && result.length() > 0){
-				String separator = System.getProperty("file.separator");
-				String path = dialog.getFilterPath();
-				String[] names = dialog.getFileNames();
-				for (int i = 0; i < names.length; i++) {
-					TableItem item = new TableItem(copyFileTable, SWT.NONE);
-					item.setText(path+separator+names[i]);
-				}
-			}
-		}
-	});
-	b = new Button(c, SWT.PUSH);
-	b.setText("Select directory");
-	b.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			DirectoryDialog dialog = new DirectoryDialog(shell, SWT.OPEN);
-			String result = dialog.open();
-			if (result != null && result.length() > 0){
-				//copyFileTable.removeAll();
-				TableItem item = new TableItem(copyFileTable, SWT.NONE);
-				item.setText(result);
-			}
-		}
-	});
-	
-	b = new Button(copyParent, SWT.PUSH);
-	b.setText("Copy");
-	b.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			TableItem[] items = copyFileTable.getItems();
-			if (items.length > 0){
-				status.setText("");
-				String[] data = new String[items.length];
-				for (int i = 0; i < data.length; i++) {
-					data[i] = items[i].getText();
-				}
-				clipboard.setContents(new Object[] {data}, new Transfer[] {FileTransfer.getInstance()});
-			} else {
-				status.setText("nothing to copy");
-			}
-		}
-	});
-	
-	l = new Label(pasteParent, SWT.NONE);
-	l.setText("FileTransfer:"); //$NON-NLS-1$
-	final Table pasteFileTable = new Table(pasteParent, SWT.MULTI | SWT.BORDER);
-	data = new GridData(GridData.FILL_HORIZONTAL);
-	data.heightHint = data.widthHint = SIZE;
-	pasteFileTable.setLayoutData(data);
-	b = new Button(pasteParent, SWT.PUSH);
-	b.setText("Paste");
-	b.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			String[] data = (String[])clipboard.getContents(FileTransfer.getInstance());
-			if (data != null && data.length > 0) {
-				status.setText("");
-				pasteFileTable.removeAll();
-				for (int i = 0; i < data.length; i++) {
-					TableItem item = new TableItem(pasteFileTable, SWT.NONE);
-					item.setText(data[i]);
-				}
-			} else {
-				status.setText("nothing to paste");
-			}
-		}
-	});	 
-}
-
-void createImageTransfer(Composite copyParent, Composite pasteParent){
-	final Image[] copyImage = new Image[] {null};
-	Label l = new Label(copyParent, SWT.NONE);
-	l.setText("ImageTransfer:"); //$NON-NLS-1$
-	
-	Composite c = new Composite(copyParent, SWT.NONE);
-	c.setLayout(new GridLayout(1, false));
-	GridData data = new GridData(GridData.FILL_HORIZONTAL);
-	c.setLayoutData(data);	
-	
-	final Canvas copyImageCanvas = new Canvas(c, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
-	data = new GridData(GridData.FILL_HORIZONTAL);
-	data.heightHint = data.widthHint = SIZE;
-	copyImageCanvas.setLayoutData(data);	
-	
-	final Point copyOrigin = new Point(0, 0);
-	final ScrollBar copyHBar = copyImageCanvas.getHorizontalBar();
-	copyHBar.setEnabled(false);	
-	copyHBar.addListener(SWT.Selection, new Listener() {
-		public void handleEvent(Event e) {
-			if (copyImage[0] != null) {
-				int hSelection = copyHBar.getSelection();
-				int destX = -hSelection - copyOrigin.x;
-				Rectangle rect = copyImage[0].getBounds();
-				copyImageCanvas.scroll(destX, 0, 0, 0, rect.width, rect.height, false);
-				copyOrigin.x = -hSelection;
-			}
-		}
-	});
-	final ScrollBar copyVBar = copyImageCanvas.getVerticalBar();
-	copyVBar.setEnabled(false);
-	copyVBar.addListener(SWT.Selection, new Listener() {
-		public void handleEvent (Event e) {
-			if (copyImage[0] != null) {
-				int vSelection = copyVBar.getSelection();
-				int destY = -vSelection - copyOrigin.y;
-				Rectangle rect = copyImage[0].getBounds();
-				copyImageCanvas.scroll(0, destY, 0, 0, rect.width, rect.height, false);
-				copyOrigin.y = -vSelection;
-			}
-		}
-	});
-	copyImageCanvas.addListener(SWT.Paint, new Listener() {
-		public void handleEvent(Event e) {
-			if(copyImage[0] != null) {
-				GC gc = e.gc;
-				gc.drawImage(copyImage[0], copyOrigin.x, copyOrigin.y);
-				Rectangle rect = copyImage[0].getBounds();
-				Rectangle client = copyImageCanvas.getClientArea ();
-				int marginWidth = client.width - rect.width;
-				if (marginWidth > 0) {
-					gc.fillRectangle (rect.width, 0, marginWidth, client.height);
-				}
-				int marginHeight = client.height - rect.height;
-				if (marginHeight > 0) {
-					gc.fillRectangle(0, rect.height, client.width, marginHeight);
-				}
-				gc.dispose();
-			}
-		}
-	});
-	Button openButton = new Button(c, SWT.PUSH);
-	openButton.setText("Open Image");
-	data = new GridData(GridData.FILL_HORIZONTAL);
-	data.horizontalAlignment = SWT.CENTER;
-	openButton.setLayoutData(data);
-	openButton.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			FileDialog dialog = new FileDialog (shell, SWT.OPEN);
-			dialog.setText("Open an image file or cancel");
-			String string = dialog.open ();
-			if (string != null) {
-				if (copyImage[0] != null) {
-					System.out.println("CopyImage");
-					copyImage[0].dispose();
-				}
-				copyImage[0] = new Image(e.display, string);
-				copyVBar.setEnabled(true);
-				copyHBar.setEnabled(true);
-				copyOrigin.x = 0; copyOrigin.y = 0;
-				Rectangle rect = copyImage[0].getBounds();
-				Rectangle client = copyImageCanvas.getClientArea();		
-				copyHBar.setMaximum(rect.width);
-				copyVBar.setMaximum(rect.height);
-				copyHBar.setThumb(Math.min(rect.width, client.width));
-				copyVBar.setThumb(Math.min(rect.height, client.height));
-				copyImageCanvas.scroll(0, 0, 0, 0, rect.width, rect.height, true);
-				copyVBar.setSelection(0);
-				copyHBar.setSelection(0);
-				copyImageCanvas.redraw();
-			}
-		}
-	});	
-	Button b = new Button(copyParent, SWT.PUSH);
-	b.setText("Copy");
-	b.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			if (copyImage[0] != null) {
-				status.setText("");
-				clipboard.setContents(new Object[] {copyImage[0].getImageData()}, new Transfer[] {ImageTransfer.getInstance()});
-			} else {
-				status.setText("nothing to copy");
-			}
-		}
-	});
-	
-	final Image[] pasteImage = new Image[] {null};	  
-	l = new Label(pasteParent, SWT.NONE);
-	l.setText("ImageTransfer:");
-	final Canvas pasteImageCanvas = new Canvas(pasteParent, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
-	data = new GridData(GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL);
-	data.heightHint = data.widthHint = SIZE;
-	pasteImageCanvas.setLayoutData(data);
-	final Point pasteOrigin = new Point(0, 0);
-	final ScrollBar pasteHBar = pasteImageCanvas.getHorizontalBar();
-	pasteHBar.setEnabled(false);	
-	pasteHBar.addListener(SWT.Selection, new Listener() {
-		public void handleEvent(Event e) {
-			if (pasteImage[0] != null) {
-				int hSelection = pasteHBar.getSelection();
-				int destX = -hSelection - pasteOrigin.x;
-				Rectangle rect = pasteImage[0].getBounds();
-				pasteImageCanvas.scroll(destX, 0, 0, 0, rect.width, rect.height, false);
-				pasteOrigin.x = -hSelection;
-			}
-		}
-	});
-	final ScrollBar pasteVBar = pasteImageCanvas.getVerticalBar();
-	pasteVBar.setEnabled(false);
-	pasteVBar.addListener(SWT.Selection, new Listener() {
-		public void handleEvent(Event e) {
-			if (pasteImage[0] != null) {
-				int vSelection = pasteVBar.getSelection();
-				int destY = -vSelection - pasteOrigin.y;
-				Rectangle rect = pasteImage[0].getBounds();
-				pasteImageCanvas.scroll(0, destY, 0, 0, rect.width, rect.height, false);
-				pasteOrigin.y = -vSelection;
-			}
-		}
-	});
-	pasteImageCanvas.addListener(SWT.Paint, new Listener() {
-		public void handleEvent(Event e) {
-			if(pasteImage[0] != null) {
-				GC gc = e.gc;
-				gc.drawImage(pasteImage[0], pasteOrigin.x, pasteOrigin.y);
-				Rectangle rect = pasteImage[0].getBounds();
-				Rectangle client = pasteImageCanvas.getClientArea ();
-				int marginWidth = client.width - rect.width;
-				if (marginWidth > 0) {
-					gc.fillRectangle(rect.width, 0, marginWidth, client.height);
-				}
-				int marginHeight = client.height - rect.height;
-				if (marginHeight > 0) {
-					gc.fillRectangle(0, rect.height, client.width, marginHeight);
-				}
-				gc.dispose();
-			}
-		}
-	});
-	b = new Button(pasteParent, SWT.PUSH);
-	b.setText("Paste");
-	b.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {		
-			ImageData data =(ImageData)clipboard.getContents(ImageTransfer.getInstance());
-			if (data != null) {
-				if (pasteImage[0] != null) {
-					System.out.println("PasteImage");
-					pasteImage[0].dispose();
-				}
-				status.setText("");
-				pasteImage[0] = new Image(e.display, data);
-				pasteVBar.setEnabled(true);
-				pasteHBar.setEnabled(true);
-				pasteOrigin.x = 0; pasteOrigin.y = 0;
-				Rectangle rect = pasteImage[0].getBounds();
-				Rectangle client = pasteImageCanvas.getClientArea();		
-				pasteHBar.setMaximum(rect.width);
-				pasteVBar.setMaximum(rect.height);
-				pasteHBar.setThumb(Math.min(rect.width, client.width));
-				pasteVBar.setThumb(Math.min(rect.height, client.height));
-				pasteImageCanvas.scroll(0, 0, 0, 0, rect.width, rect.height, true);
-				pasteVBar.setSelection(0);
-				pasteHBar.setSelection(0);
-				pasteImageCanvas.redraw();
-			} else {
-				status.setText("nothing to paste");
-			}			
-		}
-	});	
-}
-void createMyTransfer(Composite copyParent, Composite pasteParent){
-	//	MyType Transfer
-	// TODO
-}
-void createControlTransfer(Composite parent){
-	Label l = new Label(parent, SWT.NONE);
-	l.setText("Text:");
-	Button b = new Button(parent, SWT.PUSH);
-	b.setText("Cut");
-	b.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			text.cut();
-		}
-	});
-	b = new Button(parent, SWT.PUSH);
-	b.setText("Copy");
-	b.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			text.copy();
-		}
-	});
-	b = new Button(parent, SWT.PUSH);
-	b.setText("Paste");
-	b.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			text.paste();
-		}
-	});
-	text = new Text(parent, SWT.BORDER | SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
-	GridData data = new GridData(GridData.FILL_HORIZONTAL);
-	data.heightHint = data.widthHint = SIZE;
-	text.setLayoutData(data);
-	
-	l = new Label(parent, SWT.NONE);
-	l.setText("Combo:");
-	b = new Button(parent, SWT.PUSH);
-	b.setText("Cut");
-	b.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			combo.cut();
-		}
-	});
-	b = new Button(parent, SWT.PUSH);
-	b.setText("Copy");
-	b.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			combo.copy();
-		}
-	});
-	b = new Button(parent, SWT.PUSH);
-	b.setText("Paste");
-	b.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			combo.paste();
-		}
-	});
-	combo = new Combo(parent, SWT.NONE);
-	combo.setItems(new String[] {"Item 1", "Item 2", "Item 3", "A longer Item"});
-	
-	l = new Label(parent, SWT.NONE);
-	l.setText("StyledText:");
-	l = new Label(parent, SWT.NONE);
-	l.setVisible(false);
-	b = new Button(parent, SWT.PUSH);
-	b.setText("Copy");
-	b.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			styledText.copy();
-		}
-	});
-	b = new Button(parent, SWT.PUSH);
-	b.setText("Paste");
-	b.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			styledText.paste();
-		}
-	});
-	styledText = new StyledText(parent, SWT.BORDER | SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
-	data = new GridData(GridData.FILL_HORIZONTAL);
-	data.heightHint = data.widthHint = SIZE;
-	styledText.setLayoutData(data);
-}
-void createAvailableTypes(Composite parent){
-	final List list = new List(parent, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
-	GridData data = new GridData(GridData.FILL_BOTH);
-	data.heightHint = 100;
-	list.setLayoutData(data);
-	Button b = new Button(parent, SWT.PUSH);
-	b.setText("Get Available Types");
-	b.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			list.removeAll();
-			String[] names = clipboard.getAvailableTypeNames();
-			for (int i = 0; i < names.length; i++) {
-				list.add(names[i]);
-			}
-		}
-	});
-}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/clipboard/MyType.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/clipboard/MyType.java
deleted file mode 100644
index 94cdfcd..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/clipboard/MyType.java
+++ /dev/null
@@ -1,16 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.examples.clipboard;
-
-public class MyType {
-	String firstName;
-	String lastName;
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/clipboard/MyTypeTransfer.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/clipboard/MyTypeTransfer.java
deleted file mode 100644
index 4d09e3f..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/clipboard/MyTypeTransfer.java
+++ /dev/null
@@ -1,103 +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.swt.examples.clipboard;
-
-import java.io.*;
-import org.eclipse.swt.dnd.*;
-
-public class MyTypeTransfer extends ByteArrayTransfer {
-	
-	private static final String MYTYPENAME = "name_list"; //$NON-NLS-1$
-	private static final int MYTYPEID = registerType(MYTYPENAME);
-	private static MyTypeTransfer _instance = new MyTypeTransfer();
-	
-public static MyTypeTransfer getInstance () {
-	return _instance;
-}
-public void javaToNative (Object object, TransferData transferData) {
-	if (!checkMyType(object) || !isSupportedType(transferData)) {
-		DND.error(DND.ERROR_INVALID_DATA);
-	}
-	MyType[] myTypes = (MyType[]) object;	
-	try {
-		// write data to a byte array and then ask super to convert to pMedium
-		ByteArrayOutputStream out = new ByteArrayOutputStream();
-		DataOutputStream writeOut = new DataOutputStream(out);
-		for (int i = 0, length = myTypes.length; i < length;  i++){
-			byte[] buffer = myTypes[i].firstName.getBytes();
-			writeOut.writeInt(buffer.length);
-			writeOut.write(buffer);
-			buffer = myTypes[i].firstName.getBytes();
-			writeOut.writeInt(buffer.length);
-			writeOut.write(buffer);
-		}
-		byte[] buffer = out.toByteArray();
-		writeOut.close();
-		super.javaToNative(buffer, transferData);	
-	} catch (IOException e) {
-	}
-}
-public Object nativeToJava(TransferData transferData){	
-	if (isSupportedType(transferData)) {
-		
-		byte[] buffer = (byte[])super.nativeToJava(transferData);
-		if (buffer == null) return null;
-		
-		MyType[] myData = new MyType[0];
-		try {
-			ByteArrayInputStream in = new ByteArrayInputStream(buffer);
-			DataInputStream readIn = new DataInputStream(in);
-			while(readIn.available() > 20) {
-				MyType datum = new MyType();
-				int size = readIn.readInt();
-				byte[] name = new byte[size];
-				readIn.read(name);
-				datum.firstName = new String(name);
-				size = readIn.readInt();
-				name = new byte[size];
-				readIn.read(name);
-				datum.lastName = new String(name);
-				MyType[] newMyData = new MyType[myData.length + 1];
-				System.arraycopy(myData, 0, newMyData, 0, myData.length);
-				newMyData[myData.length] = datum;
-				myData = newMyData;
-			}
-			readIn.close();
-		} catch (IOException ex) {
-			return null;
-		}
-		return myData;
-	}
-
-	return null;
-}
-protected String[] getTypeNames(){
-	return new String[]{MYTYPENAME};
-}
-protected int[] getTypeIds(){
-	return new int[] {MYTYPEID};
-}
-boolean checkMyType(Object object) {
-	if (object == null || !(object instanceof MyType[]) || ((MyType[])object).length == 0) return false;
-	MyType[] myTypes = (MyType[])object;
-	for (int i = 0; i < myTypes.length; i++) {
-		if (myTypes[i] == null || 
-			myTypes[i].firstName == null || 
-			myTypes[i].firstName.length() == 0 ||
-			myTypes[i].lastName == null ||
-			myTypes[i].lastName.length() == 0) return false;
-	}
-	return true;
-}
-protected boolean validate(Object object) {
-	return checkMyType(object);
-}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/AlignableTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/AlignableTab.java
deleted file mode 100755
index 075ee21..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/AlignableTab.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.swt.examples.controlexample;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.events.*;
-
-/**
- * <code>AlignableTab</code> is the abstract
- * superclass of example controls that can be
- * aligned.
- */
-abstract class AlignableTab extends Tab {
-
-	/* Alignment Controls */
-	Button leftButton, rightButton, centerButton;
-
-	/* Alignment Group */
-	Group alignmentGroup;
-
-	/**
-	 * Creates the Tab within a given instance of ControlExample.
-	 */
-	AlignableTab(ControlExample instance) {
-		super(instance);
-	}
-
-	/**
-	 * Creates the "Other" group. 
-	 */
-	void createOtherGroup () {
-		super.createOtherGroup ();
-		
-		/* Create the group */
-		alignmentGroup = new Group (otherGroup, SWT.NONE);
-		alignmentGroup.setLayout (new GridLayout ());
-		alignmentGroup.setLayoutData (new GridData(GridData.HORIZONTAL_ALIGN_FILL |
-			GridData.VERTICAL_ALIGN_FILL));
-		alignmentGroup.setText (ControlExample.getResourceString("Alignment"));
-	
-		/* Create the controls */
-		leftButton = new Button (alignmentGroup, SWT.RADIO);
-		leftButton.setText (ControlExample.getResourceString("Left"));
-		centerButton = new Button (alignmentGroup, SWT.RADIO);
-		centerButton.setText(ControlExample.getResourceString("Center"));
-		rightButton = new Button (alignmentGroup, SWT.RADIO);
-		rightButton.setText (ControlExample.getResourceString("Right"));
-	
-		/* Add the listeners */
-		SelectionListener selectionListener = new SelectionAdapter () {
-			public void widgetSelected(SelectionEvent event) {
-				if (!((Button) event.widget).getSelection ()) return;
-				setExampleWidgetAlignment ();
-			}
-		};
-		leftButton.addSelectionListener (selectionListener);
-		centerButton.addSelectionListener (selectionListener);
-		rightButton.addSelectionListener (selectionListener);
-	}
-	
-	/**
-	 * Sets the alignment of the "Example" widgets.
-	 */
-	abstract void setExampleWidgetAlignment ();
-	
-	/**
-	 * Sets the state of the "Example" widgets.
-	 */
-	void setExampleWidgetState () {
-		super.setExampleWidgetState ();
-		Widget [] widgets = getExampleWidgets ();
-		if (widgets.length != 0) {
-			leftButton.setSelection ((widgets [0].getStyle () & SWT.LEFT) != 0);
-			centerButton.setSelection ((widgets [0].getStyle () & SWT.CENTER) != 0);
-			rightButton.setSelection ((widgets [0].getStyle () & SWT.RIGHT) != 0);
-		}
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/BrowserTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/BrowserTab.java
deleted file mode 100644
index 2e6a377..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/BrowserTab.java
+++ /dev/null
@@ -1,306 +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.swt.examples.controlexample;
-
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.browser.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-class BrowserTab extends Tab {
-
-	/* Example widgets and groups that contain them */
-	Browser browser;
-	Group browserGroup;
-	
-	/* Style widgets added to the "Style" group */
-	Button mozillaButton;
-	
-	String errorMessage;
-	
-	/**
-	 * Creates the Tab within a given instance of ControlExample.
-	 */
-	BrowserTab(ControlExample instance) {
-		super(instance);
-	}
-	
-	void createBackgroundModeGroup () {
-		// Browser does not need a background mode group.
-	}
-	
-	void createColorAndFontGroup () {
-		// Browser does not need a color and font group.
-	}
-	
-	/**
-	 * Creates the "Example" group.
-	 */
-	void createExampleGroup () {
-		super.createExampleGroup ();
-		
-		/* Create a group for the browser */
-		browserGroup = new Group (exampleGroup, SWT.NONE);
-		browserGroup.setLayout (new GridLayout ());
-		browserGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true));
-		browserGroup.setText ("Browser");
-	}
-	
-	/**
-	 * Creates the "Example" widgets.
-	 */
-	void createExampleWidgets () {
-		
-		/* Compute the widget style */
-		int style = getDefaultStyle();
-		if (borderButton.getSelection ()) style |= SWT.BORDER;
-		if (mozillaButton.getSelection ()) style |= SWT.MOZILLA;
-		
-		/* Create the example widgets */
-		try {
-			browser = new Browser (browserGroup, style);
-		} catch (SWTError e) { //XPCOM error
-			try {
-				browser = new Browser (browserGroup, style &~ SWT.MOZILLA);
-			} catch (SWTError e2) { // Unsupported platform
-				errorMessage = e.getMessage();
-				return;
-			}
-			MessageBox dialog = new MessageBox(shell, SWT.ICON_WARNING | SWT.OK);
-			dialog.setMessage(ControlExample.getResourceString("MozillaNotFound", new String [] {e.getMessage()}));
-			dialog.open();
-		}
-		
-        InputStream htmlStream= ControlExample.class.getResourceAsStream("browser-content.html");
-		BufferedReader br= new BufferedReader(new InputStreamReader(htmlStream));
-		StringBuffer sb= new StringBuffer(300);
-		try {
-			int read= 0;
-			while ((read= br.read()) != -1)
-				sb.append((char) read);
-		} catch (IOException e) {
-			log(e.getMessage());
-		} finally {
-			try {
-				br.close();
-			} catch (IOException e) {
-				log(e.getMessage());
-			}
-		}
-		String text= sb.toString();
-		browser.setText(text);
-	}
-	
-	/**
-	 * Creates the "Other" group.  This is typically
-	 * a child of the "Control" group.
-	 */
-	void createOtherGroup () {
-		super.createOtherGroup ();
-		backgroundImageButton.dispose ();
-	}
-	
-	/**
-	 * Creates the "Size" group.  The "Size" group contains
-	 * controls that allow the user to change the size of
-	 * the example widgets.
-	 */
-	void createSizeGroup () {
-		super.createSizeGroup ();
-		
-		/* Set the default state for Browser to fill horizontally & vertically. */
-		fillHButton.setSelection (true);
-		fillVButton.setSelection (true);
-	}
-
-	/**
-	 * Creates the "Style" group.
-	 */
-	void createStyleGroup () {
-		super.createStyleGroup ();
-	
-		/* Create the extra widgets */
-		mozillaButton = new Button (styleGroup, SWT.CHECK);
-		mozillaButton.setText ("SWT.MOZILLA");
-		borderButton = new Button (styleGroup, SWT.CHECK);
-		borderButton.setText ("SWT.BORDER");
-	}
-	
-	/**
-	 * Creates the tab folder page.
-	 *
-	 * @param tabFolder org.eclipse.swt.widgets.TabFolder
-	 * @return the new page for the tab folder
-	 */
-	Composite createTabFolderPage (final TabFolder tabFolder) {
-		super.createTabFolderPage (tabFolder);
-
-		/*
-		 * Add a resize listener to the tabFolderPage so that
-		 * if the user types into the example widget to change
-		 * its preferred size, and then resizes the shell, we
-		 * recalculate the preferred size correctly.
-		 */
-		tabFolderPage.addControlListener(new ControlAdapter() {
-			public void controlResized(ControlEvent e) {
-				setExampleWidgetSize ();
-			}
-		});
-		
-		/*
-		 * Add a selection listener to the tabFolder to bring up a
-		 * dialog if this platform does not support the Browser.
-		 */
-		tabFolder.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				if (errorMessage != null && tabFolder.getSelection()[0].getText().equals(getTabText())) {
-					MessageBox dialog = new MessageBox(shell, SWT.ICON_WARNING | SWT.OK);
-					dialog.setMessage(ControlExample.getResourceString("BrowserNotFound", new String [] {errorMessage}));
-					dialog.open();
-				}
-			}
-		});
-		
-		return tabFolderPage;
-	}
-
-	public static String getContents(InputStream in) throws IOException {
-		BufferedReader br= new BufferedReader(new InputStreamReader(in));
-		
-		StringBuffer sb= new StringBuffer(300);
-		try {
-			int read= 0;
-			while ((read= br.read()) != -1)
-				sb.append((char) read);
-		} finally {
-			br.close();
-		}
-		return sb.toString();
-	}
-
-	/**
-	 * Gets the list of custom event names.
-	 * 
-	 * @return an array containing custom event names
-	 */
-	String [] getCustomEventNames () {
-		return new String [] {"CloseWindowListener", "LocationListener", "OpenWindowListener",
-				"ProgressListener", "StatusTextListener", "TitleListener", "VisibilityWindowListener"};
-	}
-	
-	/**
-	 * Gets the "Example" widget children.
-	 */
-	Widget [] getExampleWidgets () {
-		if (browser != null) return new Widget [] {browser};
-		return super.getExampleWidgets();
-	}
-
-	/**
-	 * Returns a list of set/get API method names (without the set/get prefix)
-	 * that can be used to set/get values in the example control(s).
-	 */
-	String[] getMethodNames() {
-		return new String[] {"Text", "Url", "ToolTipText"};
-	}
-
-	/**
-	 * Gets the text for the tab folder item.
-	 */
-	String getTabText () {
-		return "Browser";
-	}
-	
-	/**
-	 * Hooks the custom listener specified by eventName.
-	 */
-	void hookCustomListener (final String eventName) {
-		if (browser == null) return;
-		if (eventName == "CloseWindowListener") {
-			browser.addCloseWindowListener (new CloseWindowListener () {
-				public void close(WindowEvent event) {
-					log (eventName, event);
-				}
-			});
-		}
-		if (eventName == "LocationListener") {
-			browser.addLocationListener (new LocationListener () {
-				public void changed(LocationEvent event) {
-					log (eventName + ".changed", event);
-				}
-				public void changing(LocationEvent event) {
-					log (eventName + ".changing", event);
-				}
-			});
-		}
-		if (eventName == "OpenWindowListener") {
-			browser.addOpenWindowListener (new OpenWindowListener () {
-				public void open(WindowEvent event) {
-					log (eventName, event);
-				}
-			});
-		}
-		if (eventName == "ProgressListener") {
-			browser.addProgressListener (new ProgressListener () {
-				public void changed(ProgressEvent event) {
-					log (eventName + ".changed", event);
-				}
-				public void completed(ProgressEvent event) {
-					log (eventName + ".completed", event);
-				}
-			});
-		}
-		if (eventName == "StatusTextListener") {
-			browser.addStatusTextListener (new StatusTextListener () {
-				public void changed(StatusTextEvent event) {
-					log (eventName, event);
-				}
-			});
-		}
-		if (eventName == "TitleListener") {
-			browser.addTitleListener (new TitleListener () {
-				public void changed(TitleEvent event) {
-					log (eventName, event);
-				}
-			});
-		}
-		if (eventName == "VisibilityWindowListener") {
-			browser.addVisibilityWindowListener (new VisibilityWindowListener () {
-				public void hide(WindowEvent event) {
-					log (eventName + ".hide", event);
-				}
-				public void show(WindowEvent event) {
-					log (eventName + ".show", event);
-				}
-			});
-		}
-	}
-
-	boolean rtlSupport() {
-		return false;
-	}
-	
-	/**
-	 * Sets the state of the "Example" widgets.
-	 */
-	void setExampleWidgetState () {
-		super.setExampleWidgetState ();
-		mozillaButton.setSelection (browser == null ? false : (browser.getStyle () & SWT.MOZILLA) != 0);
-		borderButton.setSelection ((browser.getStyle () & SWT.BORDER) != 0);
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ButtonTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ButtonTab.java
deleted file mode 100755
index 8dabaa9..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ButtonTab.java
+++ /dev/null
@@ -1,233 +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.swt.examples.controlexample;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.events.*;
-
-/**
- * <code>ButtonTab</code> is the class that
- * demonstrates SWT buttons.
- */
-class ButtonTab extends AlignableTab {
-
-	/* Example widgets and groups that contain them */
-	Button button1, button2, button3, button4, button5, button6, button7, button8, button9;
-	Group textButtonGroup, imageButtonGroup, imagetextButtonGroup;
-
-	/* Alignment widgets added to the "Control" group */
-	Button upButton, downButton;
-
-	/* Style widgets added to the "Style" group */
-	Button pushButton, checkButton, radioButton, toggleButton, arrowButton, flatButton;
-	
-	/**
-	 * Creates the Tab within a given instance of ControlExample.
-	 */
-	ButtonTab(ControlExample instance) {
-		super(instance);
-	}
-	
-	/**
-	 * Creates the "Control" group. 
-	 */
-	void createControlGroup () {
-		super.createControlGroup ();
-	
-		/* Create the controls */
-		upButton = new Button (alignmentGroup, SWT.RADIO);
-		upButton.setText (ControlExample.getResourceString("Up"));
-		downButton = new Button (alignmentGroup, SWT.RADIO);
-		downButton.setText (ControlExample.getResourceString("Down"));
-	
-		/* Add the listeners */
-		SelectionListener selectionListener = new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				if (!((Button) event.widget).getSelection()) return;
-				setExampleWidgetAlignment ();
-			}
-		};
-		upButton.addSelectionListener(selectionListener);
-		downButton.addSelectionListener(selectionListener);
-	}
-	
-	/**
-	 * Creates the "Example" group.
-	 */
-	void createExampleGroup () {
-		super.createExampleGroup ();
-		
-		/* Create a group for text buttons */
-		textButtonGroup = new Group(exampleGroup, SWT.NONE);
-		GridLayout gridLayout = new GridLayout ();
-		textButtonGroup.setLayout(gridLayout);
-		gridLayout.numColumns = 3;
-		textButtonGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true));
-		textButtonGroup.setText (ControlExample.getResourceString("Text_Buttons"));
-	
-		/* Create a group for the image buttons */
-		imageButtonGroup = new Group(exampleGroup, SWT.NONE);
-		gridLayout = new GridLayout();
-		imageButtonGroup.setLayout(gridLayout);
-		gridLayout.numColumns = 3;
-		imageButtonGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true));
-		imageButtonGroup.setText (ControlExample.getResourceString("Image_Buttons"));
-
-		/* Create a group for the image and text buttons */
-		imagetextButtonGroup = new Group(exampleGroup, SWT.NONE);
-		gridLayout = new GridLayout();
-		imagetextButtonGroup.setLayout(gridLayout);
-		gridLayout.numColumns = 3;
-		imagetextButtonGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true));
-		imagetextButtonGroup.setText (ControlExample.getResourceString("Image_Text_Buttons"));
-	}
-	
-	/**
-	 * Creates the "Example" widgets.
-	 */
-	void createExampleWidgets () {
-	
-		/* Compute the widget style */
-		int style = getDefaultStyle();
-		if (pushButton.getSelection()) style |= SWT.PUSH;
-		if (checkButton.getSelection()) style |= SWT.CHECK;
-		if (radioButton.getSelection()) style |= SWT.RADIO;
-		if (toggleButton.getSelection()) style |= SWT.TOGGLE;
-		if (flatButton.getSelection()) style |= SWT.FLAT;
-		if (borderButton.getSelection()) style |= SWT.BORDER;
-		if (leftButton.getSelection()) style |= SWT.LEFT;
-		if (rightButton.getSelection()) style |= SWT.RIGHT;
-		if (arrowButton.getSelection()) {
-			style |= SWT.ARROW; 
-			if (upButton.getSelection()) style |= SWT.UP;
-			if (downButton.getSelection()) style |= SWT.DOWN;
-		} else {
-			if (centerButton.getSelection()) style |= SWT.CENTER;			
-		}
-	
-		/* Create the example widgets */
-		button1 = new Button(textButtonGroup, style);
-		button1.setText(ControlExample.getResourceString("One"));
-		button2 = new Button(textButtonGroup, style);
-		button2.setText(ControlExample.getResourceString("Two"));
-		button3 = new Button(textButtonGroup, style);
-		button3.setText(ControlExample.getResourceString("Three"));
-		button4 = new Button(imageButtonGroup, style);
-		button4.setImage(instance.images[ControlExample.ciClosedFolder]);
-		button5 = new Button(imageButtonGroup, style);
-		button5.setImage(instance.images[ControlExample.ciOpenFolder]);
-		button6 = new Button(imageButtonGroup, style);
-		button6.setImage(instance.images[ControlExample.ciTarget]);
-		button7 = new Button(imagetextButtonGroup, style);
-		button7.setText(ControlExample.getResourceString("One"));
-		button7.setImage(instance.images[ControlExample.ciClosedFolder]);
-		button8 = new Button(imagetextButtonGroup, style);
-		button8.setText(ControlExample.getResourceString("Two"));
-		button8.setImage(instance.images[ControlExample.ciOpenFolder]);
-		button9 = new Button(imagetextButtonGroup, style);
-		button9.setText(ControlExample.getResourceString("Three"));
-		button9.setImage(instance.images[ControlExample.ciTarget]);
-	}
-	
-	/**
-	 * Creates the "Style" group.
-	 */
-	void createStyleGroup() {
-		super.createStyleGroup ();
-	
-		/* Create the extra widgets */
-		pushButton = new Button (styleGroup, SWT.RADIO);
-		pushButton.setText("SWT.PUSH");
-		checkButton = new Button (styleGroup, SWT.RADIO);
-		checkButton.setText ("SWT.CHECK");
-		radioButton = new Button (styleGroup, SWT.RADIO);
-		radioButton.setText ("SWT.RADIO");
-		toggleButton = new Button (styleGroup, SWT.RADIO);
-		toggleButton.setText ("SWT.TOGGLE");
-		arrowButton = new Button (styleGroup, SWT.RADIO);
-		arrowButton.setText ("SWT.ARROW");
-		flatButton = new Button (styleGroup, SWT.CHECK);
-		flatButton.setText ("SWT.FLAT");
-		borderButton = new Button (styleGroup, SWT.CHECK);
-		borderButton.setText ("SWT.BORDER");
-	}
-	
-	/**
-	 * Gets the "Example" widget children.
-	 */
-	Widget [] getExampleWidgets () {
-		return new Widget [] {button1, button2, button3, button4, button5, button6, button7, button8, button9};
-	}
-	
-	/**
-	 * Returns a list of set/get API method names (without the set/get prefix)
-	 * that can be used to set/get values in the example control(s).
-	 */
-	String[] getMethodNames() {
-		return new String[] {"Selection", "Text", "ToolTipText"};
-	}
-
-	/**
-	 * Gets the text for the tab folder item.
-	 */
-	String getTabText () {
-		return "Button";
-	}
-	
-	/**
-	 * Sets the alignment of the "Example" widgets.
-	 */
-	void setExampleWidgetAlignment () {
-		int alignment = 0;
-		if (leftButton.getSelection ()) alignment = SWT.LEFT;
-		if (centerButton.getSelection ()) alignment = SWT.CENTER;
-		if (rightButton.getSelection ()) alignment = SWT.RIGHT;
-		if (upButton.getSelection ()) alignment = SWT.UP;
-		if (downButton.getSelection ()) alignment = SWT.DOWN;
-		button1.setAlignment (alignment);
-		button2.setAlignment (alignment);
-		button3.setAlignment (alignment);
-		button4.setAlignment (alignment);
-		button5.setAlignment (alignment);
-		button6.setAlignment (alignment);
-		button7.setAlignment (alignment);
-		button8.setAlignment (alignment);
-		button9.setAlignment (alignment);
-	}
-	
-	/**
-	 * Sets the state of the "Example" widgets.
-	 */
-	void setExampleWidgetState () {
-		super.setExampleWidgetState ();
-		if (arrowButton.getSelection ()) {
-			upButton.setEnabled (true);
-			centerButton.setEnabled (false);
-			downButton.setEnabled (true);
-		} else {
-			upButton.setEnabled (false);
-			centerButton.setEnabled (true);
-			downButton.setEnabled (false);
-		}
-		upButton.setSelection ((button1.getStyle () & SWT.UP) != 0);
-		downButton.setSelection ((button1.getStyle () & SWT.DOWN) != 0);
-		pushButton.setSelection ((button1.getStyle () & SWT.PUSH) != 0);
-		checkButton.setSelection ((button1.getStyle () & SWT.CHECK) != 0);
-		radioButton.setSelection ((button1.getStyle () & SWT.RADIO) != 0);
-		toggleButton.setSelection ((button1.getStyle () & SWT.TOGGLE) != 0);
-		arrowButton.setSelection ((button1.getStyle () & SWT.ARROW) != 0);
-		flatButton.setSelection ((button1.getStyle () & SWT.FLAT) != 0);
-		borderButton.setSelection ((button1.getStyle () & SWT.BORDER) != 0);
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/CComboTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/CComboTab.java
deleted file mode 100644
index 38bbbf8..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/CComboTab.java
+++ /dev/null
@@ -1,123 +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.swt.examples.controlexample;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.layout.*;
-
-class CComboTab extends Tab {
-
-	/* Example widgets and groups that contain them */
-	CCombo combo1;
-	Group comboGroup;
-	
-	/* Style widgets added to the "Style" group */
-	Button flatButton, readOnlyButton;
-	
-	static String [] ListData = {ControlExample.getResourceString("ListData1_0"),
-								 ControlExample.getResourceString("ListData1_1"),
-								 ControlExample.getResourceString("ListData1_2"),
-								 ControlExample.getResourceString("ListData1_3"),
-								 ControlExample.getResourceString("ListData1_4"),
-								 ControlExample.getResourceString("ListData1_5"),
-								 ControlExample.getResourceString("ListData1_6"),
-								 ControlExample.getResourceString("ListData1_7"),
-								 ControlExample.getResourceString("ListData1_8")};
-
-	/**
-	 * Creates the Tab within a given instance of ControlExample.
-	 */
-	CComboTab(ControlExample instance) {
-		super(instance);
-	}
-	
-	/**
-	 * Creates the "Example" group.
-	 */
-	void createExampleGroup () {
-		super.createExampleGroup ();
-		
-		/* Create a group for the combo box */
-		comboGroup = new Group (exampleGroup, SWT.NONE);
-		comboGroup.setLayout (new GridLayout ());
-		comboGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true));
-		comboGroup.setText (ControlExample.getResourceString("Custom_Combo"));
-	}
-	
-	/**
-	 * Creates the "Example" widgets.
-	 */
-	void createExampleWidgets () {
-		
-		/* Compute the widget style */
-		int style = getDefaultStyle();
-		if (flatButton.getSelection ()) style |= SWT.FLAT;
-		if (readOnlyButton.getSelection ()) style |= SWT.READ_ONLY;
-		if (borderButton.getSelection ()) style |= SWT.BORDER;
-		
-		/* Create the example widgets */
-		combo1 = new CCombo (comboGroup, style);
-		combo1.setItems (ListData);
-		if (ListData.length >= 3) {
-			combo1.setText(ListData [2]);
-		}
-	}
-	
-	/**
-	 * Creates the "Style" group.
-	 */
-	void createStyleGroup () {
-		super.createStyleGroup ();
-	
-		/* Create the extra widgets */
-		readOnlyButton = new Button (styleGroup, SWT.CHECK);
-		readOnlyButton.setText ("SWT.READ_ONLY");
-		borderButton = new Button (styleGroup, SWT.CHECK);
-		borderButton.setText ("SWT.BORDER");
-		flatButton = new Button (styleGroup, SWT.CHECK);
-		flatButton.setText ("SWT.FLAT");
-	}
-	
-	/**
-	 * Gets the "Example" widget children.
-	 */
-	Widget [] getExampleWidgets () {
-		return new Widget [] {combo1};
-	}
-	
-	/**
-	 * Returns a list of set/get API method names (without the set/get prefix)
-	 * that can be used to set/get values in the example control(s).
-	 */
-	String[] getMethodNames() {
-		return new String[] {"Editable", "Items", "Selection", "Text", "TextLimit", "ToolTipText", "VisibleItemCount"};
-	}
-
-	/**
-	 * Gets the text for the tab folder item.
-	 */
-	String getTabText () {
-		return "CCombo";
-	}
-	
-	/**
-	 * Sets the state of the "Example" widgets.
-	 */
-	void setExampleWidgetState () {
-		super.setExampleWidgetState ();
-		flatButton.setSelection ((combo1.getStyle () & SWT.FLAT) != 0);
-		readOnlyButton.setSelection ((combo1.getStyle () & SWT.READ_ONLY) != 0);
-		borderButton.setSelection ((combo1.getStyle () & SWT.BORDER) != 0);
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/CLabelTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/CLabelTab.java
deleted file mode 100644
index 6a68c58..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/CLabelTab.java
+++ /dev/null
@@ -1,135 +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.swt.examples.controlexample;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-class CLabelTab extends AlignableTab {
-	/* Example widgets and groups that contain them */
-	CLabel label1, label2, label3;
-	Group textLabelGroup;
-
-	/* Style widgets added to the "Style" group */
-	Button shadowInButton, shadowOutButton, shadowNoneButton;
-	
-	/**
-	 * Creates the Tab within a given instance of ControlExample.
-	 */
-	CLabelTab(ControlExample instance) {
-		super(instance);
-	}
-	
-	/**
-	 * Creates the "Example" group.
-	 */
-	void createExampleGroup () {
-		super.createExampleGroup ();
-		
-		/* Create a group for the text labels */
-		textLabelGroup = new Group(exampleGroup, SWT.NONE);
-		GridLayout gridLayout = new GridLayout ();
-		textLabelGroup.setLayout (gridLayout);
-		gridLayout.numColumns = 3;
-		textLabelGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true));
-		textLabelGroup.setText (ControlExample.getResourceString("Custom_Labels"));
-	}
-	
-	/**
-	 * Creates the "Example" widgets.
-	 */
-	void createExampleWidgets () {
-		
-		/* Compute the widget style */
-		int style = getDefaultStyle();
-		if (shadowInButton.getSelection ()) style |= SWT.SHADOW_IN;
-		if (shadowNoneButton.getSelection ()) style |= SWT.SHADOW_NONE;
-		if (shadowOutButton.getSelection ()) style |= SWT.SHADOW_OUT;
-		if (leftButton.getSelection ()) style |= SWT.LEFT;
-		if (centerButton.getSelection ()) style |= SWT.CENTER;
-		if (rightButton.getSelection ()) style |= SWT.RIGHT;
-	
-		/* Create the example widgets */
-		label1 = new CLabel (textLabelGroup, style);
-		label1.setText(ControlExample.getResourceString("One"));
-		label1.setImage (instance.images[ControlExample.ciClosedFolder]);
-		label2 = new CLabel (textLabelGroup, style);
-		label2.setImage (instance.images[ControlExample.ciTarget]);
-		label3 = new CLabel (textLabelGroup, style);
-		label3.setText(ControlExample.getResourceString("Example_string") + "\n" + ControlExample.getResourceString("One_Two_Three"));
-	}
-	
-	/**
-	 * Creates the "Style" group.
-	 */
-	void createStyleGroup() {
-		super.createStyleGroup ();
-		
-		/* Create the extra widgets */
-		shadowNoneButton = new Button (styleGroup, SWT.RADIO);
-		shadowNoneButton.setText ("SWT.SHADOW_NONE");
-		shadowInButton = new Button (styleGroup, SWT.RADIO);
-		shadowInButton.setText ("SWT.SHADOW_IN");
-		shadowOutButton = new Button (styleGroup, SWT.RADIO);
-		shadowOutButton.setText ("SWT.SHADOW_OUT");
-	}
-	
-	/**
-	 * Gets the "Example" widget children.
-	 */
-	Widget [] getExampleWidgets () {
-		return new Widget [] {label1, label2, label3};
-	}
-	
-	/**
-	 * Returns a list of set/get API method names (without the set/get prefix)
-	 * that can be used to set/get values in the example control(s).
-	 */
-	String[] getMethodNames() {
-		return new String[] {"Text", "ToolTipText"};
-	}
-
-	/**
-	 * Gets the text for the tab folder item.
-	 */
-	String getTabText () {
-		return "CLabel";
-	}
-	
-	/**
-	 * Sets the alignment of the "Example" widgets.
-	 */
-	void setExampleWidgetAlignment () {
-		int alignment = 0;
-		if (leftButton.getSelection ()) alignment = SWT.LEFT;
-		if (centerButton.getSelection ()) alignment = SWT.CENTER;
-		if (rightButton.getSelection ()) alignment = SWT.RIGHT;
-		label1.setAlignment (alignment);
-		label2.setAlignment (alignment);
-		label3.setAlignment (alignment);
-	}
-	
-	/**
-	 * Sets the state of the "Example" widgets.
-	 */
-	void setExampleWidgetState () {
-		super.setExampleWidgetState ();
-		leftButton.setSelection ((label1.getStyle () & SWT.LEFT) != 0);
-		centerButton.setSelection ((label1.getStyle () & SWT.CENTER) != 0);
-		rightButton.setSelection ((label1.getStyle () & SWT.RIGHT) != 0);
-		shadowInButton.setSelection ((label1.getStyle () & SWT.SHADOW_IN) != 0);
-		shadowOutButton.setSelection ((label1.getStyle () & SWT.SHADOW_OUT) != 0);
-		shadowNoneButton.setSelection ((label1.getStyle () & (SWT.SHADOW_IN | SWT.SHADOW_OUT)) == 0);
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/CTabFolderTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/CTabFolderTab.java
deleted file mode 100644
index 6061125..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/CTabFolderTab.java
+++ /dev/null
@@ -1,446 +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.swt.examples.controlexample;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-class CTabFolderTab extends Tab {
-	int lastSelectedTab = 0;
-	
-	/* Example widgets and groups that contain them */
-	CTabFolder tabFolder1;
-	Group tabFolderGroup, itemGroup;
-	
-	/* Style widgets added to the "Style" group */
-	Button topButton, bottomButton, flatButton, closeButton;
-
-	static String [] CTabItems1 = {ControlExample.getResourceString("CTabItem1_0"),
-								  ControlExample.getResourceString("CTabItem1_1"),
-								  ControlExample.getResourceString("CTabItem1_2")};
-
-	/* Controls and resources added to the "Fonts" group */
-	static final int SELECTION_FOREGROUND_COLOR = 3;
-	static final int SELECTION_BACKGROUND_COLOR = 4;
-	static final int ITEM_FONT = 5;
-	Color selectionForegroundColor, selectionBackgroundColor;
-	Font itemFont;
-	
-	/* Other widgets added to the "Other" group */
-	Button simpleTabButton, singleTabButton, imageButton, showMinButton, showMaxButton, unselectedCloseButton, unselectedImageButton;
-
-	/**
-	 * Creates the Tab within a given instance of ControlExample.
-	 */
-	CTabFolderTab(ControlExample instance) {
-		super(instance);
-	}
-	
-	/**
-	 * Creates the "Colors and Fonts" group.
-	 */
-	void createColorAndFontGroup () {
-		super.createColorAndFontGroup();
-		
-		TableItem item = new TableItem(colorAndFontTable, SWT.None);
-		item.setText(ControlExample.getResourceString ("Selection_Foreground_Color"));
-		item = new TableItem(colorAndFontTable, SWT.None);
-		item.setText(ControlExample.getResourceString ("Selection_Background_Color"));
-		item = new TableItem(colorAndFontTable, SWT.None);
-		item.setText(ControlExample.getResourceString ("Item_Font"));
-
-		shell.addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent event) {
-				if (selectionBackgroundColor != null) selectionBackgroundColor.dispose();
-				if (selectionForegroundColor != null) selectionForegroundColor.dispose();
-				if (itemFont != null) itemFont.dispose();
-				selectionBackgroundColor = null;
-				selectionForegroundColor = null;			
-				itemFont = null;
-			}
-		});
-	}
-
-	void changeFontOrColor(int index) {
-		switch (index) {
-			case SELECTION_FOREGROUND_COLOR: {
-				Color oldColor = selectionForegroundColor;
-				if (oldColor == null) oldColor = tabFolder1.getSelectionForeground();
-				colorDialog.setRGB(oldColor.getRGB());
-				RGB rgb = colorDialog.open();
-				if (rgb == null) return;
-				oldColor = selectionForegroundColor;
-				selectionForegroundColor = new Color (display, rgb);
-				setSelectionForeground ();
-				if (oldColor != null) oldColor.dispose ();
-			}
-			break;
-			case SELECTION_BACKGROUND_COLOR: {
-				Color oldColor = selectionBackgroundColor;
-				if (oldColor == null) oldColor = tabFolder1.getSelectionBackground();
-				colorDialog.setRGB(oldColor.getRGB());
-				RGB rgb = colorDialog.open();
-				if (rgb == null) return;
-				oldColor = selectionBackgroundColor;
-				selectionBackgroundColor = new Color (display, rgb);
-				setSelectionBackground ();
-				if (oldColor != null) oldColor.dispose ();
-			}
-			break;
-			case ITEM_FONT: {
-				Font oldFont = itemFont;
-				if (oldFont == null) oldFont = tabFolder1.getItem (0).getFont ();
-				fontDialog.setFontList(oldFont.getFontData());
-				FontData fontData = fontDialog.open ();
-				if (fontData == null) return;
-				oldFont = itemFont;
-				itemFont = new Font (display, fontData);
-				setItemFont ();
-				setExampleWidgetSize ();
-				if (oldFont != null) oldFont.dispose ();
-			}
-			break;
-			default:
-				super.changeFontOrColor(index);
-		}
-	}
-
-	/**
-	 * Creates the "Other" group.
-	 */
-	void createOtherGroup () {
-		super.createOtherGroup ();
-	
-		/* Create display controls specific to this example */
-		simpleTabButton = new Button (otherGroup, SWT.CHECK);
-		simpleTabButton.setText (ControlExample.getResourceString("Set_Simple_Tabs"));
-		simpleTabButton.setSelection(true);
-		simpleTabButton.addSelectionListener (new SelectionAdapter () {
-			public void widgetSelected (SelectionEvent event) {
-				setSimpleTabs();
-			}
-		});
-				
-		singleTabButton = new Button (otherGroup, SWT.CHECK);
-		singleTabButton.setText (ControlExample.getResourceString("Set_Single_Tabs"));
-		singleTabButton.setSelection(false);
-		singleTabButton.addSelectionListener (new SelectionAdapter () {
-			public void widgetSelected (SelectionEvent event) {
-				setSingleTabs();
-			}
-		});
-		
-		showMinButton = new Button (otherGroup, SWT.CHECK);
-		showMinButton.setText (ControlExample.getResourceString("Set_Min_Visible"));
-		showMinButton.setSelection(false);
-		showMinButton.addSelectionListener (new SelectionAdapter () {
-			public void widgetSelected (SelectionEvent event) {
-				setMinimizeVisible();
-			}
-		});
-		
-		showMaxButton = new Button (otherGroup, SWT.CHECK);
-		showMaxButton.setText (ControlExample.getResourceString("Set_Max_Visible"));
-		showMaxButton.setSelection(false);
-		showMaxButton.addSelectionListener (new SelectionAdapter () {
-			public void widgetSelected (SelectionEvent event) {
-				setMaximizeVisible();
-			}
-		});
-		
-		imageButton = new Button (otherGroup, SWT.CHECK);
-		imageButton.setText (ControlExample.getResourceString("Set_Image"));
-		imageButton.addSelectionListener (new SelectionAdapter () {
-			public void widgetSelected (SelectionEvent event) {
-				setImages();
-			}
-		});
-		
-		unselectedImageButton = new Button (otherGroup, SWT.CHECK);
-		unselectedImageButton.setText (ControlExample.getResourceString("Set_Unselected_Image_Visible"));
-		unselectedImageButton.setSelection(true);
-		unselectedImageButton.addSelectionListener (new SelectionAdapter () {
-			public void widgetSelected (SelectionEvent event) {
-				setUnselectedImageVisible();
-			}
-		});
-		unselectedCloseButton = new Button (otherGroup, SWT.CHECK);
-		unselectedCloseButton.setText (ControlExample.getResourceString("Set_Unselected_Close_Visible"));
-		unselectedCloseButton.setSelection(true);
-		unselectedCloseButton.addSelectionListener (new SelectionAdapter () {
-			public void widgetSelected (SelectionEvent event) {
-				setUnselectedCloseVisible();
-			}
-		});
-	}
-
-	/**
-	 * Creates the "Example" group.
-	 */
-	void createExampleGroup () {
-		super.createExampleGroup ();
-		
-		/* Create a group for the CTabFolder */
-		tabFolderGroup = new Group (exampleGroup, SWT.NONE);
-		tabFolderGroup.setLayout (new GridLayout ());
-		tabFolderGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true));
-		tabFolderGroup.setText ("CTabFolder");
-	}
-	
-	/**
-	 * Creates the "Example" widgets.
-	 */
-	void createExampleWidgets () {
-		
-		/* Compute the widget style */
-		int style = getDefaultStyle();
-		if (topButton.getSelection ()) style |= SWT.TOP;
-		if (bottomButton.getSelection ()) style |= SWT.BOTTOM;
-		if (borderButton.getSelection ()) style |= SWT.BORDER;
-		if (flatButton.getSelection ()) style |= SWT.FLAT;
-		if (closeButton.getSelection ()) style |= SWT.CLOSE;
-
-		/* Create the example widgets */
-		tabFolder1 = new CTabFolder (tabFolderGroup, style);
-		for (int i = 0; i < CTabItems1.length; i++) {
-			CTabItem item = new CTabItem(tabFolder1, SWT.NONE);
-			item.setText(CTabItems1[i]);
-			Text text = new Text(tabFolder1, SWT.READ_ONLY);
-			text.setText(ControlExample.getResourceString("CTabItem_content") + ": " + i);
-			item.setControl(text);
-		}
-		tabFolder1.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event event) {
-				lastSelectedTab = tabFolder1.getSelectionIndex();
-			}
-		});
-		tabFolder1.setSelection(lastSelectedTab);
-	}
-	
-	/**
-	 * Creates the "Style" group.
-	 */
-	void createStyleGroup() {
-		super.createStyleGroup ();
-		
-		/* Create the extra widgets */
-		topButton = new Button (styleGroup, SWT.RADIO);
-		topButton.setText ("SWT.TOP");
-		topButton.setSelection(true);
-		bottomButton = new Button (styleGroup, SWT.RADIO);
-		bottomButton.setText ("SWT.BOTTOM");
-		borderButton = new Button (styleGroup, SWT.CHECK);
-		borderButton.setText ("SWT.BORDER");
-		flatButton = new Button (styleGroup, SWT.CHECK);
-		flatButton.setText ("SWT.FLAT");
-		closeButton = new Button (styleGroup, SWT.CHECK);
-		closeButton.setText ("SWT.CLOSE");
-	}
-	
-	/**
-	 * Gets the list of custom event names.
-	 * 
-	 * @return an array containing custom event names
-	 */
-	String [] getCustomEventNames () {
-		return new String [] {"CTabFolderEvent"};
-	}
-	
-	/**
-	 * Gets the "Example" widget children's items, if any.
-	 *
-	 * @return an array containing the example widget children's items
-	 */
-	Item [] getExampleWidgetItems () {
-		return tabFolder1.getItems();
-	}
-	
-	/**
-	 * Gets the "Example" widget children.
-	 */
-	Widget [] getExampleWidgets () {
-		return new Widget [] {tabFolder1};
-	}
-	
-	/**
-	 * Gets the text for the tab folder item.
-	 */
-	String getTabText () {
-		return "CTabFolder";
-	}
-
-	/**
-	 * Hooks the custom listener specified by eventName.
-	 */
-	void hookCustomListener (final String eventName) {
-		if (eventName == "CTabFolderEvent") {
-			tabFolder1.addCTabFolder2Listener (new CTabFolder2Adapter () {
-				public void close (CTabFolderEvent event) {
-					log (eventName, event);
-				}
-			});
-		}
-	}
-
-	/**
-	 * Sets the foreground color, background color, and font
-	 * of the "Example" widgets to their default settings.
-	 * Also sets foreground and background color of the Node 1
-	 * TreeItems to default settings.
-	 */
-	void resetColorsAndFonts () {
-		super.resetColorsAndFonts ();
-		Color oldColor = selectionForegroundColor;
-		selectionForegroundColor = null;
-		setSelectionForeground ();
-		if (oldColor != null) oldColor.dispose();
-		oldColor = selectionBackgroundColor;
-		selectionBackgroundColor = null;
-		setSelectionBackground ();
-		if (oldColor != null) oldColor.dispose();
-		Font oldFont = itemFont;
-		itemFont = null;
-		setItemFont ();
-		if (oldFont != null) oldFont.dispose();
-	}
-	
-	/**
-	 * Sets the state of the "Example" widgets.
-	 */
-	void setExampleWidgetState () {
-		super.setExampleWidgetState();
-		setSimpleTabs();
-		setSingleTabs();
-		setImages();
-		setMinimizeVisible();
-		setMaximizeVisible();
-		setUnselectedCloseVisible();
-		setUnselectedImageVisible();
-		setSelectionBackground ();
-		setSelectionForeground ();
-		setItemFont ();
-		setExampleWidgetSize();
-	}
-	
-	/**
-	 * Sets the shape that the CTabFolder will use to render itself. 
-	 */
-	void setSimpleTabs () {
-		tabFolder1.setSimple (simpleTabButton.getSelection ());
-		setExampleWidgetSize();
-	}
-	
-	/**
-	 * Sets the number of tabs that the CTabFolder should display.
-	 */
-	void setSingleTabs () {
-		tabFolder1.setSingle (singleTabButton.getSelection ());
-		setExampleWidgetSize();
-	}
-	/**
-	 * Sets an image into each item of the "Example" widgets.
-	 */
-	void setImages () {
-		boolean setImage = imageButton.getSelection ();
-		CTabItem items[] = tabFolder1.getItems ();
-		for (int i = 0; i < items.length; i++) {
-			if (setImage) {
-				items[i].setImage (instance.images[ControlExample.ciClosedFolder]);
-			} else {
-				items[i].setImage (null);
-			}
-		}
-		setExampleWidgetSize ();
-	}
-	/**
-	 * Sets the visibility of the minimize button
-	 */
-	void setMinimizeVisible () {
-		tabFolder1.setMinimizeVisible(showMinButton.getSelection ());
-		setExampleWidgetSize();
-	}
-	/**
-	 * Sets the visibility of the maximize button
-	 */
-	void setMaximizeVisible () {
-		tabFolder1.setMaximizeVisible(showMaxButton.getSelection ());
-		setExampleWidgetSize();
-	}
-	/**
-	 * Sets the visibility of the close button on unselected tabs
-	 */
-	void setUnselectedCloseVisible () {
-		tabFolder1.setUnselectedCloseVisible(unselectedCloseButton.getSelection ());
-		setExampleWidgetSize();
-	}
-	/**
-	 * Sets the visibility of the image on unselected tabs
-	 */
-	void setUnselectedImageVisible () {
-		tabFolder1.setUnselectedImageVisible(unselectedImageButton.getSelection ());
-		setExampleWidgetSize();
-	}
-	/**
-	 * Sets the background color of CTabItem 0.
-	 */
-	void setSelectionBackground () {
-		if (!instance.startup) {
-			tabFolder1.setSelectionBackground(selectionBackgroundColor);
-		}
-		// Set the selection background item's image to match the background color of the selection.
-		Color color = selectionBackgroundColor;
-		if (color == null) color = tabFolder1.getSelectionBackground ();
-		TableItem item = colorAndFontTable.getItem(SELECTION_BACKGROUND_COLOR);
-		Image oldImage = item.getImage();
-		if (oldImage != null) oldImage.dispose();
-		item.setImage (colorImage(color));
-	}
-	
-	/**
-	 * Sets the foreground color of CTabItem 0.
-	 */
-	void setSelectionForeground () {
-		if (!instance.startup) {
-			tabFolder1.setSelectionForeground(selectionForegroundColor);
-		}
-		// Set the selection foreground item's image to match the foreground color of the selection.
-		Color color = selectionForegroundColor;
-		if (color == null) color = tabFolder1.getSelectionForeground ();
-		TableItem item = colorAndFontTable.getItem(SELECTION_FOREGROUND_COLOR);
-		Image oldImage = item.getImage();
-		if (oldImage != null) oldImage.dispose();
-		item.setImage (colorImage(color));
-	}
-	
-	/**
-	 * Sets the font of CTabItem 0.
-	 */
-	void setItemFont () {
-		if (!instance.startup) {
-			tabFolder1.getItem (0).setFont (itemFont);
-			setExampleWidgetSize();
-		}
-		/* Set the font item's image to match the font of the item. */
-		Font ft = itemFont;
-		if (ft == null) ft = tabFolder1.getItem (0).getFont ();
-		TableItem item = colorAndFontTable.getItem(ITEM_FONT);
-		Image oldImage = item.getImage();
-		if (oldImage != null) oldImage.dispose();
-		item.setImage (fontImage(ft));
-		item.setFont(ft);
-		colorAndFontTable.layout ();
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/CanvasTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/CanvasTab.java
deleted file mode 100644
index b9bfc0d..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/CanvasTab.java
+++ /dev/null
@@ -1,312 +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.swt.examples.controlexample;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-
-class CanvasTab extends Tab {
-	static final int colors [] = {
-		SWT.COLOR_RED,
-		SWT.COLOR_GREEN,
-		SWT.COLOR_BLUE,
-		SWT.COLOR_MAGENTA,
-		SWT.COLOR_YELLOW,
-		SWT.COLOR_CYAN,
-		SWT.COLOR_DARK_RED,
-		SWT.COLOR_DARK_GREEN,
-		SWT.COLOR_DARK_BLUE,
-		SWT.COLOR_DARK_MAGENTA,
-		SWT.COLOR_DARK_YELLOW,
-		SWT.COLOR_DARK_CYAN
-	};
-	static final String canvasString = "Canvas"; //$NON-NLS-1$
-	
-	/* Example widgets and groups that contain them */
-	Canvas canvas;
-	Group canvasGroup;
-
-	/* Style widgets added to the "Style" group */
-	Button horizontalButton, verticalButton, noBackgroundButton, noFocusButton, 
-	noMergePaintsButton, noRedrawResizeButton, doubleBufferedButton;
-
-	/* Other widgets added to the "Other" group */
-	Button caretButton, fillDamageButton;
-
-	int paintCount;
-	int cx, cy;
-	int maxX, maxY;
-	
-	/**
-	 * Creates the Tab within a given instance of ControlExample.
-	 */
-	CanvasTab(ControlExample instance) {
-		super(instance);
-	}
-
-	/**
-	 * Creates the "Other" group.
-	 */
-	void createOtherGroup () {
-		super.createOtherGroup ();
-	
-		/* Create display controls specific to this example */
-		caretButton = new Button (otherGroup, SWT.CHECK);
-		caretButton.setText (ControlExample.getResourceString("Caret"));
-		fillDamageButton = new Button (otherGroup, SWT.CHECK);
-		fillDamageButton.setText (ControlExample.getResourceString("FillDamage"));
-			
-		/* Add the listeners */
-		caretButton.addSelectionListener (new SelectionAdapter () {
-			public void widgetSelected (SelectionEvent event) {
-				setCaret ();
-			}
-		});
-	}
-	
-	/**
-	 * Creates the "Example" group.
-	 */
-	void createExampleGroup () {
-		super.createExampleGroup ();
-		
-		/* Create a group for the canvas widget */
-		canvasGroup = new Group (exampleGroup, SWT.NONE);
-		canvasGroup.setLayout (new GridLayout ());
-		canvasGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true));
-		canvasGroup.setText ("Canvas");
-	}
-	
-	/**
-	 * Creates the "Example" widgets.
-	 */
-	void createExampleWidgets () {
-		
-		/* Compute the widget style */
-		int style = getDefaultStyle();
-		if (horizontalButton.getSelection ()) style |= SWT.H_SCROLL;
-		if (verticalButton.getSelection ()) style |= SWT.V_SCROLL;
-		if (borderButton.getSelection ()) style |= SWT.BORDER;
-		if (noBackgroundButton.getSelection ()) style |= SWT.NO_BACKGROUND;
-		if (noFocusButton.getSelection ()) style |= SWT.NO_FOCUS;
-		if (noMergePaintsButton.getSelection ()) style |= SWT.NO_MERGE_PAINTS;
-		if (noRedrawResizeButton.getSelection ()) style |= SWT.NO_REDRAW_RESIZE;
-		if (doubleBufferedButton.getSelection ()) style |= SWT.DOUBLE_BUFFERED;
-
-		/* Create the example widgets */
-		paintCount = 0; cx = 0; cy = 0;
-		canvas = new Canvas (canvasGroup, style);
-		canvas.addPaintListener(new PaintListener () {
-			public void paintControl(PaintEvent e) {
-				paintCount++;
-				GC gc = e.gc;
-				if (fillDamageButton.getSelection ()) {
-					Color color = e.display.getSystemColor (colors [paintCount % colors.length]);
-					gc.setBackground(color);
-					gc.fillRectangle(e.x, e.y, e.width, e.height);
-				}
-				Point size = canvas.getSize ();
-				gc.drawArc(cx + 1, cy + 1, size.x - 2, size.y - 2, 0, 360);
-				gc.drawRectangle(cx + (size.x - 10) / 2, cy + (size.y - 10) / 2, 10, 10);
-				Point extent = gc.textExtent(canvasString);
-				gc.drawString(canvasString, cx + (size.x - extent.x) / 2, cy - extent.y + (size.y - 10) / 2, true);
-			}
-		});
-		canvas.addControlListener(new ControlAdapter() {
-			public void controlResized(ControlEvent event) {
-				Point size = canvas.getSize ();
-				maxX = size.x * 3 / 2; maxY = size.y * 3 / 2;
-				resizeScrollBars ();
-			}
-		});
-		ScrollBar bar = canvas.getHorizontalBar();
-		if (bar != null) {
-			hookListeners (bar);
-			bar.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent event) {
-					scrollHorizontal ((ScrollBar)event.widget);
-				}
-			});
-		}
-		bar = canvas.getVerticalBar();
-		if (bar != null) {
-			hookListeners (bar);
-			bar.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent event) {
-					scrollVertical ((ScrollBar)event.widget);
-				}
-			});
-		}
-	}
-	
-	/**
-	 * Creates the "Style" group.
-	 */
-	void createStyleGroup() {
-		super.createStyleGroup();
-	
-		/* Create the extra widgets */
-		horizontalButton = new Button (styleGroup, SWT.CHECK);
-		horizontalButton.setText ("SWT.H_SCROLL");
-		horizontalButton.setSelection(true);
-		verticalButton = new Button (styleGroup, SWT.CHECK);
-		verticalButton.setText ("SWT.V_SCROLL");
-		verticalButton.setSelection(true);
-		borderButton = new Button (styleGroup, SWT.CHECK);
-		borderButton.setText ("SWT.BORDER");
-		noBackgroundButton = new Button (styleGroup, SWT.CHECK);
-		noBackgroundButton.setText ("SWT.NO_BACKGROUND");
-		noFocusButton = new Button (styleGroup, SWT.CHECK);
-		noFocusButton.setText ("SWT.NO_FOCUS");
-		noMergePaintsButton = new Button (styleGroup, SWT.CHECK);
-		noMergePaintsButton.setText ("SWT.NO_MERGE_PAINTS");
-		noRedrawResizeButton = new Button (styleGroup, SWT.CHECK);
-		noRedrawResizeButton.setText ("SWT.NO_REDRAW_RESIZE");
-		doubleBufferedButton = new Button (styleGroup, SWT.CHECK);
-		doubleBufferedButton.setText ("SWT.DOUBLE_BUFFERED");
-	}
-
-	/**
-	 * Creates the tab folder page.
-	 *
-	 * @param tabFolder org.eclipse.swt.widgets.TabFolder
-	 * @return the new page for the tab folder
-	 */
-	Composite createTabFolderPage (TabFolder tabFolder) {
-		super.createTabFolderPage (tabFolder);
-
-		/*
-		 * Add a resize listener to the tabFolderPage so that
-		 * if the user types into the example widget to change
-		 * its preferred size, and then resizes the shell, we
-		 * recalculate the preferred size correctly.
-		 */
-		tabFolderPage.addControlListener(new ControlAdapter() {
-			public void controlResized(ControlEvent e) {
-				setExampleWidgetSize ();
-			}
-		});
-		
-		return tabFolderPage;
-	}
-
-	/**
-	 * Gets the "Example" widget children.
-	 */
-	Widget [] getExampleWidgets () {
-		return new Widget [] {canvas};
-	}
-	
-	/**
-	 * Returns a list of set/get API method names (without the set/get prefix)
-	 * that can be used to set/get values in the example control(s).
-	 */
-	String[] getMethodNames() {
-		return new String[] {"ToolTipText"};
-	}
-
-	/**
-	 * Gets the text for the tab folder item.
-	 */
-	String getTabText () {
-		return "Canvas";
-	}
-	
-	/**
-	 * Resizes the maximum and thumb of both scrollbars.
-	 */
-	void resizeScrollBars () {
-		Rectangle clientArea = canvas.getClientArea();
-		ScrollBar bar = canvas.getHorizontalBar();
-		if (bar != null) {
-			bar.setMaximum(maxX);
-			bar.setThumb(clientArea.width);
-			bar.setPageIncrement(clientArea.width);
-		}
-		bar = canvas.getVerticalBar();
-		if (bar != null) {
-			bar.setMaximum(maxY);
-			bar.setThumb(clientArea.height);
-			bar.setPageIncrement(clientArea.height);
-		}
-	}
-
-	/**
-	 * Scrolls the canvas horizontally.
-	 * 
-	 * @param scrollBar
-	 */
-	void scrollHorizontal (ScrollBar scrollBar) {
-		Rectangle bounds = canvas.getClientArea();
-		int x = -scrollBar.getSelection();
-		if (x + maxX < bounds.width) {
-			x = bounds.width - maxX;
-		}
-		canvas.scroll(x, cy, cx, cy, maxX, maxY, false);
-		cx = x;
-	}
-
-	/**
-	 * Scrolls the canvas vertically.
-	 * 
-	 * @param scrollBar
-	 */
-	void scrollVertical (ScrollBar scrollBar) {
-		Rectangle bounds = canvas.getClientArea();
-		int y = -scrollBar.getSelection();
-		if (y + maxY < bounds.height) {
-			y = bounds.height - maxY;
-		}
-		canvas.scroll(cx, y, cx, cy, maxX, maxY, false);
-		cy = y;
-	}
-
-	/**
-	 * Sets or clears the caret in the "Example" widget.
-	 */
-	void setCaret () {
-		Caret oldCaret = canvas.getCaret ();
-		if (caretButton.getSelection ()) {
-			Caret newCaret = new Caret(canvas, SWT.NONE);
-			Font font = canvas.getFont();
-			newCaret.setFont(font);
-			GC gc = new GC(canvas);
-			gc.setFont(font);
-			newCaret.setBounds(1, 1, 1, gc.getFontMetrics().getHeight());
-			gc.dispose();
-			canvas.setCaret (newCaret);
-			canvas.setFocus();
-		} else {
-			canvas.setCaret (null);
-		}
-		if (oldCaret != null) oldCaret.dispose ();
-	}
-	
-	/**
-	 * Sets the state of the "Example" widgets.
-	 */
-	void setExampleWidgetState () {
-		super.setExampleWidgetState ();
-		horizontalButton.setSelection ((canvas.getStyle () & SWT.H_SCROLL) != 0);
-		verticalButton.setSelection ((canvas.getStyle () & SWT.V_SCROLL) != 0);
-		borderButton.setSelection ((canvas.getStyle () & SWT.BORDER) != 0);
-		noBackgroundButton.setSelection ((canvas.getStyle () & SWT.NO_BACKGROUND) != 0);
-		noFocusButton.setSelection ((canvas.getStyle () & SWT.NO_FOCUS) != 0);
-		noMergePaintsButton.setSelection ((canvas.getStyle () & SWT.NO_MERGE_PAINTS) != 0);
-		noRedrawResizeButton.setSelection ((canvas.getStyle () & SWT.NO_REDRAW_RESIZE) != 0);
-		doubleBufferedButton.setSelection ((canvas.getStyle () & SWT.DOUBLE_BUFFERED) != 0);
-		if (!instance.startup) setCaret ();
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ComboTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ComboTab.java
deleted file mode 100755
index 6ca3776..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ComboTab.java
+++ /dev/null
@@ -1,148 +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.swt.examples.controlexample;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-
-class ComboTab extends Tab {
-
-	/* Example widgets and groups that contain them */
-	Combo combo1;
-	Group comboGroup;
-	
-	/* Style widgets added to the "Style" group */
-	Button dropDownButton, readOnlyButton, simpleButton;
-	
-	static String [] ListData = {ControlExample.getResourceString("ListData0_0"),
-								 ControlExample.getResourceString("ListData0_1"),
-								 ControlExample.getResourceString("ListData0_2"),
-								 ControlExample.getResourceString("ListData0_3"),
-								 ControlExample.getResourceString("ListData0_4"),
-								 ControlExample.getResourceString("ListData0_5"),
-								 ControlExample.getResourceString("ListData0_6"),
-								 ControlExample.getResourceString("ListData0_7"),
-								 ControlExample.getResourceString("ListData0_8")};
-
-	/**
-	 * Creates the Tab within a given instance of ControlExample.
-	 */
-	ComboTab(ControlExample instance) {
-		super(instance);
-	}
-	
-	/**
-	 * Creates the "Example" group.
-	 */
-	void createExampleGroup () {
-		super.createExampleGroup ();
-		
-		/* Create a group for the combo box */
-		comboGroup = new Group (exampleGroup, SWT.NONE);
-		comboGroup.setLayout (new GridLayout ());
-		comboGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true));
-		comboGroup.setText ("Combo");
-	}
-	
-	/**
-	 * Creates the "Example" widgets.
-	 */
-	void createExampleWidgets () {
-		
-		/* Compute the widget style */
-		int style = getDefaultStyle();
-		if (dropDownButton.getSelection ()) style |= SWT.DROP_DOWN;
-		if (readOnlyButton.getSelection ()) style |= SWT.READ_ONLY;
-		if (simpleButton.getSelection ()) style |= SWT.SIMPLE;
-		
-		/* Create the example widgets */
-		combo1 = new Combo (comboGroup, style);
-		combo1.setItems (ListData);
-		if (ListData.length >= 3) {
-			combo1.setText(ListData [2]);
-		}
-	}
-	
-	/**
-	 * Creates the tab folder page.
-	 *
-	 * @param tabFolder org.eclipse.swt.widgets.TabFolder
-	 * @return the new page for the tab folder
-	 */
-	Composite createTabFolderPage (TabFolder tabFolder) {
-		super.createTabFolderPage (tabFolder);
-
-		/*
-		 * Add a resize listener to the tabFolderPage so that
-		 * if the user types into the example widget to change
-		 * its preferred size, and then resizes the shell, we
-		 * recalculate the preferred size correctly.
-		 */
-		tabFolderPage.addControlListener(new ControlAdapter() {
-			public void controlResized(ControlEvent e) {
-				setExampleWidgetSize ();
-			}
-		});
-		
-		return tabFolderPage;
-	}
-
-	/**
-	 * Creates the "Style" group.
-	 */
-	void createStyleGroup () {
-		super.createStyleGroup ();
-	
-		/* Create the extra widgets */
-		dropDownButton = new Button (styleGroup, SWT.RADIO);
-		dropDownButton.setText ("SWT.DROP_DOWN");
-		simpleButton = new Button (styleGroup, SWT.RADIO);
-		simpleButton.setText("SWT.SIMPLE");
-		readOnlyButton = new Button (styleGroup, SWT.CHECK);
-		readOnlyButton.setText ("SWT.READ_ONLY");
-	}
-	
-	/**
-	 * Gets the "Example" widget children.
-	 */
-	Widget [] getExampleWidgets () {
-		return new Widget [] {combo1};
-	}
-	
-	/**
-	 * Returns a list of set/get API method names (without the set/get prefix)
-	 * that can be used to set/get values in the example control(s).
-	 */
-	String[] getMethodNames() {
-		return new String[] {"Items", "Orientation", "Selection", "Text", "TextLimit", "ToolTipText", "VisibleItemCount"};
-	}
-
-	/**
-	 * Gets the text for the tab folder item.
-	 */
-	String getTabText () {
-		return "Combo";
-	}
-	
-	/**
-	 * Sets the state of the "Example" widgets.
-	 */
-	void setExampleWidgetState () {
-		super.setExampleWidgetState ();
-		dropDownButton.setSelection ((combo1.getStyle () & SWT.DROP_DOWN) != 0);
-		simpleButton.setSelection ((combo1.getStyle () & SWT.SIMPLE) != 0);
-		readOnlyButton.setSelection ((combo1.getStyle () & SWT.READ_ONLY) != 0);
-		readOnlyButton.setEnabled(!simpleButton.getSelection());
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ControlExample.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ControlExample.java
deleted file mode 100755
index e56b682..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ControlExample.java
+++ /dev/null
@@ -1,244 +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.swt.examples.controlexample;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-import java.io.*;
-import java.text.*;
-import java.util.*;
-
-public class ControlExample {
-	private static ResourceBundle resourceBundle =
-		ResourceBundle.getBundle("examples_control"); //$NON-NLS-1$
-	private ShellTab shellTab;
-	private TabFolder tabFolder;
-	private Tab [] tabs;
-	Image images[];
-
-	static final int ciClosedFolder = 0, ciOpenFolder = 1, ciTarget = 2, ciBackground = 3, ciParentBackground = 4;
-	static final String[] imageLocations = {
-		"closedFolder.gif", 			//$NON-NLS-1$
-		"openFolder.gif", 				//$NON-NLS-1$
-		"target.gif", 					//$NON-NLS-1$
-		"backgroundImage.png", 			//$NON-NLS-1$
-		"parentBackgroundImage.png"}; 	//$NON-NLS-1$
-	static final int[] imageTypes = {
-		SWT.ICON,
-		SWT.ICON,
-		SWT.ICON,
-		SWT.BITMAP,
-		SWT.BITMAP};
-
-	boolean startup = true;
-
-	/**
-	 * Creates an instance of a ControlExample embedded inside
-	 * the supplied parent Composite.
-	 * 
-	 * @param parent the container of the example
-	 */
-	public ControlExample(Composite parent) {
-		initResources();
-		tabFolder = new TabFolder (parent, SWT.NONE);
-		tabs = createTabs();
-		for (int i=0; i<tabs.length; i++) {
-			TabItem item = new TabItem (tabFolder, SWT.NONE);
-		    item.setText (tabs [i].getTabText ());
-		    item.setControl (tabs [i].createTabFolderPage (tabFolder));
-		    item.setData (tabs [i]);
-		}
-		startup = false;
-	}
-
-	/**
-	 * Answers the set of example Tabs
-	 */
-	Tab[] createTabs() {
-		return new Tab [] {
-			new ButtonTab (this),
-			new CanvasTab (this),
-			new ComboTab (this),
-			new CoolBarTab (this),
-			new DateTimeTab (this),
-			new DialogTab (this),
-			new ExpandBarTab (this),
-			new GroupTab (this),
-			new LabelTab (this),
-			new LinkTab (this),
-			new ListTab (this),
-			new MenuTab (this),
-			new ProgressBarTab (this),
-			new SashTab (this),
-			new ScaleTab (this),
-			shellTab = new ShellTab(this),
-			new SliderTab (this),
-			new SpinnerTab (this),
-			new TabFolderTab (this),
-			new TableTab (this),
-			new TextTab (this),
-			new ToolBarTab (this),
-			new ToolTipTab (this),
-			new TreeTab (this),
-			new BrowserTab (this),
-		};
-	}
-
-	/**
-	 * Disposes of all resources associated with a particular
-	 * instance of the ControlExample.
-	 */	
-	public void dispose() {
-		/*
-		 * Destroy any shells that may have been created
-		 * by the Shells tab.  When a shell is disposed,
-		 * all child shells are also disposed.  Therefore
-		 * it is necessary to check for disposed shells
-		 * in the shells list to avoid disposing a shell
-		 * twice.
-		 */
-		if (shellTab != null) shellTab.closeAllShells ();
-		shellTab = null;
-		tabFolder = null;
-		freeResources();
-	}
-
-	/**
-	 * Frees the resources
-	 */
-	void freeResources() {
-		if (images != null) {
-			for (int i = 0; i < images.length; ++i) {
-				final Image image = images[i];
-				if (image != null) image.dispose();
-			}
-			images = null;
-		}
-	}
-	
-	/**
-	 * Gets a string from the resource bundle.
-	 * We don't want to crash because of a missing String.
-	 * Returns the key if not found.
-	 */
-	static String getResourceString(String key) {
-		try {
-			return resourceBundle.getString(key);
-		} catch (MissingResourceException e) {
-			return key;
-		} catch (NullPointerException e) {
-			return "!" + key + "!"; //$NON-NLS-1$ //$NON-NLS-2$
-		}			
-	}
-
-	/**
-	 * Gets a string from the resource bundle and binds it
-	 * with the given arguments. If the key is not found,
-	 * return the key.
-	 */
-	static String getResourceString(String key, Object[] args) {
-		try {
-			return MessageFormat.format(getResourceString(key), args);
-		} catch (MissingResourceException e) {
-			return key;
-		} catch (NullPointerException e) {
-			return "!" + key + "!"; //$NON-NLS-1$ //$NON-NLS-2$
-		}
-	}
-
-	/**
-	 * Loads the resources
-	 */
-	void initResources() {
-		final Class clazz = ControlExample.class;
-		if (resourceBundle != null) {
-			try {
-				if (images == null) {
-					images = new Image[imageLocations.length];
-					
-					for (int i = 0; i < imageLocations.length; ++i) {
-						InputStream sourceStream = clazz.getResourceAsStream(imageLocations[i]);
-						ImageData source = new ImageData(sourceStream);
-						if (imageTypes[i] == SWT.ICON) {
-							ImageData mask = source.getTransparencyMask();
-							images[i] = new Image(null, source, mask);
-						} else {
-							images[i] = new Image(null, source);
-						}
-						try {
-							sourceStream.close();
-						} catch (IOException e) {
-							e.printStackTrace();
-						}
-					}
-				}
-				return;
-			} catch (Throwable t) {
-			}
-		}
-		String error = (resourceBundle != null) ?
-			getResourceString("error.CouldNotLoadResources") :
-			"Unable to load resources"; //$NON-NLS-1$
-		freeResources();
-		throw new RuntimeException(error);
-	}
-
-	/**
-	 * Invokes as a standalone program.
-	 */
-	public static void main(String[] args) {
-		Display display = new Display();
-		Shell shell = new Shell(display, SWT.SHELL_TRIM);
-		shell.setLayout(new FillLayout());
-		ControlExample instance = new ControlExample(shell);
-		shell.setText(getResourceString("window.title"));
-		setShellSize(instance, shell);
-		shell.open();
-		while (! shell.isDisposed()) {
-			if (! display.readAndDispatch()) display.sleep();
-		}
-		instance.dispose();
-		display.dispose();
-	}
-	
-	/**
-	 * Grabs input focus.
-	 */
-	public void setFocus() {
-		tabFolder.setFocus();
-	}
-	
-	/**
-	 * Sets the size of the shell to it's "packed" size,
-	 * unless that makes it larger than the monitor it is being displayed on,
-	 * in which case just set the shell size to be slightly smaller than the monitor.
-	 */
-	static void setShellSize(ControlExample instance, Shell shell) {
-		Point size = shell.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-		Rectangle monitorArea = shell.getMonitor().getClientArea();
-		/* Workaround: if the tab folder is wider than the screen,
-		 * carbon clips instead of somehow scrolling the tab items.
-		 * We try to recover some width by using shorter tab names. */
-		if (size.x > monitorArea.width && SWT.getPlatform().equals("carbon")) {
-			TabItem [] tabItems = instance.tabFolder.getItems();
-			for (int i=0; i<tabItems.length; i++) {
-				tabItems[i].setText (instance.tabs [i].getShortTabText ());
-			}
-			size = shell.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-		}
-		shell.setSize(Math.min(size.x, monitorArea.width), Math.min(size.y, monitorArea.height));
-	}
-}
-
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/CoolBarTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/CoolBarTab.java
deleted file mode 100644
index 5720ce8..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/CoolBarTab.java
+++ /dev/null
@@ -1,490 +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.swt.examples.controlexample;
-
- 
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.events.*;
-
-class CoolBarTab extends Tab {
-	/* Example widgets and group that contains them */
-	CoolBar coolBar;
-	CoolItem pushItem, dropDownItem, radioItem, checkItem, textItem;
-	Group coolBarGroup;
-	
-	/* Style widgets added to the "Style" group */
-	Button horizontalButton, verticalButton;
-	Button dropDownButton, flatButton;
-
-	/* Other widgets added to the "Other" group */
-	Button lockedButton;
-	
-	Point[] sizes;
-	int[] wrapIndices;
-	int[] order;
-	
-	/**
-	 * Creates the Tab within a given instance of ControlExample.
-	 */
-	CoolBarTab(ControlExample instance) {
-		super(instance);
-	}
-	
-	/**
-	 * Creates the "Other" group.
-	 */
-	void createOtherGroup () {
-		super.createOtherGroup ();
-	
-		/* Create display controls specific to this example */
-		lockedButton = new Button (otherGroup, SWT.CHECK);
-		lockedButton.setText (ControlExample.getResourceString("Locked"));
-	
-		/* Add the listeners */
-		lockedButton.addSelectionListener (new SelectionAdapter () {
-			public void widgetSelected (SelectionEvent event) {
-				setWidgetLocked ();
-			}
-		});
-	}
-	
-	/**
-	 * Creates the "Example" group.
-	 */
-	void createExampleGroup () {
-		super.createExampleGroup ();
-		coolBarGroup = new Group (exampleGroup, SWT.NONE);
-		coolBarGroup.setLayout (new GridLayout ());
-		coolBarGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true));
-		coolBarGroup.setText ("CoolBar");
-	}
-	
-	/**
-	 * Creates the "Example" widgets.
-	 */
-	void createExampleWidgets () {
-		int style = getDefaultStyle(), itemStyle = 0;
-
-		/* Compute the widget, item, and item toolBar styles */
-		int toolBarStyle = SWT.FLAT;
-		boolean vertical = false;
-		if (horizontalButton.getSelection ()) {
-			style |= SWT.HORIZONTAL;
-			toolBarStyle |= SWT.HORIZONTAL;
-		}
-		if (verticalButton.getSelection ()) {
-			style |= SWT.VERTICAL;
-			toolBarStyle |= SWT.VERTICAL;
-			vertical = true;
-		}
-		if (borderButton.getSelection()) style |= SWT.BORDER;
-		if (flatButton.getSelection()) style |= SWT.FLAT;
-		if (dropDownButton.getSelection()) itemStyle |= SWT.DROP_DOWN;
-	
-		/*
-		* Create the example widgets.
-		*/
-		coolBar = new CoolBar (coolBarGroup, style);
-		
-		/* Create the push button toolbar cool item */
-		ToolBar toolBar = new ToolBar (coolBar, toolBarStyle);
-		ToolItem item = new ToolItem (toolBar, SWT.PUSH);
-		item.setImage (instance.images[ControlExample.ciClosedFolder]);
-		item.setToolTipText ("SWT.PUSH");
-		item = new ToolItem (toolBar, SWT.PUSH);
-		item.setImage (instance.images[ControlExample.ciOpenFolder]);
-		item.setToolTipText ("SWT.PUSH");
-		item = new ToolItem (toolBar, SWT.PUSH);
-		item.setImage (instance.images[ControlExample.ciTarget]);
-		item.setToolTipText ("SWT.PUSH");
-		item = new ToolItem (toolBar, SWT.SEPARATOR);
-		item = new ToolItem (toolBar, SWT.PUSH);
-		item.setImage (instance.images[ControlExample.ciClosedFolder]);
-		item.setToolTipText ("SWT.PUSH");
-		item = new ToolItem (toolBar, SWT.PUSH);
-		item.setImage (instance.images[ControlExample.ciOpenFolder]);
-		item.setToolTipText ("SWT.PUSH");		
-		pushItem = new CoolItem (coolBar, itemStyle);
-		pushItem.setControl (toolBar);
-		pushItem.addSelectionListener (new CoolItemSelectionListener());
-				
-		/* Create the dropdown toolbar cool item */
-		toolBar = new ToolBar (coolBar, toolBarStyle);
-		item = new ToolItem (toolBar, SWT.DROP_DOWN);
-		item.setImage (instance.images[ControlExample.ciOpenFolder]);
-		item.setToolTipText ("SWT.DROP_DOWN");
-		item.addSelectionListener (new DropDownSelectionListener());
-		item = new ToolItem (toolBar, SWT.DROP_DOWN);
-		item.setImage (instance.images[ControlExample.ciClosedFolder]);
-		item.setToolTipText ("SWT.DROP_DOWN");
-		item.addSelectionListener (new DropDownSelectionListener());
-		dropDownItem = new CoolItem (coolBar, itemStyle);
-		dropDownItem.setControl (toolBar);
-		dropDownItem.addSelectionListener (new CoolItemSelectionListener());
-
-		/* Create the radio button toolbar cool item */
-		toolBar = new ToolBar (coolBar, toolBarStyle);
-		item = new ToolItem (toolBar, SWT.RADIO);
-		item.setImage (instance.images[ControlExample.ciClosedFolder]);
-		item.setToolTipText ("SWT.RADIO");
-		item = new ToolItem (toolBar, SWT.RADIO);
-		item.setImage (instance.images[ControlExample.ciClosedFolder]);
-		item.setToolTipText ("SWT.RADIO");
-		item = new ToolItem (toolBar, SWT.RADIO);
-		item.setImage (instance.images[ControlExample.ciClosedFolder]);
-		item.setToolTipText ("SWT.RADIO");
-		radioItem = new CoolItem (coolBar, itemStyle);
-		radioItem.setControl (toolBar);
-		radioItem.addSelectionListener (new CoolItemSelectionListener());
-		
-		/* Create the check button toolbar cool item */
-		toolBar = new ToolBar (coolBar, toolBarStyle);
-		item = new ToolItem (toolBar, SWT.CHECK);
-		item.setImage (instance.images[ControlExample.ciClosedFolder]);
-		item.setToolTipText ("SWT.CHECK");
-		item = new ToolItem (toolBar, SWT.CHECK);
-		item.setImage (instance.images[ControlExample.ciTarget]);
-		item.setToolTipText ("SWT.CHECK");
-		item = new ToolItem (toolBar, SWT.CHECK);
-		item.setImage (instance.images[ControlExample.ciOpenFolder]);
-		item.setToolTipText ("SWT.CHECK");
-		item = new ToolItem (toolBar, SWT.CHECK);
-		item.setImage (instance.images[ControlExample.ciTarget]);
-		item.setToolTipText ("SWT.CHECK");
-		checkItem = new CoolItem (coolBar, itemStyle);
-		checkItem.setControl (toolBar);
-		checkItem.addSelectionListener (new CoolItemSelectionListener());
-		
-		/* Create the text cool item */
-		if (!vertical) {
-			Text text = new Text (coolBar, SWT.BORDER | SWT.SINGLE);
-			textItem = new CoolItem (coolBar, itemStyle);
-			textItem.setControl (text);
-			textItem.addSelectionListener (new CoolItemSelectionListener());
-			Point textSize = text.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-			textSize = textItem.computeSize(textSize.x, textSize.y);
-			textItem.setMinimumSize(textSize);
-			textItem.setPreferredSize(textSize);
-			textItem.setSize(textSize);
-		}
-
-		/* Set the sizes after adding all cool items */
-		CoolItem[] coolItems = coolBar.getItems();
-		for (int i = 0; i < coolItems.length; i++) {
-			CoolItem coolItem = coolItems[i];
-			Control control = coolItem.getControl();
-			Point size = control.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-			Point coolSize = coolItem.computeSize(size.x, size.y);
-			if (control instanceof ToolBar) {
-				ToolBar bar = (ToolBar)control;
-				if (bar.getItemCount() > 0) {
-					if (vertical) {
-						size.y = bar.getItem(0).getBounds().height;
-					} else {
-						size.x = bar.getItem(0).getWidth();
-					}
-				}
-			}
-			coolItem.setMinimumSize(size);
-			coolItem.setPreferredSize(coolSize);
-			coolItem.setSize(coolSize);
-		}
-		
-		/* If we have saved state, restore it */
-		if (order != null && order.length == coolBar.getItemCount()) {
-			coolBar.setItemLayout(order, wrapIndices, sizes);
-		} else {
-			coolBar.setWrapIndices(new int[] {1, 3});
-		}
-		
-		/* Add a listener to resize the group box to match the coolbar */
-		coolBar.addListener(SWT.Resize, new Listener() {
-			public void handleEvent(Event event) {
-				exampleGroup.layout();
-			}
-		});
-	}
-	
-	/**
-	 * Creates the "Style" group.
-	 */
-	void createStyleGroup() {
-		super.createStyleGroup();
-	
-		/* Create the extra widgets */
-		horizontalButton = new Button (styleGroup, SWT.RADIO);
-		horizontalButton.setText ("SWT.HORIZONTAL");
-		verticalButton = new Button (styleGroup, SWT.RADIO);
-		verticalButton.setText ("SWT.VERTICAL");
-		borderButton = new Button (styleGroup, SWT.CHECK);
-		borderButton.setText ("SWT.BORDER");
-		flatButton = new Button (styleGroup, SWT.CHECK);
-		flatButton.setText ("SWT.FLAT");
-		Group itemGroup = new Group(styleGroup, SWT.NONE);
-		itemGroup.setLayout (new GridLayout ());
-		itemGroup.setLayoutData (new GridData (GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));
-		itemGroup.setText(ControlExample.getResourceString("Item_Styles"));
-		dropDownButton = new Button (itemGroup, SWT.CHECK);
-		dropDownButton.setText ("SWT.DROP_DOWN");
-	}
-	
-	/**
-	 * Disposes the "Example" widgets.
-	 */
-	void disposeExampleWidgets () {
-		/* store the state of the toolbar if applicable */
-		if (coolBar != null) {
-			sizes = coolBar.getItemSizes();
-			wrapIndices = coolBar.getWrapIndices();
-			order = coolBar.getItemOrder();
-		}
-		super.disposeExampleWidgets();	
-	}
-
-	/**
-	 * Gets the "Example" widget children's items, if any.
-	 *
-	 * @return an array containing the example widget children's items
-	 */
-	Item [] getExampleWidgetItems () {
-		return coolBar.getItems();
-	}
-	
-	/**
-	 * Gets the "Example" widget children.
-	 */
-	Widget [] getExampleWidgets () {
-		return new Widget [] {coolBar};
-	}
-	
-	/**
-	 * Returns a list of set/get API method names (without the set/get prefix)
-	 * that can be used to set/get values in the example control(s).
-	 */
-	String[] getMethodNames() {
-		return new String[] {"ToolTipText"};
-	}
-
-	/**
-	 * Gets the short text for the tab folder item.
-	 */
-	String getShortTabText() {
-		return "CB";
-	}
-
-	/**
-	 * Gets the text for the tab folder item.
-	 */
-	String getTabText () {
-		return "CoolBar";
-	}
-	
-	/**
-	 * Sets the state of the "Example" widgets.
-	 */
-	void setExampleWidgetState () {
-		super.setExampleWidgetState ();
-		horizontalButton.setSelection ((coolBar.getStyle () & SWT.HORIZONTAL) != 0);
-		verticalButton.setSelection ((coolBar.getStyle () & SWT.VERTICAL) != 0);
-		borderButton.setSelection ((coolBar.getStyle () & SWT.BORDER) != 0);
-		flatButton.setSelection ((coolBar.getStyle () & SWT.FLAT) != 0);
-		dropDownButton.setSelection ((coolBar.getItem(0).getStyle () & SWT.DROP_DOWN) != 0);
-		lockedButton.setSelection(coolBar.getLocked());
-		if (!instance.startup) setWidgetLocked ();
-	}
-	
-	/**
-	 * Sets the header visible state of the "Example" widgets.
-	 */
-	void setWidgetLocked () {
-		coolBar.setLocked (lockedButton.getSelection ());
-	}
-	
-	/**
-	 * Listens to widgetSelected() events on SWT.DROP_DOWN type ToolItems
-	 * and opens/closes a menu when appropriate.
-	 */
-	class DropDownSelectionListener extends SelectionAdapter {
-		private Menu menu = null;
-		private boolean visible = false;
-		
-		public void widgetSelected(SelectionEvent event) {
-			// Create the menu if it has not already been created
-			if (menu == null) {
-				// Lazy create the menu.
-				menu = new Menu(shell);
-				menu.addMenuListener(new MenuAdapter() {
-					public void menuHidden(MenuEvent e) {
-						visible = false;
-					}
-				});
-				for (int i = 0; i < 9; ++i) {
-					final String text = ControlExample.getResourceString("DropDownData_" + i);
-					if (text.length() != 0) {
-						MenuItem menuItem = new MenuItem(menu, SWT.NONE);
-						menuItem.setText(text);
-						/*
-						 * Add a menu selection listener so that the menu is hidden
-						 * when the user selects an item from the drop down menu.
-						 */
-						menuItem.addSelectionListener(new SelectionAdapter() {
-							public void widgetSelected(SelectionEvent e) {
-								setMenuVisible(false);
-							}
-						});
-					} else {
-						new MenuItem(menu, SWT.SEPARATOR);
-					}
-				}
-			}
-			
-			/**
-			 * A selection event will be fired when a drop down tool
-			 * item is selected in the main area and in the drop
-			 * down arrow.  Examine the event detail to determine
-			 * where the widget was selected.
-			 */		
-			if (event.detail == SWT.ARROW) {
-				/*
-				 * The drop down arrow was selected.
-				 */
-				if (visible) {
-					// Hide the menu to give the Arrow the appearance of being a toggle button.
-					setMenuVisible(false);
-				} else {	
-					// Position the menu below and vertically aligned with the the drop down tool button.
-					final ToolItem toolItem = (ToolItem) event.widget;
-					final ToolBar  toolBar = toolItem.getParent();
-					
-					Rectangle toolItemBounds = toolItem.getBounds();
-					Point point = toolBar.toDisplay(new Point(toolItemBounds.x, toolItemBounds.y));
-					menu.setLocation(point.x, point.y + toolItemBounds.height);
-					setMenuVisible(true);
-				}
-			} else {
-				/*
-				 * Main area of drop down tool item selected.
-				 * An application would invoke the code to perform the action for the tool item.
-				 */
-			}
-		}
-		private void setMenuVisible(boolean visible) {
-			menu.setVisible(visible);
-			this.visible = visible;
-		}
-	}
-
-	/**
-	 * Listens to widgetSelected() events on SWT.DROP_DOWN type CoolItems
-	 * and opens/closes a menu when appropriate.
-	 */
-	class CoolItemSelectionListener extends SelectionAdapter {
-		private Menu menu = null;
-		
-		public void widgetSelected(SelectionEvent event) {
-			/**
-			 * A selection event will be fired when the cool item
-			 * is selected by its gripper or if the drop down arrow
-			 * (or 'chevron') is selected. Examine the event detail
-			 * to determine where the widget was selected.
-			 */
-			if (event.detail == SWT.ARROW) {
-				/* If the popup menu is already up (i.e. user pressed arrow twice),
-				 * then dispose it.
-				 */
-				if (menu != null) {
-					menu.dispose();
-					menu = null;
-					return;
-				}
-				
-				/* Get the cool item and convert its bounds to display coordinates. */
-				CoolItem coolItem = (CoolItem) event.widget;
-				Rectangle itemBounds = coolItem.getBounds ();
-				itemBounds.width = event.x - itemBounds.x;
-				Point pt = coolBar.toDisplay(new Point (itemBounds.x, itemBounds.y));
-				itemBounds.x = pt.x;
-				itemBounds.y = pt.y;
-				
-				/* Get the toolbar from the cool item. */
-				ToolBar toolBar = (ToolBar) coolItem.getControl ();
-				ToolItem[] tools = toolBar.getItems ();
-				int toolCount = tools.length;
-								
-				/* Convert the bounds of each tool item to display coordinates,
-				 * and determine which ones are past the bounds of the cool item.
-				 */
-				int i = 0;
-				while (i < toolCount) {
-					Rectangle toolBounds = tools[i].getBounds ();
-					pt = toolBar.toDisplay(new Point(toolBounds.x, toolBounds.y));
-					toolBounds.x = pt.x;
-					toolBounds.y = pt.y;
-			  		Rectangle intersection = itemBounds.intersection (toolBounds);
-			  		if (!intersection.equals (toolBounds)) break;
-			  		i++;
-				}
-				
-				/* Create a pop-up menu with items for each of the hidden buttons. */
-				menu = new Menu (coolBar);
-				for (int j = i; j < toolCount; j++) {
-					ToolItem tool = tools[j];
-					Image image = tool.getImage();
-					if (image == null) {
-						new MenuItem (menu, SWT.SEPARATOR);
-					} else {
-						if ((tool.getStyle() & SWT.DROP_DOWN) != 0) {
-							MenuItem menuItem = new MenuItem (menu, SWT.CASCADE);
-							menuItem.setImage(image);
-							String text = tool.getToolTipText();
-							if (text != null) menuItem.setText(text);
-							Menu m = new Menu(menu);
-							menuItem.setMenu(m);
-							for (int k = 0; k < 9; ++k) {
-								text = ControlExample.getResourceString("DropDownData_" + k);
-								if (text.length() != 0) {
-									MenuItem mi = new MenuItem(m, SWT.NONE);
-									mi.setText(text);
-									/* Application code to perform the action for the submenu item would go here. */
-								} else {
-									new MenuItem(m, SWT.SEPARATOR);
-								}
-							}
-						} else {
-							MenuItem menuItem = new MenuItem (menu, SWT.NONE);
-							menuItem.setImage(image);
-							String text = tool.getToolTipText();
-							if (text != null) menuItem.setText(text);
-						}
-						/* Application code to perform the action for the menu item would go here. */
-					}
-				}
-				
-				/* Display the pop-up menu at the lower left corner of the arrow button.
-				 * Dispose the menu when the user is done with it.
-				 */
-				pt = coolBar.toDisplay(new Point(event.x, event.y));
-				menu.setLocation (pt.x, pt.y);
-				menu.setVisible (true);
-				while (menu != null && !menu.isDisposed() && menu.isVisible ()) {
-					if (!display.readAndDispatch ()) display.sleep ();
-				}
-				if (menu != null) {
-					menu.dispose ();
-					menu = null;
-				}
-			}
-		}
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/CustomControlExample.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/CustomControlExample.java
deleted file mode 100644
index e9645f3..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/CustomControlExample.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.swt.examples.controlexample;
-
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-
-public class CustomControlExample extends ControlExample {
-
-	/**
-	 * Creates an instance of a CustomControlExample embedded
-	 * inside the supplied parent Composite.
-	 * 
-	 * @param parent the container of the example
-	 */
-	public CustomControlExample(Composite parent) {
-		super (parent);
-	}
-	
-	/**
-	 * Answers the set of example Tabs
-	 */
-	Tab[] createTabs() {
-		return new Tab [] {
-			new CComboTab (this),
-			new CLabelTab (this),
-			new CTabFolderTab (this),
-			new SashFormTab (this),
-			new StyledTextTab (this),
-		};
-	}
-	
-	/**
-	 * Invokes as a standalone program.
-	 */
-	public static void main(String[] args) {
-		Display display = new Display();
-		Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		CustomControlExample instance = new CustomControlExample(shell);
-		shell.setText(getResourceString("custom.window.title"));
-		setShellSize(instance, shell);
-		shell.open();
-		while (! shell.isDisposed()) {
-			if (! display.readAndDispatch()) display.sleep();
-		}
-		instance.dispose();
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/DateTimeTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/DateTimeTab.java
deleted file mode 100644
index 3b5cb36..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/DateTimeTab.java
+++ /dev/null
@@ -1,125 +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.swt.examples.controlexample;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-
-class DateTimeTab extends Tab {
-	/* Example widgets and groups that contain them */
-	DateTime dateTime1;
-	Group dateTimeGroup;
-	
-	/* Style widgets added to the "Style" group */
-	Button dateButton, timeButton, calendarButton, shortButton, mediumButton, longButton;
-	
-	/**
-	 * Creates the Tab within a given instance of ControlExample.
-	 */
-	DateTimeTab(ControlExample instance) {
-		super(instance);
-	}
-	
-	/**
-	 * Creates the "Example" group.
-	 */
-	void createExampleGroup () {
-		super.createExampleGroup ();
-		
-		/* Create a group for the list */
-		dateTimeGroup = new Group (exampleGroup, SWT.NONE);
-		dateTimeGroup.setLayout (new GridLayout ());
-		dateTimeGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true));
-		dateTimeGroup.setText ("DateTime");
-	}
-	
-	/**
-	 * Creates the "Example" widgets.
-	 */
-	void createExampleWidgets () {
-		
-		/* Compute the widget style */
-		int style = getDefaultStyle();
-		if (dateButton.getSelection ()) style |= SWT.DATE;
-		if (timeButton.getSelection ()) style |= SWT.TIME;
-		if (calendarButton.getSelection ()) style |= SWT.CALENDAR;
-		if (shortButton.getSelection ()) style |= SWT.SHORT;
-		if (mediumButton.getSelection ()) style |= SWT.MEDIUM;
-		if (longButton.getSelection ()) style |= SWT.LONG;
-		if (borderButton.getSelection ()) style |= SWT.BORDER;
-	
-		/* Create the example widgets */		
-		dateTime1 = new DateTime (dateTimeGroup, style);
-	}
-	
-	/**
-	 * Creates the "Style" group.
-	 */
-	void createStyleGroup() {
-		super.createStyleGroup ();
-		
-		/* Create the extra widgets */
-		dateButton = new Button(styleGroup, SWT.RADIO);
-		dateButton.setText("SWT.DATE");
-		timeButton = new Button(styleGroup, SWT.RADIO);
-		timeButton.setText("SWT.TIME");
-		calendarButton = new Button(styleGroup, SWT.RADIO);
-		calendarButton.setText("SWT.CALENDAR");
-		Group formatGroup = new Group(styleGroup, SWT.NONE);
-		formatGroup.setLayout(new GridLayout());
-		shortButton = new Button(formatGroup, SWT.RADIO);
-		shortButton.setText("SWT.SHORT");
-		mediumButton = new Button(formatGroup, SWT.RADIO);
-		mediumButton.setText("SWT.MEDIUM");
-		longButton = new Button(formatGroup, SWT.RADIO);
-		longButton.setText("SWT.LONG");
-		borderButton = new Button(styleGroup, SWT.CHECK);
-		borderButton.setText("SWT.BORDER");
-	}
-	
-	/**
-	 * Gets the "Example" widget children.
-	 */
-	Widget [] getExampleWidgets () {
-		return new Widget [] {dateTime1};
-	}
-	
-	/**
-	 * Returns a list of set/get API method names (without the set/get prefix)
-	 * that can be used to set/get values in the example control(s).
-	 */
-	String[] getMethodNames() {
-		return new String[] {"Day", "Hours", "Minutes", "Month", "Seconds", "Year"};
-	}
-	
-	/**
-	 * Gets the text for the tab folder item.
-	 */
-	String getTabText () {
-		return "DateTime";
-	}
-
-	/**
-	 * Sets the state of the "Example" widgets.
-	 */
-	void setExampleWidgetState () {
-		super.setExampleWidgetState ();
-		dateButton.setSelection ((dateTime1.getStyle () & SWT.DATE) != 0);
-		timeButton.setSelection ((dateTime1.getStyle () & SWT.TIME) != 0);
-		calendarButton.setSelection ((dateTime1.getStyle () & SWT.CALENDAR) != 0);
-		shortButton.setSelection ((dateTime1.getStyle () & SWT.SHORT) != 0);
-		mediumButton.setSelection ((dateTime1.getStyle () & SWT.MEDIUM) != 0);
-		longButton.setSelection ((dateTime1.getStyle () & SWT.LONG) != 0);
-		borderButton.setSelection ((dateTime1.getStyle () & SWT.BORDER) != 0);
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/DialogTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/DialogTab.java
deleted file mode 100755
index 79b83db..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/DialogTab.java
+++ /dev/null
@@ -1,488 +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.swt.examples.controlexample;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.printing.*;
-import org.eclipse.swt.events.*;
-
-class DialogTab extends Tab {
-	/* Example widgets and groups that contain them */
-	Group dialogStyleGroup, resultGroup;
-	Text textWidget;
-	
-	/* Style widgets added to the "Style" group */
-	Combo dialogCombo;
-	Button createButton;
-	Button okButton, cancelButton;
-	Button yesButton, noButton;
-	Button retryButton;
-	Button abortButton, ignoreButton;
-	Button iconErrorButton, iconInformationButton, iconQuestionButton;
-	Button iconWarningButton, iconWorkingButton, noIconButton;
-	Button primaryModalButton, applicationModalButton, systemModalButton;
-	Button saveButton, openButton, multiButton;
-
-	static String [] FilterExtensions	= {"*.txt", "*.bat", "*.doc", "*"};
-	static String [] FilterNames		= {ControlExample.getResourceString("FilterName_0"),
-										   ControlExample.getResourceString("FilterName_1"),
-										   ControlExample.getResourceString("FilterName_2"),
-										   ControlExample.getResourceString("FilterName_3")};
-
-	/**
-	 * Creates the Tab within a given instance of ControlExample.
-	 */
-	DialogTab(ControlExample instance) {
-		super(instance);
-	}
-
-	/**
-	 * Handle a button style selection event.
-	 *
-	 * @param event the selection event
-	 */
-	void buttonStyleSelected(SelectionEvent event) {
-		/*
-		 * Only certain combinations of button styles are
-		 * supported for various dialogs.  Make sure the
-		 * control widget reflects only valid combinations.
-		 */
-		boolean ok = okButton.getSelection ();
-		boolean cancel = cancelButton.getSelection ();
-		boolean yes = yesButton.getSelection ();
-		boolean no = noButton.getSelection ();
-		boolean abort = abortButton.getSelection ();
-		boolean retry = retryButton.getSelection ();
-		boolean ignore = ignoreButton.getSelection ();
-		
-		okButton.setEnabled (!(yes || no || retry || abort || ignore));
-		cancelButton.setEnabled (!(abort || ignore || (yes != no)));
-		yesButton.setEnabled (!(ok || retry || abort || ignore || (cancel && !yes && !no)));
-		noButton.setEnabled (!(ok || retry || abort || ignore || (cancel && !yes && !no)));
-		retryButton.setEnabled (!(ok || yes || no));
-		abortButton.setEnabled (!(ok || cancel || yes || no));
-		ignoreButton.setEnabled (!(ok || cancel || yes || no));
-		
-		createButton.setEnabled (
-				!(ok || cancel || yes || no || retry || abort || ignore) ||
-				ok ||
-				(ok && cancel) ||
-				(yes && no) ||
-				(yes && no && cancel) ||
-				(retry && cancel) ||
-				(abort && retry && ignore));
-		
-
-	}
-	
-	/**
-	 * Handle the create button selection event.
-	 *
-	 * @param event org.eclipse.swt.events.SelectionEvent
-	 */
-	void createButtonSelected(SelectionEvent event) {
-	
-		/* Compute the appropriate dialog style */
-		int style = getDefaultStyle();
-		if (okButton.getEnabled () && okButton.getSelection ()) style |= SWT.OK;
-		if (cancelButton.getEnabled () && cancelButton.getSelection ()) style |= SWT.CANCEL;
-		if (yesButton.getEnabled () && yesButton.getSelection ()) style |= SWT.YES;
-		if (noButton.getEnabled () && noButton.getSelection ()) style |= SWT.NO;
-		if (retryButton.getEnabled () && retryButton.getSelection ()) style |= SWT.RETRY;
-		if (abortButton.getEnabled () && abortButton.getSelection ()) style |= SWT.ABORT;
-		if (ignoreButton.getEnabled () && ignoreButton.getSelection ()) style |= SWT.IGNORE;
-		if (iconErrorButton.getEnabled () && iconErrorButton.getSelection ()) style |= SWT.ICON_ERROR;
-		if (iconInformationButton.getEnabled () && iconInformationButton.getSelection ()) style |= SWT.ICON_INFORMATION;
-		if (iconQuestionButton.getEnabled () && iconQuestionButton.getSelection ()) style |= SWT.ICON_QUESTION;
-		if (iconWarningButton.getEnabled () && iconWarningButton.getSelection ()) style |= SWT.ICON_WARNING;
-		if (iconWorkingButton.getEnabled () && iconWorkingButton.getSelection ()) style |= SWT.ICON_WORKING;
-		if (primaryModalButton.getEnabled () && primaryModalButton.getSelection ()) style |= SWT.PRIMARY_MODAL;
-		if (applicationModalButton.getEnabled () && applicationModalButton.getSelection ()) style |= SWT.APPLICATION_MODAL;
-		if (systemModalButton.getEnabled () && systemModalButton.getSelection ()) style |= SWT.SYSTEM_MODAL;
-		if (saveButton.getEnabled () && saveButton.getSelection ()) style |= SWT.SAVE;
-		if (openButton.getEnabled () && openButton.getSelection ()) style |= SWT.OPEN;
-		if (multiButton.getEnabled () && multiButton.getSelection ()) style |= SWT.MULTI;
-	
-		/* Open the appropriate dialog type */
-		String name = dialogCombo.getText ();
-		
-		if (name.equals (ControlExample.getResourceString("ColorDialog"))) {
-			ColorDialog dialog = new ColorDialog (shell ,style);
-			dialog.setRGB (new RGB (100, 100, 100));
-			dialog.setText (ControlExample.getResourceString("Title"));
-			RGB result = dialog.open ();
-			textWidget.append (ControlExample.getResourceString("ColorDialog") + Text.DELIMITER);
-			textWidget.append (ControlExample.getResourceString("Result", new String [] {"" + result}) + Text.DELIMITER + Text.DELIMITER);
-			return;
-		}
-		
-		if (name.equals (ControlExample.getResourceString("DirectoryDialog"))) {
-			DirectoryDialog dialog = new DirectoryDialog (shell, style);
-			dialog.setMessage (ControlExample.getResourceString("Example_string"));
-			dialog.setText (ControlExample.getResourceString("Title"));
-			String result = dialog.open ();
-			textWidget.append (ControlExample.getResourceString("DirectoryDialog") + Text.DELIMITER);
-			textWidget.append (ControlExample.getResourceString("Result", new String [] {"" + result}) + Text.DELIMITER + Text.DELIMITER);
-			return;
-		}
-		
-		if (name.equals (ControlExample.getResourceString("FileDialog"))) {
-			FileDialog dialog = new FileDialog (shell, style);
-			dialog.setFileName (ControlExample.getResourceString("readme_txt"));
-			dialog.setFilterNames (FilterNames);
-			dialog.setFilterExtensions (FilterExtensions);
-			dialog.setText (ControlExample.getResourceString("Title"));
-			String result = dialog.open();
-			textWidget.append (ControlExample.getResourceString("FileDialog") + Text.DELIMITER);
-			textWidget.append (ControlExample.getResourceString("Result", new String [] {"" + result}) + Text.DELIMITER);
-			if ((dialog.getStyle () & SWT.MULTI) != 0) {
-				String [] files = dialog.getFileNames ();
-				for (int i=0; i<files.length; i++) {
-					textWidget.append ("\t" + files [i] + Text.DELIMITER);
-				}
-			}
-			textWidget.append (Text.DELIMITER);
-			return;
-		}
-		
-		if (name.equals (ControlExample.getResourceString("FontDialog"))) {
-			FontDialog dialog = new FontDialog (shell, style);
-			dialog.setText (ControlExample.getResourceString("Title"));
-			FontData result = dialog.open ();
-			textWidget.append (ControlExample.getResourceString("FontDialog") + Text.DELIMITER);
-			textWidget.append (ControlExample.getResourceString("Result", new String [] {"" + result}) + Text.DELIMITER + Text.DELIMITER);
-			return;
-		}
-		
-		if (name.equals (ControlExample.getResourceString("PrintDialog"))) {
-			PrintDialog dialog = new PrintDialog (shell, style);
-			dialog.setText(ControlExample.getResourceString("Title"));
-			PrinterData result = dialog.open ();
-			textWidget.append (ControlExample.getResourceString("PrintDialog") + Text.DELIMITER);
-			textWidget.append (ControlExample.getResourceString("Result", new String [] {"" + result}) + Text.DELIMITER + Text.DELIMITER);
-			return;
-		}
-	
-		if (name.equals(ControlExample.getResourceString("MessageBox"))) {
-			MessageBox dialog = new MessageBox (shell, style);
-			dialog.setMessage (ControlExample.getResourceString("Example_string"));
-			dialog.setText (ControlExample.getResourceString("Title"));
-			int result = dialog.open ();
-			textWidget.append (ControlExample.getResourceString("MessageBox") + Text.DELIMITER);
-			/*
-			 * The resulting integer depends on the original
-			 * dialog style.  Decode the result and display it.
-			 */
-			switch (result) {
-				case SWT.OK:
-					textWidget.append (ControlExample.getResourceString("Result", new String [] {"SWT.OK"}));
-					break;
-				case SWT.YES:
-					textWidget.append (ControlExample.getResourceString("Result", new String [] {"SWT.YES"}));
-					break;
-				case SWT.NO:
-					textWidget.append (ControlExample.getResourceString("Result", new String [] {"SWT.NO"}));
-					break;
-				case SWT.CANCEL:
-					textWidget.append (ControlExample.getResourceString("Result", new String [] {"SWT.CANCEL"}));
-					break;
-				case SWT.ABORT: 
-					textWidget.append (ControlExample.getResourceString("Result", new String [] {"SWT.ABORT"}));
-					break;
-				case SWT.RETRY:
-					textWidget.append (ControlExample.getResourceString("Result", new String [] {"SWT.RETRY"}));
-					break;
-				case SWT.IGNORE:
-					textWidget.append (ControlExample.getResourceString("Result", new String [] {"SWT.IGNORE"}));
-					break;
-				default:
-					textWidget.append(ControlExample.getResourceString("Result", new String [] {"" + result}));
-					break;
-			}
-			textWidget.append (Text.DELIMITER + Text.DELIMITER);
-		}
-	}
-	
-	/**
-	 * Creates the "Control" group. 
-	 */
-	void createControlGroup () {
-		/*
-		 * Create the "Control" group.  This is the group on the
-		 * right half of each example tab.  It consists of the
-		 * style group, the display group and the size group.
-		 */			
-		controlGroup = new Group (tabFolderPage, SWT.NONE);
-		GridLayout gridLayout= new GridLayout ();
-		controlGroup.setLayout(gridLayout);
-		gridLayout.numColumns = 2;
-		gridLayout.makeColumnsEqualWidth = true;
-		controlGroup.setLayoutData (new GridData (GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));
-		controlGroup.setText (ControlExample.getResourceString("Parameters"));
-		
-		/*
-		 * Create a group to hold the dialog style combo box and
-		 * create dialog button.
-		 */
-		dialogStyleGroup = new Group (controlGroup, SWT.NONE);
-		dialogStyleGroup.setLayout (new GridLayout ());
-		GridData gridData = new GridData (GridData.HORIZONTAL_ALIGN_CENTER);
-		gridData.horizontalSpan = 2;
-		dialogStyleGroup.setLayoutData (gridData);
-		dialogStyleGroup.setText (ControlExample.getResourceString("Dialog_Type"));
-	}
-	
-	/**
-	 * Creates the "Control" widget children.
-	 */
-	void createControlWidgets () {
-	
-		/* Create the combo */
-		String [] strings = {
-			ControlExample.getResourceString("ColorDialog"), 
-			ControlExample.getResourceString("DirectoryDialog"),
-			ControlExample.getResourceString("FileDialog"),
-			ControlExample.getResourceString("FontDialog"),
-			ControlExample.getResourceString("PrintDialog"),
-			ControlExample.getResourceString("MessageBox"),
-		};
-		dialogCombo = new Combo (dialogStyleGroup, SWT.READ_ONLY);
-		dialogCombo.setItems (strings);
-		dialogCombo.setText (strings [0]);
-		dialogCombo.setVisibleItemCount(strings.length);
-	
-		/* Create the create dialog button */
-		createButton = new Button(dialogStyleGroup, SWT.NONE);
-		createButton.setText (ControlExample.getResourceString("Create_Dialog"));
-		createButton.setLayoutData (new GridData(GridData.HORIZONTAL_ALIGN_CENTER));
-	
-		/* Create a group for the various dialog button style controls */
-		Group buttonStyleGroup = new Group (controlGroup, SWT.NONE);
-		buttonStyleGroup.setLayout (new GridLayout ());
-		buttonStyleGroup.setLayoutData (new GridData (GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));
-		buttonStyleGroup.setText (ControlExample.getResourceString("Button_Styles"));
-	
-		/* Create the button style buttons */
-		okButton = new Button (buttonStyleGroup, SWT.CHECK);
-		okButton.setText ("SWT.OK");
-		cancelButton = new Button (buttonStyleGroup, SWT.CHECK);
-		cancelButton.setText ("SWT.CANCEL");
-		yesButton = new Button (buttonStyleGroup, SWT.CHECK);
-		yesButton.setText ("SWT.YES");
-		noButton = new Button (buttonStyleGroup, SWT.CHECK);
-		noButton.setText ("SWT.NO");
-		retryButton = new Button (buttonStyleGroup, SWT.CHECK);
-		retryButton.setText ("SWT.RETRY");
-		abortButton = new Button (buttonStyleGroup, SWT.CHECK);
-		abortButton.setText ("SWT.ABORT");
-		ignoreButton = new Button (buttonStyleGroup, SWT.CHECK);
-		ignoreButton.setText ("SWT.IGNORE");
-	
-		/* Create a group for the icon style controls */
-		Group iconStyleGroup = new Group (controlGroup, SWT.NONE);
-		iconStyleGroup.setLayout (new GridLayout ());
-		iconStyleGroup.setLayoutData (new GridData (GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));
-		iconStyleGroup.setText (ControlExample.getResourceString("Icon_Styles"));
-	
-		/* Create the icon style buttons */
-		iconErrorButton = new Button (iconStyleGroup, SWT.RADIO);
-		iconErrorButton.setText ("SWT.ICON_ERROR");
-		iconInformationButton = new Button (iconStyleGroup, SWT.RADIO);
-		iconInformationButton.setText ("SWT.ICON_INFORMATION");
-		iconQuestionButton = new Button (iconStyleGroup, SWT.RADIO);
-		iconQuestionButton.setText ("SWT.ICON_QUESTION");
-		iconWarningButton = new Button (iconStyleGroup, SWT.RADIO);
-		iconWarningButton.setText ("SWT.ICON_WARNING");
-		iconWorkingButton = new Button (iconStyleGroup, SWT.RADIO);
-		iconWorkingButton.setText ("SWT.ICON_WORKING");
-		noIconButton = new Button (iconStyleGroup, SWT.RADIO);
-		noIconButton.setText (ControlExample.getResourceString("No_Icon"));
-		
-		/* Create a group for the modal style controls */
-		Group modalStyleGroup = new Group (controlGroup, SWT.NONE);
-		modalStyleGroup.setLayout (new GridLayout ());
-		modalStyleGroup.setLayoutData (new GridData (GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));
-		modalStyleGroup.setText (ControlExample.getResourceString("Modal_Styles"));
-	
-		/* Create the modal style buttons */
-		primaryModalButton = new Button (modalStyleGroup, SWT.RADIO);
-		primaryModalButton.setText ("SWT.PRIMARY_MODAL");
-		applicationModalButton = new Button (modalStyleGroup, SWT.RADIO);
-		applicationModalButton.setText ("SWT.APPLICATION_MODAL");
-		systemModalButton = new Button (modalStyleGroup, SWT.RADIO);
-		systemModalButton.setText ("SWT.SYSTEM_MODAL");
-	
-		/* Create a group for the file dialog style controls */
-		Group fileDialogStyleGroup = new Group (controlGroup, SWT.NONE);
-		fileDialogStyleGroup.setLayout (new GridLayout ());
-		fileDialogStyleGroup.setLayoutData (new GridData (GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));
-		fileDialogStyleGroup.setText (ControlExample.getResourceString("File_Dialog_Styles"));
-	
-		/* Create the file dialog style buttons */
-		openButton = new Button(fileDialogStyleGroup, SWT.RADIO);
-		openButton.setText("SWT.OPEN");
-		saveButton = new Button (fileDialogStyleGroup, SWT.RADIO);
-		saveButton.setText ("SWT.SAVE");
-		multiButton = new Button(fileDialogStyleGroup, SWT.CHECK);
-		multiButton.setText("SWT.MULTI");
-	
-		/* Create the orientation group */
-		if (RTL_SUPPORT_ENABLE) {
-			createOrientationGroup();
-		}
-		
-		/* Add the listeners */
-		dialogCombo.addSelectionListener (new SelectionAdapter () {
-			public void widgetSelected (SelectionEvent event) {
-				dialogSelected (event);
-			}
-		});
-		createButton.addSelectionListener (new SelectionAdapter () {
-			public void widgetSelected (SelectionEvent event) {
-				createButtonSelected (event);
-			}
-		});
-		SelectionListener buttonStyleListener = new SelectionAdapter () {
-			public void widgetSelected (SelectionEvent event) {
-				buttonStyleSelected (event);
-			}
-		};
-		okButton.addSelectionListener (buttonStyleListener);
-		cancelButton.addSelectionListener (buttonStyleListener);
-		yesButton.addSelectionListener (buttonStyleListener);
-		noButton.addSelectionListener (buttonStyleListener);
-		retryButton.addSelectionListener (buttonStyleListener);
-		abortButton.addSelectionListener (buttonStyleListener);
-		ignoreButton.addSelectionListener (buttonStyleListener);
-	
-		/* Set default values for style buttons */
-		okButton.setEnabled (false);
-		cancelButton.setEnabled (false);
-		yesButton.setEnabled (false);
-		noButton.setEnabled (false);
-		retryButton.setEnabled (false);
-		abortButton.setEnabled (false);
-		ignoreButton.setEnabled (false);
-		iconErrorButton.setEnabled (false);
-		iconInformationButton.setEnabled (false);
-		iconQuestionButton.setEnabled (false);
-		iconWarningButton.setEnabled (false);
-		iconWorkingButton.setEnabled (false);
-		noIconButton.setEnabled (false);
-		saveButton.setEnabled (false);
-		openButton.setEnabled (false);
-		openButton.setSelection (true);
-		multiButton.setEnabled (false);
-		noIconButton.setSelection (true);
-	}
-	
-	/**
-	 * Creates the "Example" group.
-	 */
-	void createExampleGroup () {
-		super.createExampleGroup ();
-		exampleGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true));
-		
-		/*
-		 * Create a group for the text widget to display
-		 * the results returned by the example dialogs.
-		 */
-		resultGroup = new Group (exampleGroup, SWT.NONE);
-		resultGroup.setLayout (new GridLayout ());
-		resultGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true));
-		resultGroup.setText (ControlExample.getResourceString("Dialog_Result"));
-	}
-	
-	/**
-	 * Creates the "Example" widgets.
-	 */
-	void createExampleWidgets () {
-		/*
-		 * Create a multi lined, scrolled text widget for output.
-		 */
-		textWidget = new Text(resultGroup, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
-		GridData gridData = new GridData (GridData.FILL_BOTH);
-		textWidget.setLayoutData (gridData);	
-	}
-	
-	/**
-	 * The platform dialogs do not have SWT listeners.
-	 */
-	void createListenersGroup () {
-	}
-
-	/**
-	 * Handle a dialog type combo selection event.
-	 *
-	 * @param event the selection event
-	 */
-	void dialogSelected (SelectionEvent event) {
-	
-		/* Enable/Disable the buttons */
-		String name = dialogCombo.getText ();
-		boolean isMessageBox = name.equals (ControlExample.getResourceString("MessageBox"));
-		boolean isFileDialog = name.equals (ControlExample.getResourceString("FileDialog"));
-		okButton.setEnabled (isMessageBox);
-		cancelButton.setEnabled (isMessageBox);
-		yesButton.setEnabled (isMessageBox);
-		noButton.setEnabled (isMessageBox);
-		retryButton.setEnabled (isMessageBox);
-		abortButton.setEnabled (isMessageBox);
-		ignoreButton.setEnabled (isMessageBox);
-		iconErrorButton.setEnabled (isMessageBox);
-		iconInformationButton.setEnabled (isMessageBox);
-		iconQuestionButton.setEnabled (isMessageBox);
-		iconWarningButton.setEnabled (isMessageBox);
-		iconWorkingButton.setEnabled (isMessageBox);
-		noIconButton.setEnabled (isMessageBox);
-		saveButton.setEnabled (isFileDialog);
-		openButton.setEnabled (isFileDialog);
-		multiButton.setEnabled (isFileDialog);
-	
-		/* Unselect the buttons */
-		if (!isMessageBox) {
-			okButton.setSelection (false);
-			cancelButton.setSelection (false);
-			yesButton.setSelection (false);
-			noButton.setSelection (false);
-			retryButton.setSelection (false);
-			abortButton.setSelection (false);
-			ignoreButton.setSelection (false);
-		}
-	}
-	
-	/**
-	 * Gets the "Example" widget children.
-	 */
-	Widget [] getExampleWidgets () {
-		return new Widget [0];
-	}
-	
-	/**
-	 * Gets the text for the tab folder item.
-	 */
-	String getTabText () {
-		return "Dialog";
-	}
-	
-	/**
-	 * Recreates the "Example" widgets.
-	 */
-	void recreateExampleWidgets () {
-		if (textWidget == null) {
-			super.recreateExampleWidgets ();
-		} 
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ExpandBarTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ExpandBarTab.java
deleted file mode 100644
index 1e1a25d..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ExpandBarTab.java
+++ /dev/null
@@ -1,145 +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.swt.examples.controlexample;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-
-class ExpandBarTab extends Tab {
-	/* Example widgets and groups that contain them */
-	ExpandBar expandBar1;
-	Group expandBarGroup;
-	
-	/* Style widgets added to the "Style" group */	
-	Button verticalButton;
-
-	/**
-	 * Creates the Tab within a given instance of ControlExample.
-	 */
-	ExpandBarTab(ControlExample instance) {
-		super(instance);
-	}
-	
-	/**
-	 * Creates the "Example" group.
-	 */
-	void createExampleGroup () {
-		super.createExampleGroup ();
-		
-		/* Create a group for the list */
-		expandBarGroup = new Group (exampleGroup, SWT.NONE);
-		expandBarGroup.setLayout (new GridLayout ());
-		expandBarGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true));
-		expandBarGroup.setText ("ExpandBar");
-	}
-	
-	/**
-	 * Creates the "Example" widgets.
-	 */
-	void createExampleWidgets () {
-		
-		/* Compute the widget style */
-		int style = getDefaultStyle();
-		if (borderButton.getSelection ()) style |= SWT.BORDER;
-		if (verticalButton.getSelection()) style |= SWT.V_SCROLL;
-	
-		/* Create the example widgets */		
-		expandBar1 = new ExpandBar (expandBarGroup, style);
-		
-		// First item
-		Composite composite = new Composite (expandBar1, SWT.NONE);
-		composite.setLayout(new GridLayout ());
-		new Button (composite, SWT.PUSH).setText("SWT.PUSH");
-		new Button (composite, SWT.RADIO).setText("SWT.RADIO");
-		new Button (composite, SWT.CHECK).setText("SWT.CHECK");
-		new Button (composite, SWT.TOGGLE).setText("SWT.TOGGLE");
-		ExpandItem item = new ExpandItem (expandBar1, SWT.NONE, 0);
-		item.setText(ControlExample.getResourceString("Item1_Text"));
-		item.setHeight(composite.computeSize(SWT.DEFAULT, SWT.DEFAULT).y);
-		item.setControl(composite);
-		item.setImage(instance.images[ControlExample.ciClosedFolder]);
-		
-		// Second item
-		composite = new Composite (expandBar1, SWT.NONE);
-		composite.setLayout(new GridLayout (2, false));	
-		new Label (composite, SWT.NONE).setImage(display.getSystemImage(SWT.ICON_ERROR));
-		new Label (composite, SWT.NONE).setText("SWT.ICON_ERROR");
-		new Label (composite, SWT.NONE).setImage(display.getSystemImage(SWT.ICON_INFORMATION));
-		new Label (composite, SWT.NONE).setText("SWT.ICON_INFORMATION");
-		new Label (composite, SWT.NONE).setImage(display.getSystemImage(SWT.ICON_WARNING));
-		new Label (composite, SWT.NONE).setText("SWT.ICON_WARNING");
-		new Label (composite, SWT.NONE).setImage(display.getSystemImage(SWT.ICON_QUESTION));
-		new Label (composite, SWT.NONE).setText("SWT.ICON_QUESTION");
-		item = new ExpandItem (expandBar1, SWT.NONE, 1);
-		item.setText(ControlExample.getResourceString("Item2_Text"));
-		item.setHeight(composite.computeSize(SWT.DEFAULT, SWT.DEFAULT).y);
-		item.setControl(composite);
-		item.setImage(instance.images[ControlExample.ciOpenFolder]);
-		item.setExpanded(true);
-	}
-	
-	/**
-	 * Creates the "Style" group.
-	 */
-	void createStyleGroup() {
-		super.createStyleGroup ();
-		
-		/* Create the extra widgets */
-		verticalButton = new Button (styleGroup, SWT.CHECK);
-		verticalButton.setText ("SWT.V_SCROLL");
-		verticalButton.setSelection(true);
-		borderButton = new Button(styleGroup, SWT.CHECK);
-		borderButton.setText("SWT.BORDER");
-	}
-	
-	/**
-	 * Gets the "Example" widget children.
-	 */
-	Widget [] getExampleWidgets () {
-		return new Widget [] {expandBar1};
-	}
-	
-	/**
-	 * Returns a list of set/get API method names (without the set/get prefix)
-	 * that can be used to set/get values in the example control(s).
-	 */
-	String[] getMethodNames() {
-		return new String[] {"Spacing"};
-	}
-	
-	/**
-	 * Gets the short text for the tab folder item.
-	 */
-	String getShortTabText() {
-		return "EB";
-	}
-
-	/**
-	 * Gets the text for the tab folder item.
-	 */
-	String getTabText () {
-		return "ExpandBar";
-	}
-
-	/**
-	 * Sets the state of the "Example" widgets.
-	 */
-	void setExampleWidgetState () {
-		super.setExampleWidgetState ();
-		Widget [] widgets = getExampleWidgets ();
-		if (widgets.length != 0){
-			verticalButton.setSelection ((widgets [0].getStyle () & SWT.V_SCROLL) != 0);
-			borderButton.setSelection ((widgets [0].getStyle () & SWT.BORDER) != 0);
-		}
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/GroupTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/GroupTab.java
deleted file mode 100644
index d657251..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/GroupTab.java
+++ /dev/null
@@ -1,154 +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.swt.examples.controlexample;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-class GroupTab extends Tab {
-	Button titleButton;
-	
-	/* Example widgets and groups that contain them */
-	Group group1;
-	Group groupGroup;
-	
-	/* Style widgets added to the "Style" group */
-	Button shadowEtchedInButton, shadowEtchedOutButton, shadowInButton, shadowOutButton, shadowNoneButton;
-
-	/**
-	 * Creates the Tab within a given instance of ControlExample.
-	 */
-	GroupTab(ControlExample instance) {
-		super(instance);
-	}
-	
-	/**
-	 * Creates the "Other" group.
-	 */
-	void createOtherGroup () {
-		super.createOtherGroup ();
-	
-		/* Create display controls specific to this example */
-		titleButton = new Button (otherGroup, SWT.CHECK);
-		titleButton.setText (ControlExample.getResourceString("Title_Text"));
-	
-		/* Add the listeners */
-		titleButton.addSelectionListener (new SelectionAdapter () {
-			public void widgetSelected (SelectionEvent event) {
-				setTitleText ();
-			}
-		});
-	}
-	
-	/**
-	 * Creates the "Example" group.
-	 */
-	void createExampleGroup () {
-		super.createExampleGroup ();
-		
-		/* Create a group for the Group */
-		groupGroup = new Group (exampleGroup, SWT.NONE);
-		groupGroup.setLayout (new GridLayout ());
-		groupGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true));
-		groupGroup.setText ("Group");
-	}
-	
-	/**
-	 * Creates the "Example" widgets.
-	 */
-	void createExampleWidgets () {
-		
-		/* Compute the widget style */
-		int style = getDefaultStyle();
-		if (shadowEtchedInButton.getSelection ()) style |= SWT.SHADOW_ETCHED_IN;
-		if (shadowEtchedOutButton.getSelection ()) style |= SWT.SHADOW_ETCHED_OUT;
-		if (shadowInButton.getSelection ()) style |= SWT.SHADOW_IN;
-		if (shadowOutButton.getSelection ()) style |= SWT.SHADOW_OUT;
-		if (shadowNoneButton.getSelection ()) style |= SWT.SHADOW_NONE;
-		if (borderButton.getSelection ()) style |= SWT.BORDER;
-
-		/* Create the example widgets */
-		group1 = new Group (groupGroup, style);
-	}
-	
-	/**
-	 * Creates the "Style" group.
-	 */
-	void createStyleGroup() {
-		super.createStyleGroup ();
-		
-		/* Create the extra widgets */
-		shadowEtchedInButton = new Button (styleGroup, SWT.RADIO);
-		shadowEtchedInButton.setText ("SWT.SHADOW_ETCHED_IN");
-		shadowEtchedInButton.setSelection(true);
-		shadowEtchedOutButton = new Button (styleGroup, SWT.RADIO);
-		shadowEtchedOutButton.setText ("SWT.SHADOW_ETCHED_OUT");
-		shadowInButton = new Button (styleGroup, SWT.RADIO);
-		shadowInButton.setText ("SWT.SHADOW_IN");
-		shadowOutButton = new Button (styleGroup, SWT.RADIO);
-		shadowOutButton.setText ("SWT.SHADOW_OUT");
-		shadowNoneButton = new Button (styleGroup, SWT.RADIO);
-		shadowNoneButton.setText ("SWT.SHADOW_NONE");
-		borderButton = new Button (styleGroup, SWT.CHECK);
-		borderButton.setText ("SWT.BORDER");
-	}
-	
-	/**
-	 * Gets the "Example" widget children.
-	 */
-	Widget [] getExampleWidgets () {
-		return new Widget [] {group1};
-	}
-	
-	/**
-	 * Returns a list of set/get API method names (without the set/get prefix)
-	 * that can be used to set/get values in the example control(s).
-	 */
-	String[] getMethodNames() {
-		return new String[] {"ToolTipText"};
-	}
-
-	/**
-	 * Gets the text for the tab folder item.
-	 */
-	String getTabText () {
-		return "Group";
-	}
-
-	/**
-	 * Sets the title text of the "Example" widgets.
-	 */
-	void setTitleText () {
-		if (titleButton.getSelection ()) {
-			group1.setText (ControlExample.getResourceString("Title_Text"));
-		} else {
-			group1.setText ("");
-		}
-		setExampleWidgetSize ();
-	}
-
-	/**
-	 * Sets the state of the "Example" widgets.
-	 */
-	void setExampleWidgetState () {
-		super.setExampleWidgetState ();
-		shadowEtchedInButton.setSelection ((group1.getStyle () & SWT.SHADOW_ETCHED_IN) != 0);
-		shadowEtchedOutButton.setSelection ((group1.getStyle () & SWT.SHADOW_ETCHED_OUT) != 0);
-		shadowInButton.setSelection ((group1.getStyle () & SWT.SHADOW_IN) != 0);
-		shadowOutButton.setSelection ((group1.getStyle () & SWT.SHADOW_OUT) != 0);
-		shadowNoneButton.setSelection ((group1.getStyle () & SWT.SHADOW_NONE) != 0);
-		borderButton.setSelection ((group1.getStyle () & SWT.BORDER) != 0);
-		if (!instance.startup) setTitleText ();
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/LabelTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/LabelTab.java
deleted file mode 100755
index 6a68ecb..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/LabelTab.java
+++ /dev/null
@@ -1,184 +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.swt.examples.controlexample;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-
-class LabelTab extends AlignableTab {
-	/* Example widgets and groups that contain them */
-	Label label1, label2, label3, label4, label5, label6;
-	Group textLabelGroup, imageLabelGroup;
-
-	/* Style widgets added to the "Style" group */
-	Button wrapButton, separatorButton, horizontalButton, verticalButton, shadowInButton, shadowOutButton, shadowNoneButton;
-	
-	/**
-	 * Creates the Tab within a given instance of ControlExample.
-	 */
-	LabelTab(ControlExample instance) {
-		super(instance);
-	}
-	
-	/**
-	 * Creates the "Example" group.
-	 */
-	void createExampleGroup () {
-		super.createExampleGroup ();
-		
-		/* Create a group for the text labels */
-		textLabelGroup = new Group(exampleGroup, SWT.NONE);
-		GridLayout gridLayout = new GridLayout ();
-		textLabelGroup.setLayout (gridLayout);
-		gridLayout.numColumns = 3;
-		textLabelGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true));
-		textLabelGroup.setText (ControlExample.getResourceString("Text_Labels"));
-	
-		/* Create a group for the image labels */
-		imageLabelGroup = new Group (exampleGroup, SWT.SHADOW_NONE);
-		gridLayout = new GridLayout ();
-		imageLabelGroup.setLayout (gridLayout);
-		gridLayout.numColumns = 3;
-		imageLabelGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true));
-		imageLabelGroup.setText (ControlExample.getResourceString("Image_Labels"));
-	}
-	
-	/**
-	 * Creates the "Example" widgets.
-	 */
-	void createExampleWidgets () {
-		
-		/* Compute the widget style */
-		int style = getDefaultStyle();
-		if (wrapButton.getSelection ()) style |= SWT.WRAP;
-		if (separatorButton.getSelection ()) style |= SWT.SEPARATOR;
-		if (horizontalButton.getSelection ()) style |= SWT.HORIZONTAL;
-		if (verticalButton.getSelection ()) style |= SWT.VERTICAL;
-		if (shadowInButton.getSelection ()) style |= SWT.SHADOW_IN;
-		if (shadowOutButton.getSelection ()) style |= SWT.SHADOW_OUT;
-		if (shadowNoneButton.getSelection ()) style |= SWT.SHADOW_NONE;
-		if (borderButton.getSelection ()) style |= SWT.BORDER;
-		if (leftButton.getSelection ()) style |= SWT.LEFT;
-		if (centerButton.getSelection ()) style |= SWT.CENTER;
-		if (rightButton.getSelection ()) style |= SWT.RIGHT;
-	
-		/* Create the example widgets */
-		label1 = new Label (textLabelGroup, style);
-		label1.setText(ControlExample.getResourceString("One"));
-		label2 = new Label (textLabelGroup, style);
-		label2.setText(ControlExample.getResourceString("Two"));
-		label3 = new Label (textLabelGroup, style);
-		if (wrapButton.getSelection ()) {
-			label3.setText (ControlExample.getResourceString("Wrap_Text"));
-		} else {
-			label3.setText (ControlExample.getResourceString("Three"));
-		}
-		label4 = new Label (imageLabelGroup, style);
-		label4.setImage (instance.images[ControlExample.ciClosedFolder]);
-		label5 = new Label (imageLabelGroup, style);
-		label5.setImage (instance.images[ControlExample.ciOpenFolder]);
-		label6 = new Label(imageLabelGroup, style);
-		label6.setImage (instance.images[ControlExample.ciTarget]);
-	}
-	
-	/**
-	 * Creates the "Style" group.
-	 */
-	void createStyleGroup() {
-		super.createStyleGroup ();
-		
-		/* Create the extra widgets */
-		wrapButton = new Button (styleGroup, SWT.CHECK);
-		wrapButton.setText ("SWT.WRAP");
-		separatorButton = new Button (styleGroup, SWT.CHECK);
-		separatorButton.setText ("SWT.SEPARATOR");
-		horizontalButton = new Button (styleGroup, SWT.RADIO);
-		horizontalButton.setText ("SWT.HORIZONTAL");
-		verticalButton = new Button (styleGroup, SWT.RADIO);
-		verticalButton.setText ("SWT.VERTICAL");
-		Group styleSubGroup = new Group (styleGroup, SWT.NONE);
-		styleSubGroup.setLayout (new GridLayout ());
-		shadowInButton = new Button (styleSubGroup, SWT.RADIO);
-		shadowInButton.setText ("SWT.SHADOW_IN");
-		shadowOutButton = new Button (styleSubGroup, SWT.RADIO);
-		shadowOutButton.setText ("SWT.SHADOW_OUT");
-		shadowNoneButton = new Button (styleSubGroup, SWT.RADIO);
-		shadowNoneButton.setText ("SWT.SHADOW_NONE");
-		borderButton = new Button(styleGroup, SWT.CHECK);
-		borderButton.setText("SWT.BORDER");
-	}
-	
-	/**
-	 * Gets the "Example" widget children.
-	 */
-	Widget [] getExampleWidgets () {
-		return new Widget [] {label1, label2, label3, label4, label5, label6};
-	}
-	
-	/**
-	 * Returns a list of set/get API method names (without the set/get prefix)
-	 * that can be used to set/get values in the example control(s).
-	 */
-	String[] getMethodNames() {
-		return new String[] {"Text", "ToolTipText"};
-	}
-
-	/**
-	 * Gets the text for the tab folder item.
-	 */
-	String getTabText () {
-		return "Label";
-	}
-	
-	/**
-	 * Sets the alignment of the "Example" widgets.
-	 */
-	void setExampleWidgetAlignment () {
-		int alignment = 0;
-		if (leftButton.getSelection ()) alignment = SWT.LEFT;
-		if (centerButton.getSelection ()) alignment = SWT.CENTER;
-		if (rightButton.getSelection ()) alignment = SWT.RIGHT;
-		label1.setAlignment (alignment);
-		label2.setAlignment (alignment);
-		label3.setAlignment (alignment);
-		label4.setAlignment (alignment);
-		label5.setAlignment (alignment);
-		label6.setAlignment (alignment);
-	}
-	
-	/**
-	 * Sets the state of the "Example" widgets.
-	 */
-	void setExampleWidgetState () {
-		super.setExampleWidgetState ();
-		boolean isSeparator = (label1.getStyle () & SWT.SEPARATOR) != 0;
-		wrapButton.setSelection (!isSeparator && (label1.getStyle () & SWT.WRAP) != 0);
-		leftButton.setSelection (!isSeparator && (label1.getStyle () & SWT.LEFT) != 0);
-		centerButton.setSelection (!isSeparator && (label1.getStyle () & SWT.CENTER) != 0);
-		rightButton.setSelection (!isSeparator && (label1.getStyle () & SWT.RIGHT) != 0);
-		shadowInButton.setSelection (isSeparator && (label1.getStyle () & SWT.SHADOW_IN) != 0);
-		shadowOutButton.setSelection (isSeparator && (label1.getStyle () & SWT.SHADOW_OUT) != 0);
-		shadowNoneButton.setSelection (isSeparator && (label1.getStyle () & SWT.SHADOW_NONE) != 0);
-		horizontalButton.setSelection (isSeparator && (label1.getStyle () & SWT.HORIZONTAL) != 0);
-		verticalButton.setSelection (isSeparator && (label1.getStyle () & SWT.VERTICAL) != 0);		
-		wrapButton.setEnabled (!isSeparator);
-		leftButton.setEnabled (!isSeparator);
-		centerButton.setEnabled (!isSeparator);
-		rightButton.setEnabled (!isSeparator);
-		shadowInButton.setEnabled (isSeparator);
-		shadowOutButton.setEnabled (isSeparator);
-		shadowNoneButton.setEnabled (isSeparator);
-		horizontalButton.setEnabled (isSeparator);
-		verticalButton.setEnabled (isSeparator);
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/LinkTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/LinkTab.java
deleted file mode 100644
index e8b01b8..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/LinkTab.java
+++ /dev/null
@@ -1,98 +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.swt.examples.controlexample;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-
-class LinkTab extends Tab {
-	/* Example widgets and groups that contain them */
-	Link link1;
-	Group linkGroup;
-	
-	/**
-	 * Creates the Tab within a given instance of ControlExample.
-	 */
-	LinkTab(ControlExample instance) {
-		super(instance);
-	}
-	
-	/**
-	 * Creates the "Example" group.
-	 */
-	void createExampleGroup () {
-		super.createExampleGroup ();
-		
-		/* Create a group for the list */
-		linkGroup = new Group (exampleGroup, SWT.NONE);
-		linkGroup.setLayout (new GridLayout ());
-		linkGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true));
-		linkGroup.setText ("Link");
-	}
-	
-	/**
-	 * Creates the "Example" widgets.
-	 */
-	void createExampleWidgets () {
-		
-		/* Compute the widget style */
-		int style = getDefaultStyle();
-		if (borderButton.getSelection ()) style |= SWT.BORDER;
-	
-		/* Create the example widgets */		
-		try {
-			link1 = new Link (linkGroup, style);
-			link1.setText (ControlExample.getResourceString("LinkText"));
-		} catch (SWTError e) {
-			// temporary code for photon
-			Label label = new Label (linkGroup, SWT.CENTER | SWT.WRAP);
-			label.setText ("Link widget not suported");
-		}
-	}
-	
-	/**
-	 * Creates the "Style" group.
-	 */
-	void createStyleGroup() {
-		super.createStyleGroup ();
-		
-		/* Create the extra widgets */
-		borderButton = new Button(styleGroup, SWT.CHECK);
-		borderButton.setText("SWT.BORDER");
-	}
-	
-	/**
-	 * Gets the "Example" widget children.
-	 */
-	Widget [] getExampleWidgets () {
-//		 temporary code for photon
-		if (link1 != null) return new Widget [] {link1};
-		return new Widget[] {};
-	}
-	
-	/**
-	 * Returns a list of set/get API method names (without the set/get prefix)
-	 * that can be used to set/get values in the example control(s).
-	 */
-	String[] getMethodNames() {
-		return new String[] {"Text", "ToolTipText"};
-	}
-	
-	/**
-	 * Gets the text for the tab folder item.
-	 */
-	String getTabText () {
-		return "Link";
-	}
-
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ListTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ListTab.java
deleted file mode 100755
index 3ceaca9..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ListTab.java
+++ /dev/null
@@ -1,93 +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.swt.examples.controlexample;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-
-class ListTab extends ScrollableTab {
-
-	/* Example widgets and groups that contain them */
-	List list1;
-	Group listGroup;
-	
-	static String [] ListData1 = {ControlExample.getResourceString("ListData1_0"),
-								  ControlExample.getResourceString("ListData1_1"),
-								  ControlExample.getResourceString("ListData1_2"),
-								  ControlExample.getResourceString("ListData1_3"),
-								  ControlExample.getResourceString("ListData1_4"),
-								  ControlExample.getResourceString("ListData1_5"),
-								  ControlExample.getResourceString("ListData1_6"),
-								  ControlExample.getResourceString("ListData1_7"),
-								  ControlExample.getResourceString("ListData1_8")};
-
-	/**
-	 * Creates the Tab within a given instance of ControlExample.
-	 */
-	ListTab(ControlExample instance) {
-		super(instance);
-	}
-	
-	/**
-	 * Creates the "Example" group.
-	 */
-	void createExampleGroup () {
-		super.createExampleGroup ();
-		
-		/* Create a group for the list */
-		listGroup = new Group (exampleGroup, SWT.NONE);
-		listGroup.setLayout (new GridLayout ());
-		listGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true));
-		listGroup.setText ("List");
-	}
-	
-	/**
-	 * Creates the "Example" widgets.
-	 */
-	void createExampleWidgets () {
-		
-		/* Compute the widget style */
-		int style = getDefaultStyle();
-		if (singleButton.getSelection ()) style |= SWT.SINGLE;
-		if (multiButton.getSelection ()) style |= SWT.MULTI;
-		if (horizontalButton.getSelection ()) style |= SWT.H_SCROLL;
-		if (verticalButton.getSelection ()) style |= SWT.V_SCROLL;
-		if (borderButton.getSelection ()) style |= SWT.BORDER;
-	
-		/* Create the example widgets */
-		list1 = new List (listGroup, style);
-		list1.setItems (ListData1);
-	}
-	
-	/**
-	 * Gets the "Example" widget children.
-	 */
-	Widget [] getExampleWidgets () {
-		return new Widget [] {list1};
-	}
-	
-	/**
-	 * Returns a list of set/get API method names (without the set/get prefix)
-	 * that can be used to set/get values in the example control(s).
-	 */
-	String[] getMethodNames() {
-		return new String[] {"Items", "Selection", "ToolTipText", "TopIndex"};
-	}
-
-	/**
-	 * Gets the text for the tab folder item.
-	 */
-	String getTabText () {
-		return "List";
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/MenuTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/MenuTab.java
deleted file mode 100644
index 0e1579d..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/MenuTab.java
+++ /dev/null
@@ -1,309 +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.swt.examples.controlexample;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.events.*;
-
-class MenuTab extends Tab {	
-	/* Widgets added to the "Menu Style", "MenuItem Style" and "Other" groups */
-	Button barButton, dropDownButton, popUpButton, noRadioGroupButton, leftToRightButton, rightToLeftButton;
-	Button checkButton, cascadeButton, pushButton, radioButton, separatorButton;
-	Button imagesButton, acceleratorsButton, mnemonicsButton, subMenuButton, subSubMenuButton;
-	Button createButton, closeAllButton;
-	Group menuItemStyleGroup;
-
-	/* Variables used to track the open shells */
-	int shellCount = 0;
-	Shell [] shells = new Shell [4];
-	
-	/**
-	 * Creates the Tab within a given instance of ControlExample.
-	 */
-	MenuTab(ControlExample instance) {
-		super(instance);
-	}
-
-	/**
-	 * Close all the example shells.
-	 */
-	void closeAllShells() {
-		for (int i = 0; i<shellCount; i++) {
-			if (shells[i] != null & !shells [i].isDisposed ()) {
-				shells [i].dispose();
-			}
-		}
-		shellCount = 0;
-	}
-	
-	/**
-	 * Handle the Create button selection event.
-	 *
-	 * @param event org.eclipse.swt.events.SelectionEvent
-	 */
-	public void createButtonSelected(SelectionEvent event) {
-	
-		/*
-		 * Remember the example shells so they
-		 * can be disposed by the user.
-		 */
-		if (shellCount >= shells.length) {
-			Shell [] newShells = new Shell [shells.length + 4];
-			System.arraycopy (shells, 0, newShells, 0, shells.length);
-			shells = newShells;
-		}
-	
-		int orientation = 0;
-		if (leftToRightButton.getSelection()) orientation |= SWT.LEFT_TO_RIGHT;
-		if (rightToLeftButton.getSelection()) orientation |= SWT.RIGHT_TO_LEFT;
-		int radioBehavior = 0;
-		if (noRadioGroupButton.getSelection()) radioBehavior |= SWT.NO_RADIO_GROUP;
-		
-		/* Create the shell and menu(s) */
-		Shell shell = new Shell (SWT.SHELL_TRIM | orientation);
-		shells [shellCount] = shell;
-		if (barButton.getSelection ()) {
-			/* Create menu bar. */
-			Menu menuBar = new Menu(shell, SWT.BAR | radioBehavior);
-			shell.setMenuBar(menuBar);
-			hookListeners(menuBar);
-
-			if (dropDownButton.getSelection() && cascadeButton.getSelection()) {
-				/* Create cascade button and drop-down menu in menu bar. */
-				MenuItem item = new MenuItem(menuBar, SWT.CASCADE);
-				item.setText(getMenuItemText("Cascade"));
-				if (imagesButton.getSelection()) item.setImage(instance.images[ControlExample.ciOpenFolder]);
-				hookListeners(item);
-				Menu dropDownMenu = new Menu(shell, SWT.DROP_DOWN | radioBehavior);
-				item.setMenu(dropDownMenu);
-				hookListeners(dropDownMenu);
-	
-				/* Create various menu items, depending on selections. */
-				createMenuItems(dropDownMenu, subMenuButton.getSelection(), subSubMenuButton.getSelection());
-			}
-		}
-		
-		if (popUpButton.getSelection()) {
-			/* Create pop-up menu. */
-			Menu popUpMenu = new Menu(shell, SWT.POP_UP | radioBehavior);
-			shell.setMenu(popUpMenu);
-			hookListeners(popUpMenu);
-
-			/* Create various menu items, depending on selections. */
-			createMenuItems(popUpMenu, subMenuButton.getSelection(), subSubMenuButton.getSelection());
-		}
-		
-		/* Set the size, title and open the shell. */
-		shell.setSize (300, 100);
-		shell.setText (ControlExample.getResourceString("Title") + shellCount);
-		shell.addPaintListener(new PaintListener() {
-			public void paintControl(PaintEvent e) {
-				e.gc.drawString(ControlExample.getResourceString("PopupMenuHere"), 20, 20);
-			}
-		});
-		shell.open ();
-		shellCount++;
-	}
-	
-	/**
-	 * Creates the "Control" group. 
-	 */
-	void createControlGroup () {
-		/*
-		 * Create the "Control" group.  This is the group on the
-		 * right half of each example tab.  For MenuTab, it consists of
-		 * the Menu style group, the MenuItem style group and the 'other' group.
-		 */		
-		controlGroup = new Group (tabFolderPage, SWT.NONE);
-		controlGroup.setLayout (new GridLayout (2, true));
-		controlGroup.setLayoutData (new GridData (GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));
-		controlGroup.setText (ControlExample.getResourceString("Parameters"));
-	
-		/* Create a group for the menu style controls */
-		styleGroup = new Group (controlGroup, SWT.NONE);
-		styleGroup.setLayout (new GridLayout ());
-		styleGroup.setLayoutData (new GridData (GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));
-		styleGroup.setText (ControlExample.getResourceString("Menu_Styles"));
-	
-		/* Create a group for the menu item style controls */
-		menuItemStyleGroup = new Group (controlGroup, SWT.NONE);
-		menuItemStyleGroup.setLayout (new GridLayout ());
-		menuItemStyleGroup.setLayoutData (new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));
-		menuItemStyleGroup.setText (ControlExample.getResourceString("MenuItem_Styles"));
-
-		/* Create a group for the 'other' controls */
-		otherGroup = new Group (controlGroup, SWT.NONE);
-		otherGroup.setLayout (new GridLayout ());
-		otherGroup.setLayoutData (new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));
-		otherGroup.setText (ControlExample.getResourceString("Other"));
-	}
-	
-	/**
-	 * Creates the "Control" widget children.
-	 */
-	void createControlWidgets () {
-	
-		/* Create the menu style buttons */
-		barButton = new Button (styleGroup, SWT.CHECK);
-		barButton.setText ("SWT.BAR");
-		dropDownButton = new Button (styleGroup, SWT.CHECK);
-		dropDownButton.setText ("SWT.DROP_DOWN");
-		popUpButton = new Button (styleGroup, SWT.CHECK);
-		popUpButton.setText ("SWT.POP_UP");
-		noRadioGroupButton = new Button (styleGroup, SWT.CHECK);
-		noRadioGroupButton.setText ("SWT.NO_RADIO_GROUP");
-		leftToRightButton = new Button (styleGroup, SWT.RADIO);
-		leftToRightButton.setText ("SWT.LEFT_TO_RIGHT");
-		leftToRightButton.setSelection(true);
-		rightToLeftButton = new Button (styleGroup, SWT.RADIO);
-		rightToLeftButton.setText ("SWT.RIGHT_TO_LEFT");
-	
-		/* Create the menu item style buttons */
-		cascadeButton = new Button (menuItemStyleGroup, SWT.CHECK);
-		cascadeButton.setText ("SWT.CASCADE");
-		checkButton = new Button (menuItemStyleGroup, SWT.CHECK);
-		checkButton.setText ("SWT.CHECK");
-		pushButton = new Button (menuItemStyleGroup, SWT.CHECK);
-		pushButton.setText ("SWT.PUSH");
-		radioButton = new Button (menuItemStyleGroup, SWT.CHECK);
-		radioButton.setText ("SWT.RADIO");
-		separatorButton = new Button (menuItemStyleGroup, SWT.CHECK);
-		separatorButton.setText ("SWT.SEPARATOR");
-		
-		/* Create the 'other' buttons */
-		imagesButton = new Button (otherGroup, SWT.CHECK);
-		imagesButton.setText (ControlExample.getResourceString("Images"));
-		acceleratorsButton = new Button (otherGroup, SWT.CHECK);
-		acceleratorsButton.setText (ControlExample.getResourceString("Accelerators"));
-		mnemonicsButton = new Button (otherGroup, SWT.CHECK);
-		mnemonicsButton.setText (ControlExample.getResourceString("Mnemonics"));
-		subMenuButton = new Button (otherGroup, SWT.CHECK);
-		subMenuButton.setText (ControlExample.getResourceString("SubMenu"));
-		subSubMenuButton = new Button (otherGroup, SWT.CHECK);
-		subSubMenuButton.setText (ControlExample.getResourceString("SubSubMenu"));
-		
-		/* Create the "create" and "closeAll" buttons (and a 'filler' label to place them) */
-		new Label(controlGroup, SWT.NONE);
-		createButton = new Button (controlGroup, SWT.NONE);
-		createButton.setLayoutData (new GridData (GridData.HORIZONTAL_ALIGN_END));
-		createButton.setText (ControlExample.getResourceString("Create_Shell"));
-		closeAllButton = new Button (controlGroup, SWT.NONE);
-		closeAllButton.setLayoutData (new GridData (GridData.HORIZONTAL_ALIGN_BEGINNING));
-		closeAllButton.setText (ControlExample.getResourceString("Close_All_Shells"));
-	
-		/* Add the listeners */
-		createButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				createButtonSelected(e);
-			}
-		});
-		closeAllButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				closeAllShells ();
-			}
-		});
-		subMenuButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				subSubMenuButton.setEnabled (subMenuButton.getSelection ());
-			}
-		});
-	
-		/* Set the default state */
-		barButton.setSelection (true);
-		dropDownButton.setSelection (true);
-		popUpButton.setSelection (true);
-		cascadeButton.setSelection (true);
-		checkButton.setSelection (true);
-		pushButton.setSelection (true);
-		radioButton.setSelection (true);
-		separatorButton.setSelection (true);
-		subSubMenuButton.setEnabled (subMenuButton.getSelection ());
-	}
-	
-	/* Create various menu items, depending on selections. */
-	void createMenuItems(Menu menu, boolean createSubMenu, boolean createSubSubMenu) {
-		MenuItem item;
-		if (pushButton.getSelection()) {
-			item = new MenuItem(menu, SWT.PUSH);
-			item.setText(getMenuItemText("Push"));
-			if (acceleratorsButton.getSelection()) item.setAccelerator(SWT.MOD1 + SWT.MOD2 + 'P');
-			if (imagesButton.getSelection()) item.setImage(instance.images[ControlExample.ciClosedFolder]);
-			hookListeners(item);
-		}
-		
-		if (separatorButton.getSelection()) {
-			new MenuItem(menu, SWT.SEPARATOR);
-		}
-		
-		if (checkButton.getSelection()) {
-			item = new MenuItem(menu, SWT.CHECK);
-			item.setText(getMenuItemText("Check"));
-			if (acceleratorsButton.getSelection()) item.setAccelerator(SWT.MOD1 + SWT.MOD2 + 'C');
-			if (imagesButton.getSelection()) item.setImage(instance.images[ControlExample.ciOpenFolder]);
-			hookListeners(item);
-		}
-				
-		if (radioButton.getSelection()) {
-			item = new MenuItem(menu, SWT.RADIO);
-			item.setText(getMenuItemText("1Radio"));
-			if (acceleratorsButton.getSelection()) item.setAccelerator(SWT.MOD1 + SWT.MOD2 + '1');
-			if (imagesButton.getSelection()) item.setImage(instance.images[ControlExample.ciTarget]);
-			item.setSelection(true);
-			hookListeners(item);
-
-			item = new MenuItem(menu, SWT.RADIO);
-			item.setText(getMenuItemText("2Radio"));
-			if (acceleratorsButton.getSelection()) item.setAccelerator(SWT.MOD1 + SWT.MOD2 + '2');
-			if (imagesButton.getSelection()) item.setImage(instance.images[ControlExample.ciTarget]);
-			hookListeners(item);
-		}
-
-		if (createSubMenu && cascadeButton.getSelection()) {
-			/* Create cascade button and drop-down menu for the sub-menu. */
-			item = new MenuItem(menu, SWT.CASCADE);
-			item.setText(getMenuItemText("Cascade"));
-			if (imagesButton.getSelection()) item.setImage(instance.images[ControlExample.ciOpenFolder]);
-			hookListeners(item);
-			Menu subMenu = new Menu(menu.getShell(), SWT.DROP_DOWN);
-			item.setMenu(subMenu);
-			hookListeners(subMenu);
-			
-			createMenuItems(subMenu, createSubSubMenu, false);
-		}
-	}
-	
-	String getMenuItemText(String item) {
-		boolean cascade = item.equals("Cascade");
-		boolean mnemonic = mnemonicsButton.getSelection();
-		boolean accelerator = acceleratorsButton.getSelection();
-		char acceleratorKey = item.charAt(0);
-		if (mnemonic && accelerator && !cascade) {
-			return ControlExample.getResourceString(item + "WithMnemonic") + "\tCtrl+Shift+" + acceleratorKey;
-		}
-		if (accelerator && !cascade) {
-			return ControlExample.getResourceString(item) + "\tCtrl+Shift+" + acceleratorKey;
-		}
-		if (mnemonic) {
-			return ControlExample.getResourceString(item + "WithMnemonic");
-		}
-		return ControlExample.getResourceString(item);
-	}
-	
-	/**
-	 * Gets the text for the tab folder item.
-	 */
-	String getTabText () {
-		return "Menu";
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ProgressBarTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ProgressBarTab.java
deleted file mode 100755
index 8e8cb51..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ProgressBarTab.java
+++ /dev/null
@@ -1,178 +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.swt.examples.controlexample;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-
-class ProgressBarTab extends RangeTab {
-	/* Example widgets and groups that contain them */
-	ProgressBar progressBar1;
-	Group progressBarGroup;
-
-	/* Style widgets added to the "Style" group */
-	Button smoothButton;
-	Button indeterminateButton;
-
-	/**
-	 * Creates the Tab within a given instance of ControlExample.
-	 */
-	ProgressBarTab(ControlExample instance) {
-		super(instance);
-	}
-
-	/**
-	 * Creates the "Example" group.
-	 */
-	void createExampleGroup() {
-		super.createExampleGroup ();
-
-		/* Create a group for the progress bar */
-		progressBarGroup = new Group (exampleGroup, SWT.NONE);
-		progressBarGroup.setLayout (new GridLayout ());
-		progressBarGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true));
-		progressBarGroup.setText ("ProgressBar");
-	}
-
-	/**
-	 * Creates the "Example" widgets.
-	 */
-	void createExampleWidgets () {
-
-		/* Compute the widget style */
-		int style = getDefaultStyle();
-		if (horizontalButton.getSelection ()) style |= SWT.HORIZONTAL;
-		if (verticalButton.getSelection ()) style |= SWT.VERTICAL;
-		if (smoothButton.getSelection ()) style |= SWT.SMOOTH;
-		if (borderButton.getSelection ()) style |= SWT.BORDER;
-		if (indeterminateButton.getSelection ()) style |= SWT.INDETERMINATE;
-
-		/* Create the example widgets */
-		progressBar1 = new ProgressBar (progressBarGroup, style);
-	}
-
-	/**
-	 * Creates the "Style" group.
-	 */
-	void createStyleGroup () {
-		super.createStyleGroup ();
-
-		/* Create the extra widgets */
-		smoothButton = new Button (styleGroup, SWT.CHECK);
-		smoothButton.setText ("SWT.SMOOTH");
-		indeterminateButton = new Button (styleGroup, SWT.CHECK);
-		indeterminateButton.setText ("SWT.INDETERMINATE");
-	}
-
-	/**
-	 * Gets the "Example" widget children.
-	 */
-	Widget [] getExampleWidgets () {
-		return new Widget [] {progressBar1};
-	}
-
-	/**
-	 * Returns a list of set/get API method names (without the set/get prefix)
-	 * that can be used to set/get values in the example control(s).
-	 */
-	String[] getMethodNames() {
-		return new String[] {"Selection", "ToolTipText"};
-	}
-
-	/**
-	 * Gets the short text for the tab folder item.
-	 */
-	String getShortTabText() {
-		return "PB";
-	}
-
-	/**
-	 * Gets the text for the tab folder item.
-	 */
-	String getTabText () {
-		return "ProgressBar";
-	}
-
-	/**
-	 * Sets the state of the "Example" widgets.
-	 */
-	void setExampleWidgetState () {
-		super.setExampleWidgetState ();
-		if (indeterminateButton.getSelection ()) {
-			selectionSpinner.setEnabled (false);
-			minimumSpinner.setEnabled (false);
-			maximumSpinner.setEnabled (false);
-		} else {
-			selectionSpinner.setEnabled (true);
-			minimumSpinner.setEnabled (true);
-			maximumSpinner.setEnabled (true);
-		}
-		smoothButton.setSelection ((progressBar1.getStyle () & SWT.SMOOTH) != 0);
-		indeterminateButton.setSelection ((progressBar1.getStyle () & SWT.INDETERMINATE) != 0);
-	}
-
-	/**
-	 * Gets the default maximum of the "Example" widgets.
-	 */
-	int getDefaultMaximum () {
-		return progressBar1.getMaximum();
-	}
-	
-	/**
-	 * Gets the default minimim of the "Example" widgets.
-	 */
-	int getDefaultMinimum () {
-		return progressBar1.getMinimum();
-	}
-	
-	/**
-	 * Gets the default selection of the "Example" widgets.
-	 */
-	int getDefaultSelection () {
-		return progressBar1.getSelection();
-	}
-
-	/**
-	 * Sets the maximum of the "Example" widgets.
-	 */
-	void setWidgetMaximum () {
-		progressBar1.setMaximum (maximumSpinner.getSelection ());
-		updateSpinners ();
-	}
-
-	/**
-	 * Sets the minimim of the "Example" widgets.
-	 */
-	void setWidgetMinimum () {
-		progressBar1.setMinimum (minimumSpinner.getSelection ());
-		updateSpinners ();
-	}
-
-	/**
-	 * Sets the selection of the "Example" widgets.
-	 */
-	void setWidgetSelection () {
-		progressBar1.setSelection (selectionSpinner.getSelection ());
-		updateSpinners ();
-	}
-
-	/**
-	 * Update the Spinner widgets to reflect the actual value set 
-	 * on the "Example" widget.
-	 */
-	void updateSpinners () {
-		minimumSpinner.setSelection (progressBar1.getMinimum ());
-		selectionSpinner.setSelection (progressBar1.getSelection ());
-		maximumSpinner.setSelection (progressBar1.getMaximum ());
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/RangeTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/RangeTab.java
deleted file mode 100755
index 2b292a6..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/RangeTab.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.swt.examples.controlexample;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.events.*;
-
-abstract class RangeTab extends Tab {
-	/* Style widgets added to the "Style" group */
-	Button horizontalButton, verticalButton;
-	boolean orientationButtons = true;
-
-	/* Scale widgets added to the "Control" group */
-	Spinner minimumSpinner, selectionSpinner, maximumSpinner;
-
-	/**
-	 * Creates the Tab within a given instance of ControlExample.
-	 */
-	RangeTab(ControlExample instance) {
-		super(instance);
-	}
-
-	/**
-	 * Creates the "Control" widget children.
-	 */
-	void createControlWidgets () {
-		/* Create controls specific to this example */
-		createMinimumGroup ();
-		createMaximumGroup ();
-		createSelectionGroup ();
-	}
-	
-	/**
-	 * Create a group of widgets to control the maximum
-	 * attribute of the example widget.
-	 */
-	void createMaximumGroup() {
-	
-		/* Create the group */
-		Group maximumGroup = new Group (controlGroup, SWT.NONE);
-		maximumGroup.setLayout (new GridLayout ());
-		maximumGroup.setText (ControlExample.getResourceString("Maximum"));
-		maximumGroup.setLayoutData (new GridData (GridData.FILL_HORIZONTAL));
-	
-		/* Create a Spinner widget */
-		maximumSpinner = new Spinner (maximumGroup, SWT.BORDER);
-		maximumSpinner.setMaximum (100000);
-		maximumSpinner.setSelection (getDefaultMaximum());
-		maximumSpinner.setPageIncrement (100);
-		maximumSpinner.setIncrement (1);
-		maximumSpinner.setLayoutData (new GridData (SWT.FILL, SWT.CENTER, true, false));
-	
-		/* Add the listeners */
-		maximumSpinner.addSelectionListener(new SelectionAdapter () {
-			public void widgetSelected (SelectionEvent event) {
-				setWidgetMaximum ();
-			}
-		});
-	}
-	
-	/**
-	 * Create a group of widgets to control the minimum
-	 * attribute of the example widget.
-	 */
-	void createMinimumGroup() {
-	
-		/* Create the group */
-		Group minimumGroup = new Group (controlGroup, SWT.NONE);
-		minimumGroup.setLayout (new GridLayout ());
-		minimumGroup.setText (ControlExample.getResourceString("Minimum"));
-		minimumGroup.setLayoutData (new GridData (GridData.FILL_HORIZONTAL));
-	
-		/* Create a Spinner widget */
-		minimumSpinner = new Spinner (minimumGroup, SWT.BORDER);
-		minimumSpinner.setMaximum (100000);
-		minimumSpinner.setSelection(getDefaultMinimum());
-		minimumSpinner.setPageIncrement (100);
-		minimumSpinner.setIncrement (1);
-		minimumSpinner.setLayoutData (new GridData (SWT.FILL, SWT.CENTER, true, false));
-
-		/* Add the listeners */
-		minimumSpinner.addSelectionListener (new SelectionAdapter () {
-			public void widgetSelected (SelectionEvent event) {
-				setWidgetMinimum ();
-			}
-		});
-	
-	}
-	
-	/**
-	 * Create a group of widgets to control the selection
-	 * attribute of the example widget.
-	 */
-	void createSelectionGroup() {
-	
-		/* Create the group */
-		Group selectionGroup = new Group(controlGroup, SWT.NONE);
-		selectionGroup.setLayout(new GridLayout());
-		GridData gridData = new GridData(SWT.FILL, SWT.BEGINNING, false, false);
-		selectionGroup.setLayoutData(gridData);
-		selectionGroup.setText(ControlExample.getResourceString("Selection"));
-	
-		/* Create a Spinner widget */
-		selectionSpinner = new Spinner (selectionGroup, SWT.BORDER);
-		selectionSpinner.setMaximum (100000);
-		selectionSpinner.setSelection (getDefaultSelection());
-		selectionSpinner.setPageIncrement (100);
-		selectionSpinner.setIncrement (1);
-		selectionSpinner.setLayoutData (new GridData (SWT.FILL, SWT.CENTER, true, false));
-
-		/* Add the listeners */
-		selectionSpinner.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				setWidgetSelection ();
-			}
-		});
-		
-	}
-	
-	/**
-	 * Creates the "Style" group.
-	 */
-	void createStyleGroup () {
-		super.createStyleGroup ();
-	
-		/* Create the extra widgets */
-		if (orientationButtons) {
-			horizontalButton = new Button (styleGroup, SWT.RADIO);
-			horizontalButton.setText ("SWT.HORIZONTAL");
-			verticalButton = new Button (styleGroup, SWT.RADIO);
-			verticalButton.setText ("SWT.VERTICAL");
-		}
-		borderButton = new Button (styleGroup, SWT.CHECK);
-		borderButton.setText ("SWT.BORDER");
-	}
-	
-	/**
-	 * Sets the state of the "Example" widgets.
-	 */
-	void setExampleWidgetState () {
-		super.setExampleWidgetState ();
-		if (!instance.startup) {
-			setWidgetMinimum ();
-			setWidgetMaximum ();
-			setWidgetSelection ();
-		}
-		Widget [] widgets = getExampleWidgets ();
-		if (widgets.length != 0) {
-			if (orientationButtons) {
-				horizontalButton.setSelection ((widgets [0].getStyle () & SWT.HORIZONTAL) != 0);
-				verticalButton.setSelection ((widgets [0].getStyle () & SWT.VERTICAL) != 0);
-			}
-			borderButton.setSelection ((widgets [0].getStyle () & SWT.BORDER) != 0);
-		}
-	}
-	
-	/**
-	 * Gets the default maximum of the "Example" widgets.
-	 */
-	abstract int getDefaultMaximum ();
-	
-	/**
-	 * Gets the default minimim of the "Example" widgets.
-	 */
-	abstract int getDefaultMinimum ();
-	
-	/**
-	 * Gets the default selection of the "Example" widgets.
-	 */
-	abstract int getDefaultSelection ();
-
-	/**
-	 * Sets the maximum of the "Example" widgets.
-	 */
-	abstract void setWidgetMaximum ();
-	
-	/**
-	 * Sets the minimim of the "Example" widgets.
-	 */
-	abstract void setWidgetMinimum ();
-	
-	/**
-	 * Sets the selection of the "Example" widgets.
-	 */
-	abstract void setWidgetSelection ();
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/SashFormTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/SashFormTab.java
deleted file mode 100644
index fe4247e..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/SashFormTab.java
+++ /dev/null
@@ -1,122 +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.swt.examples.controlexample;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-class SashFormTab extends Tab {
-	/* Example widgets and groups that contain them */
-	Group sashFormGroup;
-	SashForm form;
-	List list1, list2;
-	Text text;
-	
-	/* Style widgets added to the "Style" group */
-	Button horizontalButton, verticalButton, smoothButton;
-
-	static String [] ListData0 = {ControlExample.getResourceString("ListData0_0"), //$NON-NLS-1$
-								  ControlExample.getResourceString("ListData0_1"), //$NON-NLS-1$
-								  ControlExample.getResourceString("ListData0_2"), //$NON-NLS-1$
-								  ControlExample.getResourceString("ListData0_3"), //$NON-NLS-1$
-								  ControlExample.getResourceString("ListData0_4"), //$NON-NLS-1$
-								  ControlExample.getResourceString("ListData0_5"), //$NON-NLS-1$
-								  ControlExample.getResourceString("ListData0_6"), //$NON-NLS-1$
-								  ControlExample.getResourceString("ListData0_7")}; //$NON-NLS-1$
-								  
-	static String [] ListData1 = {ControlExample.getResourceString("ListData1_0"), //$NON-NLS-1$
-								  ControlExample.getResourceString("ListData1_1"), //$NON-NLS-1$
-								  ControlExample.getResourceString("ListData1_2"), //$NON-NLS-1$
-								  ControlExample.getResourceString("ListData1_3"), //$NON-NLS-1$
-								  ControlExample.getResourceString("ListData1_4"), //$NON-NLS-1$
-								  ControlExample.getResourceString("ListData1_5"), //$NON-NLS-1$
-								  ControlExample.getResourceString("ListData1_6"), //$NON-NLS-1$
-								  ControlExample.getResourceString("ListData1_7")}; //$NON-NLS-1$
-
-
-	/**
-	 * Creates the Tab within a given instance of ControlExample.
-	 */
-	SashFormTab(ControlExample instance) {
-		super(instance);
-	}
-	void createExampleGroup () {
-		super.createExampleGroup ();
-		
-		/* Create a group for the sashform widget */
-		sashFormGroup = new Group (exampleGroup, SWT.NONE);
-		sashFormGroup.setLayout (new GridLayout ());
-		sashFormGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true));
-		sashFormGroup.setText ("SashForm");
-	}
-	void createExampleWidgets () {
-		
-		/* Compute the widget style */
-		int style = getDefaultStyle();
-		if (horizontalButton.getSelection ()) style |= SWT.H_SCROLL;
-		if (verticalButton.getSelection ()) style |= SWT.V_SCROLL;
-		if (smoothButton.getSelection ()) style |= SWT.SMOOTH;
-		
-		/* Create the example widgets */
-		form = new SashForm (sashFormGroup, style);
-		list1 = new List (form, SWT.V_SCROLL | SWT.H_SCROLL | SWT.BORDER);
-		list1.setItems (ListData0);
-		list2 = new List (form, SWT.V_SCROLL | SWT.H_SCROLL | SWT.BORDER);
-		list2.setItems (ListData1);
-		text = new Text (form, SWT.MULTI | SWT.BORDER);
-		text.setText (ControlExample.getResourceString("Multi_line")); //$NON-NLS-1$
-		form.setWeights(new int[] {1, 1, 1});
-	}
-	/**
-	 * Creates the "Style" group.
-	 */
-	void createStyleGroup() {
-		super.createStyleGroup();
-	
-		/* Create the extra widgets */
-		horizontalButton = new Button (styleGroup, SWT.RADIO);
-		horizontalButton.setText ("SWT.HORIZONTAL");
-		horizontalButton.setSelection(true);
-		verticalButton = new Button (styleGroup, SWT.RADIO);
-		verticalButton.setText ("SWT.VERTICAL");
-		verticalButton.setSelection(false);
-		smoothButton = new Button (styleGroup, SWT.CHECK);
-		smoothButton.setText ("SWT.SMOOTH");
-		smoothButton.setSelection(false);
-	}
-	
-	/**
-	 * Gets the "Example" widget children.
-	 */
-	Widget [] getExampleWidgets () {
-		return new Widget [] {form};
-	}
-	
-	/**
-	 * Gets the text for the tab folder item.
-	 */
-	String getTabText () {
-		return "SashForm"; //$NON-NLS-1$
-	}
-	
-		/**
-	 * Sets the state of the "Example" widgets.
-	 */
-	void setExampleWidgetState () {
-		super.setExampleWidgetState ();
-		horizontalButton.setSelection ((form.getStyle () & SWT.H_SCROLL) != 0);
-		verticalButton.setSelection ((form.getStyle () & SWT.V_SCROLL) != 0);
-		smoothButton.setSelection ((form.getStyle () & SWT.SMOOTH) != 0);
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/SashTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/SashTab.java
deleted file mode 100755
index e55aa8f..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/SashTab.java
+++ /dev/null
@@ -1,241 +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.swt.examples.controlexample;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.events.*;
-
-class SashTab extends Tab {
-	/* Example widgets and groups that contain them */
-	Sash hSash, vSash;
-	Composite sashComp;
-	Group sashGroup;
-	List list1, list2, list3;
-	Text text;
-	Button smoothButton;
-
-	static String [] ListData0 = {ControlExample.getResourceString("ListData0_0"),
-								  ControlExample.getResourceString("ListData0_1"),
-								  ControlExample.getResourceString("ListData0_2"),
-								  ControlExample.getResourceString("ListData0_3"),
-								  ControlExample.getResourceString("ListData0_4"),
-								  ControlExample.getResourceString("ListData0_5"),
-								  ControlExample.getResourceString("ListData0_6"),
-								  ControlExample.getResourceString("ListData0_7"),
-								  ControlExample.getResourceString("ListData0_8")};
-								  
-	static String [] ListData1 = {ControlExample.getResourceString("ListData1_0"),
-								  ControlExample.getResourceString("ListData1_1"),
-								  ControlExample.getResourceString("ListData1_2"),
-								  ControlExample.getResourceString("ListData1_3"),
-								  ControlExample.getResourceString("ListData1_4"),
-								  ControlExample.getResourceString("ListData1_5"),
-								  ControlExample.getResourceString("ListData1_6"),
-								  ControlExample.getResourceString("ListData1_7"),
-								  ControlExample.getResourceString("ListData1_8")};
-
-	/* Constants */
-	static final int SASH_WIDTH = 3;
-	static final int SASH_LIMIT = 20;
-
-	/**
-	 * Creates the Tab within a given instance of ControlExample.
-	 */
-	SashTab(ControlExample instance) {
-		super(instance);
-	}
-	
-	/**
-	 * Creates the "Example" group.
-	 */
-	void createExampleGroup () {
-		super.createExampleGroup ();
-		exampleGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true));
-		exampleGroup.setLayout(new FillLayout());
-		
-		/* Create a group for the sash widgets */
-		sashGroup = new Group (exampleGroup, SWT.NONE);
-		FillLayout layout = new FillLayout();
-		layout.marginHeight = layout.marginWidth = 5;
-		sashGroup.setLayout(layout);
-		sashGroup.setText ("Sash");
-	}
-
-	/**
-	 * Creates the "Example" widgets.
-	 */
-	void createExampleWidgets () {
-		/*
-		 * Create the page.  This example does not use layouts.
-		 */
-		sashComp = new Composite(sashGroup, SWT.BORDER);
-	
-		/* Create the list and text widgets */
-		list1 = new List (sashComp, SWT.V_SCROLL | SWT.H_SCROLL | SWT.BORDER);
-		list1.setItems (ListData0);
-		list2 = new List (sashComp, SWT.V_SCROLL | SWT.H_SCROLL | SWT.BORDER);
-		list2.setItems (ListData1);
-		text = new Text (sashComp, SWT.MULTI | SWT.BORDER);
-		text.setText (ControlExample.getResourceString("Multi_line"));
-	
-		/* Create the sashes */
-		int style = getDefaultStyle();
-		if (smoothButton.getSelection()) style |= SWT.SMOOTH;
-		vSash = new Sash (sashComp, SWT.VERTICAL | style);
-		hSash = new Sash (sashComp, SWT.HORIZONTAL | style);
-		
-		/* Add the listeners */
-		hSash.addSelectionListener (new SelectionAdapter () {
-			public void widgetSelected (SelectionEvent event) {
-				Rectangle rect = vSash.getParent().getClientArea();
-				event.y = Math.min (Math.max (event.y, SASH_LIMIT), rect.height - SASH_LIMIT);
-				if (event.detail != SWT.DRAG) {
-					hSash.setBounds (event.x, event.y, event.width, event.height);
-					layout ();
-				}
-			}
-		});
-		vSash.addSelectionListener (new SelectionAdapter () {
-			public void widgetSelected (SelectionEvent event) {
-				Rectangle rect = vSash.getParent().getClientArea();
-				event.x = Math.min (Math.max (event.x, SASH_LIMIT), rect.width - SASH_LIMIT);
-				if (event.detail != SWT.DRAG) {
-					vSash.setBounds (event.x, event.y, event.width, event.height);
-					layout ();
-				}
-			}
-		});
-		sashComp.addControlListener (new ControlAdapter () {
-			public void controlResized (ControlEvent event) {
-				resized ();
-			}
-		});
-	}
-
-	/**
-	 * Creates the "Size" group.  The "Size" group contains
-	 * controls that allow the user to change the size of
-	 * the example widgets.
-	 */	
-	void createSizeGroup () {		
-	}
-	
-	/**
-	 * Creates the "Style" group.
-	 */
-	void createStyleGroup() {
-		super.createStyleGroup ();
-	
-		/* Create the extra widgets */
-		smoothButton = new Button (styleGroup, SWT.CHECK);
-		smoothButton.setText("SWT.SMOOTH");
-	}
-	
-	void disposeExampleWidgets () {
-		sashComp.dispose();
-		sashComp = null;
-	}
-
-	/**
-	 * Gets the "Example" widget children.
-	 */
-	Widget [] getExampleWidgets () {
-		return new Widget [] {hSash, vSash};
-	}
-	
-	/**
-	 * Returns a list of set/get API method names (without the set/get prefix)
-	 * that can be used to set/get values in the example control(s).
-	 */
-	String[] getMethodNames() {
-		return new String[] {"ToolTipText"};
-	}
-
-	/**
-	 * Gets the text for the tab folder item.
-	 */
-	String getTabText () {
-		return "Sash";
-	}
-	
-	/**
-	 * Layout the list and text widgets according to the new
-	 * positions of the sashes..events.SelectionEvent
-	 */
-	void layout () {
-		
-		Rectangle clientArea = sashComp.getClientArea ();
-		Rectangle hSashBounds = hSash.getBounds ();
-		Rectangle vSashBounds = vSash.getBounds ();
-		
-		list1.setBounds (0, 0, vSashBounds.x, hSashBounds.y);
-		list2.setBounds (vSashBounds.x + vSashBounds.width, 0, clientArea.width - (vSashBounds.x + vSashBounds.width), hSashBounds.y);
-		text.setBounds (0, hSashBounds.y + hSashBounds.height, clientArea.width, clientArea.height - (hSashBounds.y + hSashBounds.height));
-	
-		/**
-		* If the horizontal sash has been moved then the vertical
-		* sash is either too long or too short and its size must
-		* be adjusted.
-		*/
-		vSashBounds.height = hSashBounds.y;
-		vSash.setBounds (vSashBounds);
-	}
-	/**
-	 * Sets the size of the "Example" widgets.
-	 */
-	void setExampleWidgetSize () {
-		sashGroup.layout (true);
-	}
-	
-	/**
-	 * Sets the state of the "Example" widgets.
-	 */
-	void setExampleWidgetState () {
-		super.setExampleWidgetState ();
-		smoothButton.setSelection ((hSash.getStyle () & SWT.SMOOTH) != 0);
-	}
-	
-	/**
-	 * Handle the shell resized event.
-	 */
-	void resized () {
-	
-		/* Get the client area for the shell */
-		Rectangle clientArea = sashComp.getClientArea ();
-		
-		/*
-		* Make list 1 half the width and half the height of the tab leaving room for the sash.
-		* Place list 1 in the top left quadrant of the tab.
-		*/
-		Rectangle list1Bounds = new Rectangle (0, 0, (clientArea.width - SASH_WIDTH) / 2, (clientArea.height - SASH_WIDTH) / 2);
-		list1.setBounds (list1Bounds);
-	
-		/*
-		* Make list 2 half the width and half the height of the tab leaving room for the sash.
-		* Place list 2 in the top right quadrant of the tab.
-		*/
-		list2.setBounds (list1Bounds.width + SASH_WIDTH, 0, clientArea.width - (list1Bounds.width + SASH_WIDTH), list1Bounds.height);
-	
-		/*
-		* Make the text area the full width and half the height of the tab leaving room for the sash.
-		* Place the text area in the bottom half of the tab.
-		*/
-		text.setBounds (0, list1Bounds.height + SASH_WIDTH, clientArea.width, clientArea.height - (list1Bounds.height + SASH_WIDTH));
-	
-		/* Position the sashes */
-		vSash.setBounds (list1Bounds.width, 0, SASH_WIDTH, list1Bounds.height);
-		hSash.setBounds (0, list1Bounds.height, clientArea.width, SASH_WIDTH);
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ScaleTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ScaleTab.java
deleted file mode 100644
index 1ab2e0a..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ScaleTab.java
+++ /dev/null
@@ -1,230 +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.swt.examples.controlexample;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.events.*;
-
-class ScaleTab extends RangeTab {
-	/* Example widgets and groups that contain them */
-	Scale scale1;
-	Group scaleGroup;
-
-	/* Spinner widgets added to the "Control" group */
-	Spinner incrementSpinner, pageIncrementSpinner;
-	
-	/**
-	 * Creates the Tab within a given instance of ControlExample.
-	 */
-	ScaleTab(ControlExample instance) {
-		super(instance);
-	}
-
-	/**
-	 * Creates the "Control" widget children.
-	 */
-	void createControlWidgets () {
-		super.createControlWidgets ();
-		createIncrementGroup ();
-		createPageIncrementGroup ();
-	}
-	
-	/**
-	 * Creates the "Example" group.
-	 */
-	void createExampleGroup () {
-		super.createExampleGroup ();
-		
-		/* Create a group for the scale */
-		scaleGroup = new Group (exampleGroup, SWT.NONE);
-		scaleGroup.setLayout (new GridLayout ());
-		scaleGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true));
-		scaleGroup.setText ("Scale");
-	
-	}
-	
-	/**
-	 * Creates the "Example" widgets.
-	 */
-	void createExampleWidgets () {
-		
-		/* Compute the widget style */
-		int style = getDefaultStyle();
-		if (horizontalButton.getSelection ()) style |= SWT.HORIZONTAL;
-		if (verticalButton.getSelection ()) style |= SWT.VERTICAL;
-		if (borderButton.getSelection ()) style |= SWT.BORDER;
-	
-		/* Create the example widgets */
-		scale1 = new Scale (scaleGroup, style);
-	}
-	
-	/**
-	 * Create a group of widgets to control the increment
-	 * attribute of the example widget.
-	 */
-	void createIncrementGroup() {
-	
-		/* Create the group */
-		Group incrementGroup = new Group (controlGroup, SWT.NONE);
-		incrementGroup.setLayout (new GridLayout ());
-		incrementGroup.setText (ControlExample.getResourceString("Increment"));
-		incrementGroup.setLayoutData (new GridData (GridData.FILL_HORIZONTAL));
-	
-		/* Create the Spinner widget */
-		incrementSpinner = new Spinner (incrementGroup, SWT.BORDER);
-		incrementSpinner.setMaximum (100000);
-		incrementSpinner.setSelection (getDefaultIncrement());
-		incrementSpinner.setPageIncrement (100);
-		incrementSpinner.setIncrement (1);
-		incrementSpinner.setLayoutData (new GridData (SWT.FILL, SWT.CENTER, true, false));
-	
-		/* Add the listeners */
-		incrementSpinner.addSelectionListener (new SelectionAdapter () {
-			public void widgetSelected (SelectionEvent e) {		
-				setWidgetIncrement ();
-			}
-		});
-	}
-	
-	/**
-	 * Create a group of widgets to control the page increment
-	 * attribute of the example widget.
-	 */
-	void createPageIncrementGroup() {
-	
-		/* Create the group */
-		Group pageIncrementGroup = new Group (controlGroup, SWT.NONE);
-		pageIncrementGroup.setLayout (new GridLayout ());
-		pageIncrementGroup.setText (ControlExample.getResourceString("Page_Increment"));
-		pageIncrementGroup.setLayoutData (new GridData (GridData.FILL_HORIZONTAL));
-			
-		/* Create the Spinner widget */
-		pageIncrementSpinner = new Spinner (pageIncrementGroup, SWT.BORDER);
-		pageIncrementSpinner.setMaximum (100000);
-		pageIncrementSpinner.setSelection (getDefaultPageIncrement());
-		pageIncrementSpinner.setPageIncrement (100);
-		pageIncrementSpinner.setIncrement (1);
-		pageIncrementSpinner.setLayoutData (new GridData (SWT.FILL, SWT.CENTER, true, false));
-
-		/* Add the listeners */
-		pageIncrementSpinner.addSelectionListener (new SelectionAdapter () {
-			public void widgetSelected (SelectionEvent event) {
-				setWidgetPageIncrement ();
-			}
-		});
-	}
-	
-	/**
-	 * Gets the "Example" widget children.
-	 */
-	Widget [] getExampleWidgets () {
-		return new Widget [] {scale1};
-	}
-	
-	/**
-	 * Returns a list of set/get API method names (without the set/get prefix)
-	 * that can be used to set/get values in the example control(s).
-	 */
-	String[] getMethodNames() {
-		return new String[] {"Selection", "ToolTipText"};
-	}
-
-	/**
-	 * Gets the text for the tab folder item.
-	 */
-	String getTabText () {
-		return "Scale";
-	}
-	
-	/**
-	 * Sets the state of the "Example" widgets.
-	 */
-	void setExampleWidgetState () {
-		super.setExampleWidgetState ();
-		if (!instance.startup) {
-			setWidgetIncrement ();
-			setWidgetPageIncrement ();
-		}
-	}
-	
-	/**
-	 * Gets the default maximum of the "Example" widgets.
-	 */
-	int getDefaultMaximum () {
-		return scale1.getMaximum();
-	}
-	
-	/**
-	 * Gets the default minimim of the "Example" widgets.
-	 */
-	int getDefaultMinimum () {
-		return scale1.getMinimum();
-	}
-	
-	/**
-	 * Gets the default selection of the "Example" widgets.
-	 */
-	int getDefaultSelection () {
-		return scale1.getSelection();
-	}
-
-	/**
-	 * Gets the default increment of the "Example" widgets.
-	 */
-	int getDefaultIncrement () {
-		return scale1.getIncrement();
-	}
-	
-	/**
-	 * Gets the default page increment of the "Example" widgets.
-	 */
-	int getDefaultPageIncrement () {
-		return scale1.getPageIncrement();
-	}
-	
-	/**
-	 * Sets the increment of the "Example" widgets.
-	 */
-	void setWidgetIncrement () {
-		scale1.setIncrement (incrementSpinner.getSelection ());
-	}
-	
-	/**
-	 * Sets the minimim of the "Example" widgets.
-	 */
-	void setWidgetMaximum () {
-		scale1.setMaximum (maximumSpinner.getSelection ());
-	}
-	
-	/**
-	 * Sets the minimim of the "Example" widgets.
-	 */
-	void setWidgetMinimum () {
-		scale1.setMinimum (minimumSpinner.getSelection ());
-	}
-	
-	/**
-	 * Sets the page increment of the "Example" widgets.
-	 */
-	void setWidgetPageIncrement () {
-		scale1.setPageIncrement (pageIncrementSpinner.getSelection ());
-	}
-	
-	/**
-	 * Sets the selection of the "Example" widgets.
-	 */
-	void setWidgetSelection () {
-		scale1.setSelection (selectionSpinner.getSelection ());
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ScrollableTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ScrollableTab.java
deleted file mode 100755
index 8a8708c..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ScrollableTab.java
+++ /dev/null
@@ -1,63 +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.swt.examples.controlexample;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-abstract class ScrollableTab extends Tab {
-	/* Style widgets added to the "Style" group */	
-	Button singleButton, multiButton, horizontalButton, verticalButton;
-
-	/**
-	 * Creates the Tab within a given instance of ControlExample.
-	 */
-	ScrollableTab(ControlExample instance) {
-		super(instance);
-	}
-
-	/**
-	 * Creates the "Style" group.
-	 */
-	void createStyleGroup () {
-		super.createStyleGroup ();
-	
-		/* Create the extra widgets */
-		singleButton = new Button (styleGroup, SWT.RADIO);
-		singleButton.setText ("SWT.SINGLE");
-		multiButton = new Button (styleGroup, SWT.RADIO);
-		multiButton.setText ("SWT.MULTI");
-		horizontalButton = new Button (styleGroup, SWT.CHECK);
-		horizontalButton.setText ("SWT.H_SCROLL");
-		horizontalButton.setSelection(true);
-		verticalButton = new Button (styleGroup, SWT.CHECK);
-		verticalButton.setText ("SWT.V_SCROLL");
-		verticalButton.setSelection(true);
-		borderButton = new Button (styleGroup, SWT.CHECK);
-		borderButton.setText ("SWT.BORDER");
-	}
-	
-	/**
-	 * Sets the state of the "Example" widgets.
-	 */
-	void setExampleWidgetState () {
-		super.setExampleWidgetState ();
-		Widget [] widgets = getExampleWidgets ();
-		if (widgets.length != 0){
-			singleButton.setSelection ((widgets [0].getStyle () & SWT.SINGLE) != 0);
-			multiButton.setSelection ((widgets [0].getStyle () & SWT.MULTI) != 0);
-			horizontalButton.setSelection ((widgets [0].getStyle () & SWT.H_SCROLL) != 0);
-			verticalButton.setSelection ((widgets [0].getStyle () & SWT.V_SCROLL) != 0);
-			borderButton.setSelection ((widgets [0].getStyle () & SWT.BORDER) != 0);
-		}
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ShellTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ShellTab.java
deleted file mode 100755
index b8398c6..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ShellTab.java
+++ /dev/null
@@ -1,294 +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.swt.examples.controlexample;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.events.*;
-
-class ShellTab extends Tab {	
-	/* Style widgets added to the "Style" groups, and "Other" group */
-	Button noParentButton, parentButton;
-	Button noTrimButton, closeButton, titleButton, minButton, maxButton, borderButton, resizeButton, onTopButton, toolButton;
-	Button createButton, closeAllButton;
-	Button modelessButton, primaryModalButton, applicationModalButton, systemModalButton;
-	Button imageButton;
-	Group parentStyleGroup, modalStyleGroup;
-
-	/* Variables used to track the open shells */
-	int shellCount = 0;
-	Shell [] shells = new Shell [4];
-	
-	/**
-	 * Creates the Tab within a given instance of ControlExample.
-	 */
-	ShellTab(ControlExample instance) {
-		super(instance);
-	}
-
-	/**
-	 * Close all the example shells.
-	 */
-	void closeAllShells() {
-		for (int i = 0; i<shellCount; i++) {
-			if (shells[i] != null & !shells [i].isDisposed ()) {
-				shells [i].dispose();
-			}
-		}
-		shellCount = 0;
-	}
-	
-	/**
-	 * Handle the Create button selection event.
-	 *
-	 * @param event org.eclipse.swt.events.SelectionEvent
-	 */
-	public void createButtonSelected(SelectionEvent event) {
-	
-		/*
-		 * Remember the example shells so they
-		 * can be disposed by the user.
-		 */
-		if (shellCount >= shells.length) {
-			Shell [] newShells = new Shell [shells.length + 4];
-			System.arraycopy (shells, 0, newShells, 0, shells.length);
-			shells = newShells;
-		}
-	
-		/* Compute the shell style */
-		int style = SWT.NONE;
-		if (noTrimButton.getSelection()) style |= SWT.NO_TRIM;
-		if (closeButton.getSelection()) style |= SWT.CLOSE;
-		if (titleButton.getSelection()) style |= SWT.TITLE;
-		if (minButton.getSelection()) style |= SWT.MIN;
-		if (maxButton.getSelection()) style |= SWT.MAX;
-		if (borderButton.getSelection()) style |= SWT.BORDER;
-		if (resizeButton.getSelection()) style |= SWT.RESIZE;
-		if (onTopButton.getSelection()) style |= SWT.ON_TOP;
-		if (toolButton.getSelection()) style |= SWT.TOOL;
-		if (modelessButton.getSelection()) style |= SWT.MODELESS;
-		if (primaryModalButton.getSelection()) style |= SWT.PRIMARY_MODAL;
-		if (applicationModalButton.getSelection()) style |= SWT.APPLICATION_MODAL;
-		if (systemModalButton.getSelection()) style |= SWT.SYSTEM_MODAL;
-	
-		/* Create the shell with or without a parent */
-		if (noParentButton.getSelection ()) {
-			shells [shellCount] = new Shell (style);
-		} else {
-			shells [shellCount] = new Shell (shell, style);
-		}
-		final Shell currentShell = shells [shellCount];
-		Button button = new Button(currentShell, SWT.PUSH);
-		button.setBounds(20, 20, 120, 30);
-		Button close = new Button(currentShell, SWT.PUSH);
-		close.setBounds(160, 20, 120, 30);
-		close.setText(ControlExample.getResourceString("Close"));
-		close.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event event) {
-				currentShell.dispose();
-			}
-		});
-	
-		/* Set the size, title, and image, and open the shell */
-		currentShell.setSize (300, 100);
-		currentShell.setText (ControlExample.getResourceString("Title") + shellCount);
-		if (imageButton.getSelection()) currentShell.setImage(instance.images[ControlExample.ciTarget]);
-		if (backgroundImageButton.getSelection()) currentShell.setBackgroundImage(instance.images[ControlExample.ciBackground]);
-		hookListeners (currentShell);
-		currentShell.open ();
-		shellCount++;
-	}
-	
-	/**
-	 * Creates the "Control" group. 
-	 */
-	void createControlGroup () {
-		/*
-		 * Create the "Control" group.  This is the group on the
-		 * right half of each example tab.  It consists of the
-		 * style group, the 'other' group and the size group.
-		 */		
-		controlGroup = new Group (tabFolderPage, SWT.NONE);
-		controlGroup.setLayout (new GridLayout (2, true));
-		controlGroup.setLayoutData (new GridData (GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));
-		controlGroup.setText (ControlExample.getResourceString("Parameters"));
-	
-		/* Create a group for the decoration style controls */
-		styleGroup = new Group (controlGroup, SWT.NONE);
-		styleGroup.setLayout (new GridLayout ());
-		styleGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, false, false, 1, 3));
-		styleGroup.setText (ControlExample.getResourceString("Decoration_Styles"));
-	
-		/* Create a group for the modal style controls */
-		modalStyleGroup = new Group (controlGroup, SWT.NONE);
-		modalStyleGroup.setLayout (new GridLayout ());
-		modalStyleGroup.setLayoutData (new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));
-		modalStyleGroup.setText (ControlExample.getResourceString("Modal_Styles"));		
-
-		/* Create a group for the 'other' controls */
-		otherGroup = new Group (controlGroup, SWT.NONE);
-		otherGroup.setLayout (new GridLayout ());
-		otherGroup.setLayoutData (new GridData(SWT.FILL, SWT.FILL, false, false));
-		otherGroup.setText (ControlExample.getResourceString("Other"));
-
-		/* Create a group for the parent style controls */
-		parentStyleGroup = new Group (controlGroup, SWT.NONE);
-		parentStyleGroup.setLayout (new GridLayout ());
-		GridData gridData = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		parentStyleGroup.setLayoutData (gridData);
-		parentStyleGroup.setText (ControlExample.getResourceString("Parent"));
-	}
-	
-	/**
-	 * Creates the "Control" widget children.
-	 */
-	void createControlWidgets () {
-	
-		/* Create the parent style buttons */
-		noParentButton = new Button (parentStyleGroup, SWT.RADIO);
-		noParentButton.setText (ControlExample.getResourceString("No_Parent"));
-		parentButton = new Button (parentStyleGroup, SWT.RADIO);
-		parentButton.setText (ControlExample.getResourceString("Parent"));
-	
-		/* Create the decoration style buttons */
-		noTrimButton = new Button (styleGroup, SWT.CHECK);
-		noTrimButton.setText ("SWT.NO_TRIM");
-		closeButton = new Button (styleGroup, SWT.CHECK);
-		closeButton.setText ("SWT.CLOSE");
-		titleButton = new Button (styleGroup, SWT.CHECK);
-		titleButton.setText ("SWT.TITLE");
-		minButton = new Button (styleGroup, SWT.CHECK);
-		minButton.setText ("SWT.MIN");
-		maxButton = new Button (styleGroup, SWT.CHECK);
-		maxButton.setText ("SWT.MAX");
-		borderButton = new Button (styleGroup, SWT.CHECK);
-		borderButton.setText ("SWT.BORDER");
-		resizeButton = new Button (styleGroup, SWT.CHECK);
-		resizeButton.setText ("SWT.RESIZE");
-		onTopButton = new Button (styleGroup, SWT.CHECK);
-		onTopButton.setText ("SWT.ON_TOP");
-		toolButton = new Button (styleGroup, SWT.CHECK);
-		toolButton.setText ("SWT.TOOL");
-	
-		/* Create the modal style buttons */
-		modelessButton = new Button (modalStyleGroup, SWT.RADIO);
-		modelessButton.setText ("SWT.MODELESS");
-		primaryModalButton = new Button (modalStyleGroup, SWT.RADIO);
-		primaryModalButton.setText ("SWT.PRIMARY_MODAL");
-		applicationModalButton = new Button (modalStyleGroup, SWT.RADIO);
-		applicationModalButton.setText ("SWT.APPLICATION_MODAL");
-		systemModalButton = new Button (modalStyleGroup, SWT.RADIO);
-		systemModalButton.setText ("SWT.SYSTEM_MODAL");
-	
-		/* Create the 'other' buttons */
-		imageButton = new Button (otherGroup, SWT.CHECK);
-		imageButton.setText (ControlExample.getResourceString("Image"));
-		backgroundImageButton = new Button(otherGroup, SWT.CHECK);
-		backgroundImageButton.setText(ControlExample.getResourceString("BackgroundImage"));
-	
-		/* Create the "create" and "closeAll" buttons */
-		createButton = new Button (controlGroup, SWT.NONE);
-		GridData gridData = new GridData (GridData.HORIZONTAL_ALIGN_END);
-		createButton.setLayoutData (gridData);
-		createButton.setText (ControlExample.getResourceString("Create_Shell"));
-		closeAllButton = new Button (controlGroup, SWT.NONE);
-		gridData = new GridData (GridData.HORIZONTAL_ALIGN_BEGINNING);
-		closeAllButton.setText (ControlExample.getResourceString("Close_All_Shells"));
-		closeAllButton.setLayoutData (gridData);
-	
-		/* Add the listeners */
-		createButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				createButtonSelected(e);
-			}
-		});
-		closeAllButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				closeAllShells ();
-			}
-		});
-		SelectionListener decorationButtonListener = new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				decorationButtonSelected(event);
-			}
-		};
-		noTrimButton.addSelectionListener (decorationButtonListener);
-		closeButton.addSelectionListener (decorationButtonListener);
-		titleButton.addSelectionListener (decorationButtonListener);
-		minButton.addSelectionListener (decorationButtonListener);
-		maxButton.addSelectionListener (decorationButtonListener);
-		borderButton.addSelectionListener (decorationButtonListener);
-		resizeButton.addSelectionListener (decorationButtonListener);
-		applicationModalButton.addSelectionListener (decorationButtonListener);
-		systemModalButton.addSelectionListener (decorationButtonListener);
-	
-		/* Set the default state */
-		noParentButton.setSelection (true);
-		modelessButton.setSelection (true);
-		backgroundImageButton.setSelection(false);
-	}
-	
-	/**
-	 * Handle a decoration button selection event.
-	 *
-	 * @param event org.eclipse.swt.events.SelectionEvent
-	 */
-	public void decorationButtonSelected(SelectionEvent event) {
-	
-		/* Make sure if the modal style is SWT.APPLICATION_MODAL or 
-		 * SWT.SYSTEM_MODAL the style SWT.CLOSE is also selected.
-		 * This is to make sure the user can close the shell.
-		 */
-		Button widget = (Button) event.widget;
-		if (widget == applicationModalButton || widget == systemModalButton) {
-			if (widget.getSelection()) {
-				closeButton.setSelection (true);
-				noTrimButton.setSelection (false);
-			} 
-			return;
-		}
-		if (widget == closeButton) {
-			if (applicationModalButton.getSelection() || systemModalButton.getSelection()) {
-				closeButton.setSelection (true);
-			}
-		}	
-		/*
-		 * Make sure if the No Trim button is selected then
-		 * all other decoration buttons are deselected.
-		 */
-		if (widget.getSelection() && widget != noTrimButton) {
-			noTrimButton.setSelection (false);
-			return;
-		}
-		if (widget.getSelection() && widget == noTrimButton) {
-			if (applicationModalButton.getSelection() || systemModalButton.getSelection()) {
-				noTrimButton.setSelection (false);
-				return;
-			}
-			closeButton.setSelection (false);
-			titleButton.setSelection (false);
-			minButton.setSelection (false);
-			maxButton.setSelection (false);
-			borderButton.setSelection (false);
-			resizeButton.setSelection (false);
-			return;
-		}
-	}
-	
-	/**
-	 * Gets the text for the tab folder item.
-	 */
-	String getTabText () {
-		return "Shell";
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/SliderTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/SliderTab.java
deleted file mode 100755
index 1bb8390..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/SliderTab.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
- *******************************************************************************/
-package org.eclipse.swt.examples.controlexample;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.events.*;
-
-class SliderTab extends RangeTab {
-	/* Example widgets and groups that contain them */
-	Slider slider1;
-	Group sliderGroup;
-
-	/* Spinner widgets added to the "Control" group */
-	Spinner incrementSpinner, pageIncrementSpinner, thumbSpinner;
-	
-	/**
-	 * Creates the Tab within a given instance of ControlExample.
-	 */
-	SliderTab(ControlExample instance) {
-		super(instance);
-	}
-
-	/**
-	 * Creates the "Control" widget children.
-	 */
-	void createControlWidgets () {
-		super.createControlWidgets ();
-		createThumbGroup ();
-		createIncrementGroup ();
-		createPageIncrementGroup ();
-	}
-	
-	/**
-	 * Creates the "Example" group.
-	 */
-	void createExampleGroup () {
-		super.createExampleGroup ();
-		
-		/* Create a group for the slider */
-		sliderGroup = new Group (exampleGroup, SWT.NONE);
-		sliderGroup.setLayout (new GridLayout ());
-		sliderGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true));
-		sliderGroup.setText ("Slider");
-	}
-	
-	/**
-	 * Creates the "Example" widgets.
-	 */
-	void createExampleWidgets () {
-		
-		/* Compute the widget style */
-		int style = getDefaultStyle();
-		if (horizontalButton.getSelection ()) style |= SWT.HORIZONTAL;
-		if (verticalButton.getSelection ()) style |= SWT.VERTICAL;
-		if (borderButton.getSelection ()) style |= SWT.BORDER;
-	
-		/* Create the example widgets */
-		slider1 = new Slider(sliderGroup, style);
-	}
-	
-	/**
-	 * Create a group of widgets to control the increment
-	 * attribute of the example widget.
-	 */
-	void createIncrementGroup() {
-	
-		/* Create the group */
-		Group incrementGroup = new Group (controlGroup, SWT.NONE);
-		incrementGroup.setLayout (new GridLayout ());
-		incrementGroup.setText (ControlExample.getResourceString("Increment"));
-		incrementGroup.setLayoutData (new GridData (GridData.FILL_HORIZONTAL));
-	
-		/* Create the Spinner widget */
-		incrementSpinner = new Spinner (incrementGroup, SWT.BORDER);
-		incrementSpinner.setMaximum (100000);
-		incrementSpinner.setSelection (getDefaultIncrement());
-		incrementSpinner.setPageIncrement (100);
-		incrementSpinner.setIncrement (1);
-		incrementSpinner.setLayoutData (new GridData (SWT.FILL, SWT.CENTER, true, false));
-	
-		/* Add the listeners */
-		incrementSpinner.addSelectionListener (new SelectionAdapter () {
-			public void widgetSelected (SelectionEvent e) {		
-				setWidgetIncrement ();
-			}
-		});
-	}
-	
-	/**
-	 * Create a group of widgets to control the page increment
-	 * attribute of the example widget.
-	 */
-	void createPageIncrementGroup() {
-	
-		/* Create the group */
-		Group pageIncrementGroup = new Group (controlGroup, SWT.NONE);
-		pageIncrementGroup.setLayout (new GridLayout ());
-		pageIncrementGroup.setText (ControlExample.getResourceString("Page_Increment"));
-		pageIncrementGroup.setLayoutData (new GridData (GridData.FILL_HORIZONTAL));
-			
-		/* Create the Spinner widget */
-		pageIncrementSpinner = new Spinner (pageIncrementGroup, SWT.BORDER);
-		pageIncrementSpinner.setMaximum (100000);
-		pageIncrementSpinner.setSelection (getDefaultPageIncrement());
-		pageIncrementSpinner.setPageIncrement (100);
-		pageIncrementSpinner.setIncrement (1);
-		pageIncrementSpinner.setLayoutData (new GridData (SWT.FILL, SWT.CENTER, true, false));
-
-		/* Add the listeners */
-		pageIncrementSpinner.addSelectionListener (new SelectionAdapter () {
-			public void widgetSelected (SelectionEvent event) {
-				setWidgetPageIncrement ();
-			}
-		});
-	}
-	
-	/**
-	 * Create a group of widgets to control the thumb
-	 * attribute of the example widget.
-	 */
-	void createThumbGroup() {
-	
-		/* Create the group */
-		Group thumbGroup = new Group (controlGroup, SWT.NONE);
-		thumbGroup.setLayout (new GridLayout ());
-		thumbGroup.setText (ControlExample.getResourceString("Thumb"));
-		thumbGroup.setLayoutData (new GridData (GridData.FILL_HORIZONTAL));
-		
-		/* Create the Spinner widget */
-		thumbSpinner = new Spinner (thumbGroup, SWT.BORDER);
-		thumbSpinner.setMaximum (100000);
-		thumbSpinner.setSelection (getDefaultThumb());
-		thumbSpinner.setPageIncrement (100);
-		thumbSpinner.setIncrement (1);
-		thumbSpinner.setLayoutData (new GridData (SWT.FILL, SWT.CENTER, true, false));
-
-		/* Add the listeners */
-		thumbSpinner.addSelectionListener (new SelectionAdapter () {
-			public void widgetSelected (SelectionEvent event) {
-				setWidgetThumb ();
-			}
-		});
-	}
-	
-	/**
-	 * Gets the "Example" widget children.
-	 */
-	Widget [] getExampleWidgets () {
-		return new Widget [] {slider1};
-	}
-	
-	/**
-	 * Returns a list of set/get API method names (without the set/get prefix)
-	 * that can be used to set/get values in the example control(s).
-	 */
-	String[] getMethodNames() {
-		return new String[] {"Selection", "ToolTipText"};
-	}
-
-	/**
-	 * Gets the text for the tab folder item.
-	 */
-	String getTabText () {
-		return "Slider";
-	}
-	
-	/**
-	 * Sets the state of the "Example" widgets.
-	 */
-	void setExampleWidgetState () {
-		super.setExampleWidgetState ();
-		if (!instance.startup) {
-			setWidgetIncrement ();
-			setWidgetPageIncrement ();
-			setWidgetThumb ();
-		}
-	}
-	
-	/**
-	 * Gets the default maximum of the "Example" widgets.
-	 */
-	int getDefaultMaximum () {
-		return slider1.getMaximum();
-	}
-	
-	/**
-	 * Gets the default minimim of the "Example" widgets.
-	 */
-	int getDefaultMinimum () {
-		return slider1.getMinimum();
-	}
-	
-	/**
-	 * Gets the default selection of the "Example" widgets.
-	 */
-	int getDefaultSelection () {
-		return slider1.getSelection();
-	}
-
-	/**
-	 * Gets the default increment of the "Example" widgets.
-	 */
-	int getDefaultIncrement () {
-		return slider1.getIncrement();
-	}
-	
-	/**
-	 * Gets the default page increment of the "Example" widgets.
-	 */
-	int getDefaultPageIncrement () {
-		return slider1.getPageIncrement();
-	}
-	
-	/**
-	 * Gets the default thumb of the "Example" widgets.
-	 */
-	int getDefaultThumb () {
-		return slider1.getThumb();
-	}
-
-	/**
-	 * Sets the increment of the "Example" widgets.
-	 */
-	void setWidgetIncrement () {
-		slider1.setIncrement (incrementSpinner.getSelection ());
-	}
-	
-	/**
-	 * Sets the minimim of the "Example" widgets.
-	 */
-	void setWidgetMaximum () {
-		slider1.setMaximum (maximumSpinner.getSelection ());
-	}
-	
-	/**
-	 * Sets the minimim of the "Example" widgets.
-	 */
-	void setWidgetMinimum () {
-		slider1.setMinimum (minimumSpinner.getSelection ());
-	}
-	
-	/**
-	 * Sets the page increment of the "Example" widgets.
-	 */
-	void setWidgetPageIncrement () {
-		slider1.setPageIncrement (pageIncrementSpinner.getSelection ());
-	}
-	
-	/**
-	 * Sets the selection of the "Example" widgets.
-	 */
-	void setWidgetSelection () {
-		slider1.setSelection (selectionSpinner.getSelection ());
-	}
-	
-	/**
-	 * Sets the thumb of the "Example" widgets.
-	 */
-	void setWidgetThumb () {
-		slider1.setThumb (thumbSpinner.getSelection ());
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/SpinnerTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/SpinnerTab.java
deleted file mode 100644
index 8208d5b..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/SpinnerTab.java
+++ /dev/null
@@ -1,317 +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.swt.examples.controlexample;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-
-class SpinnerTab extends RangeTab {
-
-	/* Example widgets and groups that contain them */
-	Spinner spinner1;
-	Group spinnerGroup;
-	
-	/* Style widgets added to the "Style" group */
-	Button readOnlyButton, wrapButton;
-	
-	/* Spinner widgets added to the "Control" group */
-	Spinner incrementSpinner, pageIncrementSpinner, digitsSpinner;
-
-	/**
-	 * Creates the Tab within a given instance of ControlExample.
-	 */
-	SpinnerTab(ControlExample instance) {
-		super(instance);
-	}
-	
-	/**
-	 * Creates the "Control" widget children.
-	 */
-	void createControlWidgets () {
-		super.createControlWidgets ();
-		createIncrementGroup ();
-		createPageIncrementGroup ();
-		createDigitsGroup ();
-	}
-	
-	/**
-	 * Creates the "Example" group.
-	 */
-	void createExampleGroup () {
-		super.createExampleGroup ();
-		
-		/* Create a group for the spinner */
-		spinnerGroup = new Group (exampleGroup, SWT.NONE);
-		spinnerGroup.setLayout (new GridLayout ());
-		spinnerGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true));
-		spinnerGroup.setText ("Spinner");
-	}
-	
-	/**
-	 * Creates the "Example" widgets.
-	 */
-	void createExampleWidgets () {
-		
-		/* Compute the widget style */
-		int style = getDefaultStyle();
-		if (readOnlyButton.getSelection ()) style |= SWT.READ_ONLY;
-		if (borderButton.getSelection ()) style |= SWT.BORDER;
-		if (wrapButton.getSelection ()) style |= SWT.WRAP;
-		
-		/* Create the example widgets */
-		spinner1 = new Spinner (spinnerGroup, style);
-	}
-	
-	/**
-	 * Create a group of widgets to control the increment
-	 * attribute of the example widget.
-	 */
-	void createIncrementGroup() {
-	
-		/* Create the group */
-		Group incrementGroup = new Group (controlGroup, SWT.NONE);
-		incrementGroup.setLayout (new GridLayout ());
-		incrementGroup.setText (ControlExample.getResourceString("Increment"));
-		incrementGroup.setLayoutData (new GridData (GridData.FILL_HORIZONTAL));
-	
-		/* Create the Spinner widget */
-		incrementSpinner = new Spinner (incrementGroup, SWT.BORDER);
-		incrementSpinner.setMaximum (100000);
-		incrementSpinner.setSelection (getDefaultIncrement());
-		incrementSpinner.setPageIncrement (100);
-		incrementSpinner.setIncrement (1);
-		incrementSpinner.setLayoutData (new GridData (SWT.FILL, SWT.CENTER, true, false));
-	
-		/* Add the listeners */
-		incrementSpinner.addSelectionListener (new SelectionAdapter () {
-			public void widgetSelected (SelectionEvent e) {		
-				setWidgetIncrement ();
-			}
-		});
-	}
-	
-	/**
-	 * Create a group of widgets to control the page increment
-	 * attribute of the example widget.
-	 */
-	void createPageIncrementGroup() {
-	
-		/* Create the group */
-		Group pageIncrementGroup = new Group (controlGroup, SWT.NONE);
-		pageIncrementGroup.setLayout (new GridLayout ());
-		pageIncrementGroup.setText (ControlExample.getResourceString("Page_Increment"));
-		pageIncrementGroup.setLayoutData (new GridData (GridData.FILL_HORIZONTAL));
-			
-		/* Create the Spinner widget */
-		pageIncrementSpinner = new Spinner (pageIncrementGroup, SWT.BORDER);
-		pageIncrementSpinner.setMaximum (100000);
-		pageIncrementSpinner.setSelection (getDefaultPageIncrement());
-		pageIncrementSpinner.setPageIncrement (100);
-		pageIncrementSpinner.setIncrement (1);
-		pageIncrementSpinner.setLayoutData (new GridData (SWT.FILL, SWT.CENTER, true, false));
-
-		/* Add the listeners */
-		pageIncrementSpinner.addSelectionListener (new SelectionAdapter () {
-			public void widgetSelected (SelectionEvent event) {
-				setWidgetPageIncrement ();
-			}
-		});
-	}
-	
-	/**
-	 * Create a group of widgets to control the digits
-	 * attribute of the example widget.
-	 */
-	void createDigitsGroup() {
-	
-		/* Create the group */
-		Group digitsGroup = new Group (controlGroup, SWT.NONE);
-		digitsGroup.setLayout (new GridLayout ());
-		digitsGroup.setText (ControlExample.getResourceString("Digits"));
-		digitsGroup.setLayoutData (new GridData (GridData.FILL_HORIZONTAL));
-	
-		/* Create the Spinner widget */
-		digitsSpinner = new Spinner (digitsGroup, SWT.BORDER);
-		digitsSpinner.setMaximum (100000);
-		digitsSpinner.setSelection (getDefaultDigits());
-		digitsSpinner.setPageIncrement (100);
-		digitsSpinner.setIncrement (1);
-		digitsSpinner.setLayoutData (new GridData (SWT.FILL, SWT.CENTER, true, false));
-	
-		/* Add the listeners */
-		digitsSpinner.addSelectionListener (new SelectionAdapter () {
-			public void widgetSelected (SelectionEvent e) {		
-				setWidgetDigits ();
-			}
-		});
-	}
-	
-	/**
-	 * Creates the tab folder page.
-	 *
-	 * @param tabFolder org.eclipse.swt.widgets.TabFolder
-	 * @return the new page for the tab folder
-	 */
-	Composite createTabFolderPage (TabFolder tabFolder) {
-		super.createTabFolderPage (tabFolder);
-
-		/*
-		 * Add a resize listener to the tabFolderPage so that
-		 * if the user types into the example widget to change
-		 * its preferred size, and then resizes the shell, we
-		 * recalculate the preferred size correctly.
-		 */
-		tabFolderPage.addControlListener(new ControlAdapter() {
-			public void controlResized(ControlEvent e) {
-				setExampleWidgetSize ();
-			}
-		});
-		
-		return tabFolderPage;
-	}
-
-	/**
-	 * Creates the "Style" group.
-	 */
-	void createStyleGroup () {
-		orientationButtons = false;
-		super.createStyleGroup ();
-	
-		/* Create the extra widgets */
-		readOnlyButton = new Button (styleGroup, SWT.CHECK);
-		readOnlyButton.setText ("SWT.READ_ONLY");
-		wrapButton = new Button (styleGroup, SWT.CHECK);
-		wrapButton.setText ("SWT.WRAP");
-	}
-	
-	/**
-	 * Gets the "Example" widget children.
-	 */
-	Widget [] getExampleWidgets () {
-		return new Widget [] {spinner1};
-	}
-	
-	/**
-	 * Returns a list of set/get API method names (without the set/get prefix)
-	 * that can be used to set/get values in the example control(s).
-	 */
-	String[] getMethodNames() {
-		return new String[] {"Selection", "ToolTipText"};
-	}
-
-	/**
-	 * Gets the text for the tab folder item.
-	 */
-	String getTabText () {
-		return "Spinner";
-	}
-	
-	/**
-	 * Sets the state of the "Example" widgets.
-	 */
-	void setExampleWidgetState () {
-		super.setExampleWidgetState ();
-		readOnlyButton.setSelection ((spinner1.getStyle () & SWT.READ_ONLY) != 0);
-		wrapButton.setSelection ((spinner1.getStyle () & SWT.WRAP) != 0);
-		if (!instance.startup) {
-			setWidgetIncrement ();
-			setWidgetPageIncrement ();
-			setWidgetDigits ();
-		}
-	}
-
-	/**
-	 * Gets the default maximum of the "Example" widgets.
-	 */
-	int getDefaultMaximum () {
-		return spinner1.getMaximum();
-	}
-	
-	/**
-	 * Gets the default minimim of the "Example" widgets.
-	 */
-	int getDefaultMinimum () {
-		return spinner1.getMinimum();
-	}
-	
-	/**
-	 * Gets the default selection of the "Example" widgets.
-	 */
-	int getDefaultSelection () {
-		return spinner1.getSelection();
-	}
-
-	/**
-	 * Gets the default increment of the "Example" widgets.
-	 */
-	int getDefaultIncrement () {
-		return spinner1.getIncrement();
-	}
-	
-	/**
-	 * Gets the default page increment of the "Example" widgets.
-	 */
-	int getDefaultPageIncrement () {
-		return spinner1.getPageIncrement();
-	}
-	
-	/**
-	 * Gets the default digits of the "Example" widgets.
-	 */
-	int getDefaultDigits () {
-		return spinner1.getDigits();
-	}
-
-	/**
-	 * Sets the increment of the "Example" widgets.
-	 */
-	void setWidgetIncrement () {
-		spinner1.setIncrement (incrementSpinner.getSelection ());
-	}
-	
-	/**
-	 * Sets the minimim of the "Example" widgets.
-	 */
-	void setWidgetMaximum () {
-		spinner1.setMaximum (maximumSpinner.getSelection ());
-	}
-	
-	/**
-	 * Sets the minimim of the "Example" widgets.
-	 */
-	void setWidgetMinimum () {
-		spinner1.setMinimum (minimumSpinner.getSelection ());
-	}
-	
-	/**
-	 * Sets the page increment of the "Example" widgets.
-	 */
-	void setWidgetPageIncrement () {
-		spinner1.setPageIncrement (pageIncrementSpinner.getSelection ());
-	}
-	
-	/**
-	 * Sets the digits of the "Example" widgets.
-	 */
-	void setWidgetDigits () {
-		spinner1.setDigits (digitsSpinner.getSelection ());
-	}
-	
-	/**
-	 * Sets the selection of the "Example" widgets.
-	 */
-	void setWidgetSelection () {
-		spinner1.setSelection (selectionSpinner.getSelection ());
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/StyledTextTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/StyledTextTab.java
deleted file mode 100644
index ab22a52..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/StyledTextTab.java
+++ /dev/null
@@ -1,413 +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.swt.examples.controlexample;
-
-
-import java.io.*;
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.custom.*;
-
-class StyledTextTab extends ScrollableTab {
-	/* Example widgets and groups that contain them */
-	StyledText styledText;
-	Group styledTextGroup, styledTextStyleGroup;
-
-	/* Style widgets added to the "Style" group */
-	Button wrapButton, readOnlyButton, fullSelectionButton;
-	
-	/* Buttons for adding StyleRanges to StyledText */
-	Button boldButton, italicButton, redButton, yellowButton, underlineButton, strikeoutButton;
-	Image boldImage, italicImage, redImage, yellowImage, underlineImage, strikeoutImage;
-	
-	/* Variables for saving state. */
-	String text;
-	StyleRange[] styleRanges;
-
-	/**
-	 * Creates the Tab within a given instance of ControlExample.
-	 */
-	StyledTextTab(ControlExample instance) {
-		super(instance);
-	}
-	
-	/**
-	 * Creates a bitmap image. 
-	 */
-	Image createBitmapImage (Display display, String name) {
-		InputStream sourceStream = ControlExample.class.getResourceAsStream (name + ".bmp");
-		InputStream maskStream = ControlExample.class.getResourceAsStream (name + "_mask.bmp");
-		ImageData source = new ImageData (sourceStream);
-		ImageData mask = new ImageData (maskStream);
-		Image result = new Image (display, source, mask);
-		try {
-			sourceStream.close ();
-			maskStream.close ();
-		} catch (IOException e) {
-			e.printStackTrace ();
-		}
-		return result;
-	}
-	
-	/**
-	 * Creates the "Control" widget children.
-	 */
-	void createControlWidgets () {
-		super.createControlWidgets ();
-		
-		/* Add a group for modifying the StyledText widget */
-		createStyledTextStyleGroup ();
-	}
-
-	/**
-	 * Creates the "Example" group.
-	 */
-	void createExampleGroup () {
-		super.createExampleGroup ();
-		
-		/* Create a group for the styled text widget */
-		styledTextGroup = new Group (exampleGroup, SWT.NONE);
-		styledTextGroup.setLayout (new GridLayout ());
-		styledTextGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true));
-		styledTextGroup.setText ("StyledText");
-	}
-	
-	/**
-	 * Creates the "Example" widgets.
-	 */
-	void createExampleWidgets () {
-		
-		/* Compute the widget style */
-		int style = getDefaultStyle();
-		if (singleButton.getSelection ()) style |= SWT.SINGLE;
-		if (multiButton.getSelection ()) style |= SWT.MULTI;
-		if (horizontalButton.getSelection ()) style |= SWT.H_SCROLL;
-		if (verticalButton.getSelection ()) style |= SWT.V_SCROLL;
-		if (wrapButton.getSelection ()) style |= SWT.WRAP;
-		if (readOnlyButton.getSelection ()) style |= SWT.READ_ONLY;
-		if (borderButton.getSelection ()) style |= SWT.BORDER;
-		if (fullSelectionButton.getSelection ()) style |= SWT.FULL_SELECTION;
-	
-		/* Create the example widgets */
-		styledText = new StyledText (styledTextGroup, style);
-		styledText.setText (ControlExample.getResourceString("Example_string"));
-		styledText.append ("\n");
-		styledText.append (ControlExample.getResourceString("One_Two_Three"));
-		
-		if (text != null) {
-			styledText.setText(text);
-			text = null;
-		}
-		if (styleRanges != null) {
-			styledText.setStyleRanges(styleRanges);
-			styleRanges = null;
-		}
-	}
-	
-	/**
-	 * Creates the "Style" group.
-	 */
-	void createStyleGroup() {
-		super.createStyleGroup();
-	
-		/* Create the extra widgets */
-		wrapButton = new Button (styleGroup, SWT.CHECK);
-		wrapButton.setText ("SWT.WRAP");
-		readOnlyButton = new Button (styleGroup, SWT.CHECK);
-		readOnlyButton.setText ("SWT.READ_ONLY");
-		fullSelectionButton = new Button (styleGroup, SWT.CHECK);
-		fullSelectionButton.setText ("SWT.FULL_SELECTION");
-	}
-	
-	/**
-	 * Creates the "StyledText Style" group.
-	 */
-	void createStyledTextStyleGroup () {
-		styledTextStyleGroup = new Group (controlGroup, SWT.NONE);
-		styledTextStyleGroup.setText (ControlExample.getResourceString ("StyledText_Styles"));
-		styledTextStyleGroup.setLayout (new GridLayout(6, false));
-		GridData data = new GridData (GridData.HORIZONTAL_ALIGN_FILL);
-		data.horizontalSpan = 2;
-		styledTextStyleGroup.setLayoutData (data);
-		
-		/* Get images */
-		boldImage = createBitmapImage (display, "bold");
-		italicImage = createBitmapImage (display, "italic");
-		redImage = createBitmapImage (display, "red");
-		yellowImage = createBitmapImage (display, "yellow");
-		underlineImage = createBitmapImage (display, "underline");
-		strikeoutImage = createBitmapImage (display, "strikeout");
-		
-		/* Create controls to modify the StyledText */
-		Label label = new Label (styledTextStyleGroup, SWT.NONE);
-		label.setText (ControlExample.getResourceString ("StyledText_Style_Instructions"));
-		label.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 6, 1));
-		label = new Label (styledTextStyleGroup, SWT.NONE);
-		label.setText (ControlExample.getResourceString ("Bold"));
-		label.setLayoutData(new GridData(SWT.END, SWT.CENTER, true, false));
-		boldButton = new Button (styledTextStyleGroup, SWT.PUSH);
-		boldButton.setImage (boldImage);
-		label = new Label (styledTextStyleGroup, SWT.NONE);
-		label.setText (ControlExample.getResourceString ("Underline"));
-		label.setLayoutData(new GridData(SWT.END, SWT.CENTER, true, false));
-		underlineButton = new Button (styledTextStyleGroup, SWT.PUSH);
-		underlineButton.setImage (underlineImage);
-		label = new Label (styledTextStyleGroup, SWT.NONE);
-		label.setText (ControlExample.getResourceString ("Foreground_Style"));
-		label.setLayoutData(new GridData(SWT.END, SWT.CENTER, true, false));
-		redButton = new Button (styledTextStyleGroup, SWT.PUSH);
-		redButton.setImage (redImage);
-		label = new Label (styledTextStyleGroup, SWT.NONE);
-		label.setText (ControlExample.getResourceString ("Italic"));
-		label.setLayoutData(new GridData(SWT.END, SWT.CENTER, true, false));
-		italicButton = new Button (styledTextStyleGroup, SWT.PUSH);
-		italicButton.setImage (italicImage);
-		label = new Label (styledTextStyleGroup, SWT.NONE);
-		label.setText (ControlExample.getResourceString ("Strikeout"));
-		label.setLayoutData(new GridData(SWT.END, SWT.CENTER, true, false));
-		strikeoutButton = new Button (styledTextStyleGroup, SWT.PUSH);
-		strikeoutButton.setImage (strikeoutImage);
-		label = new Label (styledTextStyleGroup, SWT.NONE);
-		label.setText (ControlExample.getResourceString ("Background_Style"));
-		label.setLayoutData(new GridData(SWT.END, SWT.CENTER, true, false));
-		yellowButton = new Button (styledTextStyleGroup, SWT.PUSH);
-		yellowButton.setImage (yellowImage);
-		SelectionListener styleListener = new SelectionAdapter () {
-			public void widgetSelected (SelectionEvent e) {
-				Point sel = styledText.getSelectionRange();
-				if ((sel == null) || (sel.y == 0)) return;
-				StyleRange style;
-				for (int i = sel.x; i<sel.x+sel.y; i++) {
-					StyleRange range = styledText.getStyleRangeAtOffset(i);
-					if (range != null) {
-						style = (StyleRange)range.clone();
-						style.start = i;
-						style.length = 1;
-					} else {
-						style = new StyleRange(i, 1, null, null, SWT.NORMAL);
-					}
-					if (e.widget == boldButton) {
-						style.fontStyle ^= SWT.BOLD;
-					} else if (e.widget == italicButton) {
-						style.fontStyle ^= SWT.ITALIC;						
-					} else if (e.widget == underlineButton) {
-						style.underline = !style.underline;
-					} else if (e.widget == strikeoutButton) {
-						style.strikeout = !style.strikeout;
-					}
-					styledText.setStyleRange(style);
-				}
-				styledText.setSelectionRange(sel.x + sel.y, 0);			
-			}
-		};
-		SelectionListener colorListener = new SelectionAdapter () {
-			public void widgetSelected (SelectionEvent e) {
-				Point sel = styledText.getSelectionRange();
-				if ((sel == null) || (sel.y == 0)) return;
-				Color fg = null, bg = null;
-				if (e.widget == redButton) {
-					fg = display.getSystemColor (SWT.COLOR_RED);
-				} else if (e.widget == yellowButton) {
-					bg = display.getSystemColor (SWT.COLOR_YELLOW);
-				}
-				StyleRange style;
-				for (int i = sel.x; i<sel.x+sel.y; i++) {
-					StyleRange range = styledText.getStyleRangeAtOffset(i);
-					if (range != null) {
-						style = (StyleRange)range.clone();
-						style.start = i;
-						style.length = 1;
-						style.foreground = style.foreground != null ? null : fg;
-						style.background = style.background != null ? null : bg;
-					} else {
-						style = new StyleRange (i, 1, fg, bg, SWT.NORMAL);
-					}
-					styledText.setStyleRange(style);
-				}
-				styledText.setSelectionRange(sel.x + sel.y, 0);
-			}
-		};
-		boldButton.addSelectionListener(styleListener);
-		italicButton.addSelectionListener(styleListener);
-		underlineButton.addSelectionListener(styleListener);
-		strikeoutButton.addSelectionListener(styleListener);
-		redButton.addSelectionListener(colorListener);
-		yellowButton.addSelectionListener(colorListener);
-		yellowButton.addDisposeListener(new DisposeListener () {
-			public void widgetDisposed (DisposeEvent e) {
-				boldImage.dispose();
-				italicImage.dispose();
-				redImage.dispose();
-				yellowImage.dispose();
-				underlineImage.dispose();
-				strikeoutImage.dispose();
-			}
-		});
-	}
-	
-	/**
-	 * Creates the tab folder page.
-	 *
-	 * @param tabFolder org.eclipse.swt.widgets.TabFolder
-	 * @return the new page for the tab folder
-	 */
-	Composite createTabFolderPage (TabFolder tabFolder) {
-		super.createTabFolderPage (tabFolder);
-
-		/*
-		 * Add a resize listener to the tabFolderPage so that
-		 * if the user types into the example widget to change
-		 * its preferred size, and then resizes the shell, we
-		 * recalculate the preferred size correctly.
-		 */
-		tabFolderPage.addControlListener(new ControlAdapter() {
-			public void controlResized(ControlEvent e) {
-				setExampleWidgetSize ();
-			}
-		});
-		
-		return tabFolderPage;
-	}
-
-	/**
-	 * Disposes the "Example" widgets.
-	 */
-	void disposeExampleWidgets () {
-		/* store the state of the styledText if applicable */
-		if (styledText != null) {
-			styleRanges = styledText.getStyleRanges();
-			text = styledText.getText();
-		}
-		super.disposeExampleWidgets();	
-	}
-
-	/**
-	 * Gets the list of custom event names.
-	 * 
-	 * @return an array containing custom event names
-	 */
-	String [] getCustomEventNames () {
-		return new String [] {
-				"ExtendedModifyListener", "BidiSegmentListener", "LineBackgroundListener",
-				"LineStyleListener", "PaintObjectListener", "TextChangeListener",
-				"VerifyKeyListener", "WordMovementListener"};
-	}
-
-	/**
-	 * Gets the "Example" widget children.
-	 */
-	Widget [] getExampleWidgets () {
-		return new Widget [] {styledText};
-	}
-	
-	/**
-	 * Returns a list of set/get API method names (without the set/get prefix)
-	 * that can be used to set/get values in the example control(s).
-	 */
-	String[] getMethodNames() {
-		return new String[] {"CaretOffset", "DoubleClickEnabled", "Editable", "HorizontalIndex", "HorizontalPixel", "Orientation", "Selection", "Tabs", "Text", "TextLimit", "ToolTipText", "TopIndex", "TopPixel", "WordWrap"};
-	}
-
-	
-	/**
-	 * Gets the text for the tab folder item.
-	 */
-	String getTabText () {
-		return "StyledText";
-	}
-	
-	/**
-	 * Hooks the custom listener specified by eventName.
-	 */
-	void hookCustomListener (final String eventName) {
-		if (eventName == "ExtendedModifyListener") {
-			styledText.addExtendedModifyListener (new ExtendedModifyListener() {
-				public void modifyText(ExtendedModifyEvent event) {
-					log (eventName, event);
-				}
-			});
-		}
-		if (eventName == "BidiSegmentListener") {
-			styledText.addBidiSegmentListener (new BidiSegmentListener() {
-				public void lineGetSegments(BidiSegmentEvent event) {
-					log (eventName, event);
-				}
-			});
-		}
-		if (eventName == "LineBackgroundListener") {
-			styledText.addLineBackgroundListener (new LineBackgroundListener() {
-				public void lineGetBackground(LineBackgroundEvent event) {
-					log (eventName, event);
-				}
-			});
-		}
-		if (eventName == "LineStyleListener") {
-			styledText.addLineStyleListener (new LineStyleListener() {
-				public void lineGetStyle(LineStyleEvent event) {
-					log (eventName, event);
-				}
-			});
-		}
-		if (eventName == "PaintObjectListener") {
-			styledText.addPaintObjectListener (new PaintObjectListener() {
-				public void paintObject(PaintObjectEvent event) {
-					log (eventName, event);
-				}
-			});
-		}
-		if (eventName == "TextChangeListener") {
-			styledText.getContent().addTextChangeListener (new TextChangeListener() {
-				public void textChanged(TextChangedEvent event) {
-					log (eventName + ".textChanged", event);
-				}
-				public void textChanging(TextChangingEvent event) {
-					log (eventName + ".textChanging", event);
-				}
-				public void textSet(TextChangedEvent event) {
-					log (eventName + ".textSet", event);
-				}
-			});
-		}
-		if (eventName == "VerifyKeyListener") {
-			styledText.addVerifyKeyListener (new VerifyKeyListener() {
-				public void verifyKey(VerifyEvent event) {
-					log (eventName, event);
-				}
-			});
-		}
-		if (eventName == "WordMovementListener") {
-			styledText.addWordMovementListener (new MovementListener() {
-				public void getNextOffset(MovementEvent event) {
-					log (eventName + ".getNextOffset", event);
-				}
-				public void getPreviousOffset(MovementEvent event) {
-					log (eventName + ".getPreviousOffset", event);
-				}
-			});
-		}
-	}
-
-	/**
-	 * Sets the state of the "Example" widgets.
-	 */
-	void setExampleWidgetState () {
-		super.setExampleWidgetState ();
-		wrapButton.setSelection ((styledText.getStyle () & SWT.WRAP) != 0);
-		readOnlyButton.setSelection ((styledText.getStyle () & SWT.READ_ONLY) != 0);
-		fullSelectionButton.setSelection ((styledText.getStyle () & SWT.FULL_SELECTION) != 0);
-		horizontalButton.setEnabled ((styledText.getStyle () & SWT.MULTI) != 0);
-		verticalButton.setEnabled ((styledText.getStyle () & SWT.MULTI) != 0);
-		wrapButton.setEnabled ((styledText.getStyle () & SWT.MULTI) != 0);
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/Tab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/Tab.java
deleted file mode 100755
index d071ca6..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/Tab.java
+++ /dev/null
@@ -1,1480 +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.swt.examples.controlexample;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.events.*;
-
-/**
- * <code>Tab</code> is the abstract superclass of every page
- * in the example's tab folder.  Each page in the tab folder
- * describes a control.
- *
- * A Tab itself is not a control but instead provides a
- * hierarchy with which to share code that is common to
- * every page in the folder.
- *
- * A typical page in a Tab contains a two column composite.
- * The left column contains the "Example" group.  The right
- * column contains "Control" group.  The "Control" group
- * contains controls that allow the user to interact with
- * the example control.  The "Control" group typically
- * contains a "Style", "Other" and "Size" group.  Subclasses
- * can override these defaults to augment a group or stop
- * a group from being created.
- */
-abstract class Tab {
-	Shell shell;
-	Display display;
-	
-	/* Common control buttons */
-	Button borderButton, enabledButton, visibleButton, backgroundImageButton, popupMenuButton;
-	Button preferredButton, tooSmallButton, smallButton, largeButton, fillHButton, fillVButton;
-
-	/* Common groups and composites */
-	Composite tabFolderPage;
-	Group exampleGroup, controlGroup, listenersGroup, otherGroup, sizeGroup, styleGroup, colorGroup, backgroundModeGroup;
-
-	/* Controlling instance */
-	final ControlExample instance;
-
-	/* Sizing constants for the "Size" group */
-	static final int TOO_SMALL_SIZE	= 10;
-	static final int SMALL_SIZE		= 50;
-	static final int LARGE_SIZE		= 100;
-	
-	/* Right-to-left support */
-	static final boolean RTL_SUPPORT_ENABLE = "win32".equals(SWT.getPlatform()) || "gtk".equals(SWT.getPlatform());
-	Group orientationGroup;
-	Button rtlButton, ltrButton, defaultOrietationButton;
-
-	/* Controls and resources for the "Colors & Fonts" group */
-	static final int IMAGE_SIZE = 12;
-	static final int FOREGROUND_COLOR = 0;
-	static final int BACKGROUND_COLOR = 1;
-	static final int FONT = 2;
-	Table colorAndFontTable;
-	ColorDialog colorDialog;
-	FontDialog fontDialog;
-	Color foregroundColor, backgroundColor;
-	Font font;
-	
-	/* Controls and resources for the "Background Mode" group */
-	Combo backgroundModeCombo;
-	Button backgroundModeImageButton, backgroundModeColorButton;
-
-	/* Event logging variables and controls */
-	Text eventConsole;
-	boolean logging = false;
-	boolean [] eventsFilter;
-	
-	/* Set/Get API controls */
-	Combo nameCombo;
-	Label returnTypeLabel;
-	Button getButton, setButton;
-	Text setText, getText;
-
-	static final Object [][] EVENT_NAMES = {
-		{"Activate", new Integer(SWT.Activate)}, 
-		{"Arm", new Integer(SWT.Arm)}, 
-		{"Close", new Integer(SWT.Close)},
-		{"Collapse", new Integer(SWT.Collapse)},
-		{"Deactivate", new Integer(SWT.Deactivate)},
-		{"DefaultSelection", new Integer(SWT.DefaultSelection)},
-		{"Deiconify", new Integer(SWT.Deiconify)}, 
-		{"Dispose", new Integer(SWT.Dispose)},
-		{"DragDetect", new Integer(SWT.DragDetect)}, 
-		{"EraseItem", new Integer(SWT.EraseItem)},
-		{"Expand", new Integer(SWT.Expand)}, 
-		{"FocusIn", new Integer(SWT.FocusIn)}, 
-		{"FocusOut", new Integer(SWT.FocusOut)},
-		{"HardKeyDown", new Integer(SWT.HardKeyDown)}, 
-		{"HardKeyUp", new Integer(SWT.HardKeyUp)},
-		{"Help", new Integer(SWT.Help)}, 
-		{"Hide", new Integer(SWT.Hide)},
-		{"Iconify", new Integer(SWT.Iconify)}, 
-		{"KeyDown", new Integer(SWT.KeyDown)},
-		{"KeyUp", new Integer(SWT.KeyUp)},
-		{"MeasureItem", new Integer(SWT.MeasureItem)},
-		{"MenuDetect", new Integer(SWT.MenuDetect)},
-		{"Modify", new Integer(SWT.Modify)}, 
-		{"MouseDoubleClick", new Integer(SWT.MouseDoubleClick)},
-		{"MouseDown", new Integer(SWT.MouseDown)}, 
-		{"MouseEnter", new Integer(SWT.MouseEnter)}, 
-		{"MouseExit", new Integer(SWT.MouseExit)}, 
-		{"MouseHover", new Integer(SWT.MouseHover)},
-		{"MouseMove", new Integer(SWT.MouseMove)}, 
-		{"MouseUp", new Integer(SWT.MouseUp)}, 
-		{"MouseWheel", new Integer(SWT.MouseWheel)},
-		{"Move", new Integer(SWT.Move)}, 
-		{"Paint", new Integer(SWT.Paint)}, 
-		{"PaintItem", new Integer(SWT.PaintItem)},
-		{"Resize", new Integer(SWT.Resize)}, 
-		{"Selection", new Integer(SWT.Selection)}, 
-		{"SetData", new Integer(SWT.SetData)},
-//		{"Settings", new Integer(SWT.Settings)},  // note: this event only goes to Display
-		{"Show", new Integer(SWT.Show)}, 
-		{"Traverse", new Integer(SWT.Traverse)}, 
-		{"Verify", new Integer(SWT.Verify)},
-	};
-	
-	boolean samplePopup = false;
-
-	/**
-	 * Creates the Tab within a given instance of ControlExample.
-	 */
-	Tab(ControlExample instance) {
-		this.instance = instance;
-	}
-
-	/**
-	 * Creates the "Control" group.  The "Control" group
-	 * is typically the right hand column in the tab.
-	 */
-	void createControlGroup () {
-	
-		/*
-		 * Create the "Control" group.  This is the group on the
-		 * right half of each example tab.  It consists of the
-		 * "Style" group, the "Other" group and the "Size" group.
-		 */	
-		controlGroup = new Group (tabFolderPage, SWT.NONE);
-		controlGroup.setLayout (new GridLayout (2, true));
-		controlGroup.setLayoutData (new GridData(SWT.FILL, SWT.FILL, false, false));
-		controlGroup.setText (ControlExample.getResourceString("Parameters"));
-	
-		/* Create individual groups inside the "Control" group */
-		createStyleGroup ();
-		createOtherGroup ();
-		createSetGetGroup();
-		createSizeGroup ();
-		createColorAndFontGroup ();
-		if (rtlSupport()) {
-			createOrientationGroup ();
-		}
-	
-		/*
-		 * For each Button child in the style group, add a selection
-		 * listener that will recreate the example controls.  If the
-		 * style group button is a RADIO button, ensure that the radio
-		 * button is selected before recreating the example controls.
-		 * When the user selects a RADIO button, the current RADIO
-		 * button in the group is deselected and the new RADIO button
-		 * is selected automatically.  The listeners are notified for
-		 * both these operations but typically only do work when a RADIO
-		 * button is selected.
-		 */
-		SelectionListener selectionListener = new SelectionAdapter () {
-			public void widgetSelected (SelectionEvent event) {
-				if ((event.widget.getStyle () & SWT.RADIO) != 0) {
-					if (!((Button) event.widget).getSelection ()) return;
-				}
-				recreateExampleWidgets ();
-			}
-		};
-		Control [] children = styleGroup.getChildren ();
-		for (int i=0; i<children.length; i++) {
-			if (children [i] instanceof Button) {
-				Button button = (Button) children [i];
-				button.addSelectionListener (selectionListener);
-			} else {
-				if (children [i] instanceof Composite) {
-					/* Look down one more level of children in the style group. */
-					Composite composite = (Composite) children [i];
-					Control [] grandchildren = composite.getChildren ();
-					for (int j=0; j<grandchildren.length; j++) {
-						if (grandchildren [j] instanceof Button) {
-							Button button = (Button) grandchildren [j];
-							button.addSelectionListener (selectionListener);
-						}
-					}
-				}
-			}
-		}
-		if (rtlSupport()) {
-			rtlButton.addSelectionListener (selectionListener); 
-			ltrButton.addSelectionListener (selectionListener);		
-			defaultOrietationButton.addSelectionListener (selectionListener);
-		}
-	}
-	
-	/**
-	 * Append the Set/Get API controls to the "Other" group.
-	 */
-	void createSetGetGroup() {
-		/*
-		 * Create the button to access set/get API functionality.
-		 */
-		final String [] methodNames = getMethodNames ();
-		if (methodNames != null) {
-			Button setGetButton = new Button (otherGroup, SWT.PUSH);
-			setGetButton.setText (ControlExample.getResourceString ("Set_Get"));
-			setGetButton.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false));
-			setGetButton.addSelectionListener (new SelectionAdapter() {
-				public void widgetSelected (SelectionEvent e) {
-					Button button = (Button)e.widget;
-					Point pt = button.getLocation();
-					pt = e.display.map(button, null, pt);
-					if (getExampleWidgets().length >  0) createSetGetDialog(pt.x, pt.y, methodNames);
-				}
-			});
-		}
-	}
-
-	/**
-	 * Creates the "Control" widget children.
-	 * Subclasses override this method to augment
-	 * the standard controls created in the "Style",
-	 * "Other" and "Size" groups.
-	 */
-	void createControlWidgets () {
-	}
-	
-	/**
-	 * Creates the "Colors and Fonts" group. This is typically
-	 * a child of the "Control" group. Subclasses override
-	 * this method to customize color and font settings.
-	 */
-	void createColorAndFontGroup () {
-		/* Create the group. */
-		colorGroup = new Group(controlGroup, SWT.NONE);
-		colorGroup.setLayout (new GridLayout (2, true));
-		colorGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, false, false));
-		colorGroup.setText (ControlExample.getResourceString ("Colors"));
-		colorAndFontTable = new Table(colorGroup, SWT.BORDER | SWT.V_SCROLL);
-		colorAndFontTable.setLayoutData(new GridData(SWT.FILL, SWT.BEGINNING, true, false, 2, 1));
-		TableItem item = new TableItem(colorAndFontTable, SWT.None);
-		item.setText(ControlExample.getResourceString ("Foreground_Color"));
-		colorAndFontTable.setSelection(0);
-		item = new TableItem(colorAndFontTable, SWT.None);
-		item.setText(ControlExample.getResourceString ("Background_Color"));
-		item = new TableItem(colorAndFontTable, SWT.None);
-		item.setText(ControlExample.getResourceString ("Font"));
-		Button changeButton = new Button (colorGroup, SWT.PUSH);
-		changeButton.setText(ControlExample.getResourceString("Change"));
-		changeButton.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false));
-		Button defaultsButton = new Button (colorGroup, SWT.PUSH);
-		defaultsButton.setText(ControlExample.getResourceString("Defaults"));
-		defaultsButton.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false));
-
-		/* Add listeners to set/reset colors and fonts. */
-		colorDialog = new ColorDialog (shell);
-		fontDialog = new FontDialog (shell);
-		colorAndFontTable.addSelectionListener(new SelectionAdapter() {
-			public void widgetDefaultSelected(SelectionEvent event) {
-				changeFontOrColor (colorAndFontTable.getSelectionIndex());
-			}
-		});
-		changeButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				changeFontOrColor (colorAndFontTable.getSelectionIndex());
-			}
-		});
-		defaultsButton.addSelectionListener(new SelectionAdapter () {
-			public void widgetSelected (SelectionEvent e) {
-				resetColorsAndFonts ();
-			}
-		});
-		shell.addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent event) {
-				if (foregroundColor != null) foregroundColor.dispose();
-				if (backgroundColor != null) backgroundColor.dispose();
-				if (font != null) font.dispose();
-				foregroundColor = null;
-				backgroundColor = null;
-				font = null;
-				if (colorAndFontTable != null && !colorAndFontTable.isDisposed()) {
-					TableItem [] items = colorAndFontTable.getItems();
-					for (int i = 0; i < items.length; i++) {
-						Image image = items[i].getImage();
-						if (image != null) image.dispose();
-					}
-				}
-			}
-		});
-	}
-	
-	void changeFontOrColor(int index) {
-		switch (index) {
-			case FOREGROUND_COLOR: {
-				Color oldColor = foregroundColor;
-				if (oldColor == null) {
-					Control [] controls = getExampleControls ();
-					if (controls.length > 0) oldColor = controls [0].getForeground ();
-				}
-				if (oldColor != null) colorDialog.setRGB(oldColor.getRGB()); // seed dialog with current color
-				RGB rgb = colorDialog.open();
-				if (rgb == null) return;
-				oldColor = foregroundColor; // save old foreground color to dispose when done
-				foregroundColor = new Color (display, rgb);
-				setExampleWidgetForeground ();
-				if (oldColor != null) oldColor.dispose ();
-			}
-			break;
-			case BACKGROUND_COLOR: {
-				Color oldColor = backgroundColor;
-				if (oldColor == null) {
-					Control [] controls = getExampleControls ();
-					if (controls.length > 0) oldColor = controls [0].getBackground (); // seed dialog with current color
-				}
-				if (oldColor != null) colorDialog.setRGB(oldColor.getRGB());
-				RGB rgb = colorDialog.open();
-				if (rgb == null) return;
-				oldColor = backgroundColor; // save old background color to dispose when done
-				backgroundColor = new Color (display, rgb);
-				setExampleWidgetBackground ();
-				if (oldColor != null) oldColor.dispose ();
-			}
-			break;
-			case FONT: {
-				Font oldFont = font;
-				if (oldFont == null) {
-					Control [] controls = getExampleControls ();
-					if (controls.length > 0) oldFont = controls [0].getFont ();
-				}
-				if (oldFont != null) fontDialog.setFontList(oldFont.getFontData()); // seed dialog with current font
-				FontData fontData = fontDialog.open ();
-				if (fontData == null) return;
-				oldFont = font; // dispose old font when done
-				font = new Font (display, fontData);
-				setExampleWidgetFont ();
-				setExampleWidgetSize ();
-				if (oldFont != null) oldFont.dispose ();
-			}
-			break;
-		}
-	}
-
-	/**
-	 * Creates the "Other" group.  This is typically
-	 * a child of the "Control" group.
-	 */
-	void createOtherGroup () {
-		/* Create the group */
-		otherGroup = new Group (controlGroup, SWT.NONE);
-		otherGroup.setLayout (new GridLayout ());
-		otherGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, false, false));
-		otherGroup.setText (ControlExample.getResourceString("Other"));
-	
-		/* Create the controls */
-		enabledButton = new Button(otherGroup, SWT.CHECK);
-		enabledButton.setText(ControlExample.getResourceString("Enabled"));
-		visibleButton = new Button(otherGroup, SWT.CHECK);
-		visibleButton.setText(ControlExample.getResourceString("Visible"));
-		backgroundImageButton = new Button(otherGroup, SWT.CHECK);
-		backgroundImageButton.setText(ControlExample.getResourceString("BackgroundImage"));
-		popupMenuButton = new Button(otherGroup, SWT.CHECK);
-		popupMenuButton.setText(ControlExample.getResourceString("PopupMenu"));
-		
-		/* Add the listeners */
-		enabledButton.addSelectionListener (new SelectionAdapter () {
-			public void widgetSelected (SelectionEvent event) {
-				setExampleWidgetEnabled ();
-			}
-		});
-		visibleButton.addSelectionListener (new SelectionAdapter () {
-			public void widgetSelected (SelectionEvent event) {
-				setExampleWidgetVisibility ();
-			}
-		});
-		backgroundImageButton.addSelectionListener (new SelectionAdapter () {
-			public void widgetSelected (SelectionEvent event) {
-				setExampleWidgetBackgroundImage ();
-			}
-		});
-		popupMenuButton.addSelectionListener (new SelectionAdapter () {
-			public void widgetSelected (SelectionEvent event) {
-				setExampleWidgetPopupMenu ();
-			}
-		});
-	
-		/* Set the default state */
-		enabledButton.setSelection(true);
-		visibleButton.setSelection(true);
-		backgroundImageButton.setSelection(false);
-		popupMenuButton.setSelection(false);
-	}
-	
-	/**
-	 * Creates the "Background Mode" group.
-	 */
-	void createBackgroundModeGroup () {
-		// note that this method must be called after createExampleWidgets
-		if (getExampleControls ().length == 0) return;
-		
-		/* Create the group */
-		backgroundModeGroup = new Group (controlGroup, SWT.NONE);
-		backgroundModeGroup.setLayout (new GridLayout ());
-		backgroundModeGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, false, false));
-		backgroundModeGroup.setText (ControlExample.getResourceString("Background_Mode"));
-	
-		/* Create the controls */
-		backgroundModeCombo = new Combo(backgroundModeGroup, SWT.READ_ONLY);
-		backgroundModeCombo.setItems(new String[] {"SWT.INHERIT_NONE", "SWT.INHERIT_DEFAULT", "SWT.INHERIT_FORCE"});
-		backgroundModeImageButton = new Button(backgroundModeGroup, SWT.CHECK);
-		backgroundModeImageButton.setText(ControlExample.getResourceString("BackgroundImage"));
-		backgroundModeColorButton = new Button(backgroundModeGroup, SWT.CHECK);
-		backgroundModeColorButton.setText(ControlExample.getResourceString("BackgroundColor"));
-	
-		/* Add the listeners */
-		backgroundModeCombo.addSelectionListener (new SelectionAdapter () {
-			public void widgetSelected (SelectionEvent event) {
-				setExampleGroupBackgroundMode ();
-			}
-		});
-		backgroundModeImageButton.addSelectionListener (new SelectionAdapter () {
-			public void widgetSelected (SelectionEvent event) {
-				setExampleGroupBackgroundImage ();
-			}
-		});
-		backgroundModeColorButton.addSelectionListener (new SelectionAdapter () {
-			public void widgetSelected (SelectionEvent event) {
-				setExampleGroupBackgroundColor ();
-			}
-		});
-	
-		/* Set the default state */
-		backgroundModeCombo.setText(backgroundModeCombo.getItem(0));
-		backgroundModeImageButton.setSelection(false);
-		backgroundModeColorButton.setSelection(false);
-	}
-	
-	/**
-	 * Create the event console popup menu.
-	 */
-	void createEventConsolePopup () {
-		Menu popup = new Menu (shell, SWT.POP_UP);
-		eventConsole.setMenu (popup);
-
-		MenuItem cut = new MenuItem (popup, SWT.PUSH);
-		cut.setText (ControlExample.getResourceString("MenuItem_Cut"));
-		cut.addListener (SWT.Selection, new Listener () {
-			public void handleEvent (Event event) {
-				eventConsole.cut ();
-			}
-		});
-		MenuItem copy = new MenuItem (popup, SWT.PUSH);
-		copy.setText (ControlExample.getResourceString("MenuItem_Copy"));
-		copy.addListener (SWT.Selection, new Listener () {
-			public void handleEvent (Event event) {
-				eventConsole.copy ();
-			}
-		});
-		MenuItem paste = new MenuItem (popup, SWT.PUSH);
-		paste.setText (ControlExample.getResourceString("MenuItem_Paste"));
-		paste.addListener (SWT.Selection, new Listener () {
-			public void handleEvent (Event event) {
-				eventConsole.paste ();
-			}
-		});
-		new MenuItem (popup, SWT.SEPARATOR);
-		MenuItem selectAll = new MenuItem (popup, SWT.PUSH);
-		selectAll.setText(ControlExample.getResourceString("MenuItem_SelectAll"));
-		selectAll.addListener (SWT.Selection, new Listener () {
-			public void handleEvent (Event event) {
-				eventConsole.selectAll ();
-			}
-		});
-	}
-
-	/**
-	 * Creates the "Example" group.  The "Example" group
-	 * is typically the left hand column in the tab.
-	 */
-	void createExampleGroup () {
-		exampleGroup = new Group (tabFolderPage, SWT.NONE);
-		exampleGroup.setLayout (new GridLayout ());
-		exampleGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true));
-	}
-	
-	/**
-	 * Creates the "Example" widget children of the "Example" group.
-	 * Subclasses override this method to create the particular
-	 * example control.
-	 */
-	void createExampleWidgets () {
-		/* Do nothing */
-	}
-	
-	/**
-	 * Creates and opens the "Listener selection" dialog.
-	 */
-	void createListenerSelectionDialog () {
-		final Shell dialog = new Shell (shell, SWT.DIALOG_TRIM | SWT.RESIZE | SWT.APPLICATION_MODAL);
-		dialog.setText (ControlExample.getResourceString ("Select_Listeners"));
-		dialog.setLayout (new GridLayout (2, false));
-		final Table table = new Table (dialog, SWT.BORDER | SWT.V_SCROLL | SWT.CHECK);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		data.verticalSpan = 2;
-		table.setLayoutData(data);
-		for (int i = 0; i < EVENT_NAMES.length; i++) {
-			TableItem item = new TableItem (table, SWT.NONE);
-			item.setText ((String)EVENT_NAMES[i][0]);
-			item.setChecked (eventsFilter[i]);
-		}
-		final String [] customNames = getCustomEventNames ();
-		for (int i = 0; i < customNames.length; i++) {
-			TableItem item = new TableItem (table, SWT.NONE);
-			item.setText (customNames[i]);
-			item.setChecked (eventsFilter[EVENT_NAMES.length + i]);
-		}
-		Button selectAll = new Button (dialog, SWT.PUSH);
-		selectAll.setText(ControlExample.getResourceString ("Select_All"));
-		selectAll.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-		selectAll.addSelectionListener (new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				TableItem [] items = table.getItems();
-				for (int i = 0; i < EVENT_NAMES.length; i++) {
-					items[i].setChecked(true);
-				}
-				for (int i = 0; i < customNames.length; i++) {
-					items[EVENT_NAMES.length + i].setChecked(true);
-				}
-			}
-		});
-		Button deselectAll = new Button (dialog, SWT.PUSH);
-		deselectAll.setText(ControlExample.getResourceString ("Deselect_All"));
-		deselectAll.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_BEGINNING));
-		deselectAll.addSelectionListener (new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				TableItem [] items = table.getItems();
-				for (int i = 0; i < EVENT_NAMES.length; i++) {
-					items[i].setChecked(false);
-				}
-				for (int i = 0; i < customNames.length; i++) {
-					items[EVENT_NAMES.length + i].setChecked(false);
-				}
-			}
-		});
-		new Label(dialog, SWT.NONE); /* Filler */
-		Button ok = new Button (dialog, SWT.PUSH);
-		ok.setText(ControlExample.getResourceString ("OK"));
-		dialog.setDefaultButton(ok);
-		ok.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-		ok.addSelectionListener (new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				TableItem [] items = table.getItems();
-				for (int i = 0; i < EVENT_NAMES.length; i++) {
-					eventsFilter[i] = items[i].getChecked();
-				}
-				for (int i = 0; i < customNames.length; i++) {
-					eventsFilter[EVENT_NAMES.length + i] = items[EVENT_NAMES.length + i].getChecked();
-				}
-				dialog.dispose();
-			}
-		});
-		dialog.pack ();
-		/*
-		 * If the preferred size of the dialog is too tall for the screen,
-		 * then reduce the height, so that the vertical scrollbar will appear.
-		 */
-		Point size = dialog.getSize();
-		Rectangle bounds = display.getBounds();
-		if (size.y > bounds.height) {
-			dialog.setSize(size.x, bounds.height);
-		}
-		dialog.open ();
-		while (! dialog.isDisposed()) {
-			if (! display.readAndDispatch()) display.sleep();
-		}
-	}
-
-	/**
-	 * Creates the "Listeners" group.  The "Listeners" group
-	 * goes below the "Example" and "Control" groups.
-	 */
-	void createListenersGroup () {
-		listenersGroup = new Group (tabFolderPage, SWT.NONE);
-		listenersGroup.setLayout (new GridLayout (3, false));
-		listenersGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true, 2, 1));
-		listenersGroup.setText (ControlExample.getResourceString ("Listeners"));
-
-		/*
-		 * Create the button to access the 'Listeners' dialog.
-		 */
-		Button listenersButton = new Button (listenersGroup, SWT.PUSH);
-		listenersButton.setText (ControlExample.getResourceString ("Select_Listeners"));
-		listenersButton.addSelectionListener (new SelectionAdapter() {
-			public void widgetSelected (SelectionEvent e) {
-				createListenerSelectionDialog ();
-				recreateExampleWidgets ();
-			}
-		});
-		
-		/*
-		 * Create the checkbox to add/remove listeners to/from the example widgets.
-		 */
-		final Button listenCheckbox = new Button (listenersGroup, SWT.CHECK);
-		listenCheckbox.setText (ControlExample.getResourceString ("Listen"));
-		listenCheckbox.addSelectionListener (new SelectionAdapter () {
-			public void widgetSelected(SelectionEvent e) {
-				logging = listenCheckbox.getSelection ();
-				recreateExampleWidgets ();
-			}
-		});
-
-		/*
-		 * Create the button to clear the text.
-		 */
-		Button clearButton = new Button (listenersGroup, SWT.PUSH);
-		clearButton.setText (ControlExample.getResourceString ("Clear"));
-		clearButton.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END));
-		clearButton.addSelectionListener (new SelectionAdapter() {
-			public void widgetSelected (SelectionEvent e) {
-				eventConsole.setText ("");
-			}
-		});
-		
-		/* Initialize the eventsFilter to log all events. */
-		int customEventCount = getCustomEventNames ().length;
-		eventsFilter = new boolean [EVENT_NAMES.length + customEventCount];
-		for (int i = 0; i < EVENT_NAMES.length + customEventCount; i++) {
-			eventsFilter [i] = true;
-		}
-
-		/* Create the event console Text. */
-		eventConsole = new Text (listenersGroup, SWT.BORDER | SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL);
-		GridData data = new GridData (GridData.FILL_BOTH);
-		data.horizontalSpan = 3;
-		data.heightHint = 80;
-		eventConsole.setLayoutData (data);
-		createEventConsolePopup ();
-		eventConsole.addKeyListener (new KeyAdapter () {
-			public void keyPressed (KeyEvent e) {
-				if ((e.keyCode == 'A' || e.keyCode == 'a') && (e.stateMask & SWT.MOD1) != 0) {
-					eventConsole.selectAll ();
-					e.doit = false;
-				}
-			}
-		});
-	}
-	
-	/**
-	 * Returns a list of set/get API method names (without the set/get prefix)
-	 * that can be used to set/get values in the example control(s).
-	 */
-	String[] getMethodNames() {
-		return null;
-	}
-
-	void createSetGetDialog(int x, int y, String[] methodNames) {
-		final Shell dialog = new Shell(shell, SWT.DIALOG_TRIM | SWT.RESIZE | SWT.MODELESS);
-		dialog.setLayout(new GridLayout(2, false));
-		dialog.setText(getTabText() + " " + ControlExample.getResourceString ("Set_Get"));
-		nameCombo = new Combo(dialog, SWT.READ_ONLY);
-		nameCombo.setItems(methodNames);
-		nameCombo.setText(methodNames[0]);
-		nameCombo.setVisibleItemCount(methodNames.length);
-		nameCombo.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false));
-		nameCombo.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				resetLabels();
-			}
-		});
-		returnTypeLabel = new Label(dialog, SWT.NONE);
-		returnTypeLabel.setLayoutData(new GridData(SWT.FILL, SWT.BEGINNING, false, false));
-		setButton = new Button(dialog, SWT.PUSH);
-		setButton.setLayoutData(new GridData(SWT.FILL, SWT.BEGINNING, false, false));
-		setButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				setValue();
-				setText.selectAll();
-				setText.setFocus();
-			}
-		});
-		setText = new Text(dialog, SWT.SINGLE | SWT.BORDER);
-		setText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false));
-		getButton = new Button(dialog, SWT.PUSH);
-		getButton.setLayoutData(new GridData(SWT.FILL, SWT.BEGINNING, false, false));
-		getButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				getValue();
-			}
-		});
-		getText = new Text(dialog, SWT.MULTI | SWT.BORDER | SWT.READ_ONLY | SWT.H_SCROLL | SWT.V_SCROLL);
-		GridData data = new GridData(SWT.FILL, SWT.FILL, true, true);
-		data.widthHint = 240;
-		data.heightHint = 200;
-		getText.setLayoutData(data);
-		resetLabels();
-		dialog.setDefaultButton(setButton);
-		dialog.pack();
-		dialog.setLocation(x, y);
-		dialog.open();
-	}
-
-	void resetLabels() {
-		String methodRoot = nameCombo.getText();
-		returnTypeLabel.setText(parameterInfo(methodRoot));
-		setButton.setText(setMethodName(methodRoot));
-		getButton.setText("get" + methodRoot);
-		setText.setText("");
-		getText.setText("");
-		getValue();
-		setText.setFocus();
-	}
-
-	String setMethodName(String methodRoot) {
-		return "set" + methodRoot;
-	}
-
-	String parameterInfo(String methodRoot) {
-		String typeName = null;
-		Class returnType = getReturnType(methodRoot);
-		boolean isArray = returnType.isArray();
-		if (isArray) {
-			typeName = returnType.getComponentType().getName();
-		} else {
-			typeName = returnType.getName();
-		}
-		String typeNameString = typeName;
-		int index = typeName.lastIndexOf('.');
-		if (index != -1 && index+1 < typeName.length()) typeNameString = typeName.substring(index+1);
-		String info = ControlExample.getResourceString("Info_" + typeNameString + (isArray ? "A" : ""));
-		if (isArray) {
-			typeNameString += "[]";
-		}
-		return ControlExample.getResourceString("Parameter_Info", new Object[] {typeNameString, info});
-	}
-
-	void getValue() {
-		String methodName = "get" + nameCombo.getText();
-		getText.setText("");
-		Widget[] widgets = getExampleWidgets();
-		for (int i = 0; i < widgets.length; i++) {
-			try {
-				java.lang.reflect.Method method = widgets[i].getClass().getMethod(methodName, null);
-				Object result = method.invoke(widgets[i], null);
-				if (result == null) {
-					getText.append("null");
-				} else if (result.getClass().isArray()) {
-					int length = java.lang.reflect.Array.getLength(result);
-					if (length == 0) {
-						getText.append(result.getClass().getComponentType() + "[0]");
-					}
-					for (int j = 0; j < length; j++) {
-						getText.append(java.lang.reflect.Array.get(result,j).toString() + "\n");
-					}
-				} else {
-					getText.append(result.toString());
-				}
-			} catch (Exception e) {
-				getText.append(e.toString());
-			}
-			if (i + 1 < widgets.length) {
-				getText.append("\n\n");
-			}
-		}
-	}
-
-	Class getReturnType(String methodRoot) {
-		Class returnType = null;
-		String methodName = "get" + methodRoot;
-		Widget[] widgets = getExampleWidgets();
-		try {
-			java.lang.reflect.Method method = widgets[0].getClass().getMethod(methodName, null);
-			returnType = method.getReturnType();
-		} catch (Exception e) {
-		}
-		return returnType;
-	}
-	
-	void setValue() {
-		/* The parameter type must be the same as the get method's return type */
-		String methodRoot = nameCombo.getText();
-		Class returnType = getReturnType(methodRoot);
-		String methodName = setMethodName(methodRoot);
-		String value = setText.getText();
-		Widget[] widgets = getExampleWidgets();
-		for (int i = 0; i < widgets.length; i++) {
-			try {
-				java.lang.reflect.Method method = widgets[i].getClass().getMethod(methodName, new Class[] {returnType});
-				String typeName = returnType.getName();
-				Object[] parameter = null;
-				if (value.equals("null")) {
-					parameter = new Object[] {null};
-				} else if (typeName.equals("int")) {
-					parameter = new Object[] {new Integer(value)};
-				} else if (typeName.equals("long")) {
-					parameter = new Object[] {new Long(value)};
-				} else if (typeName.equals("char")) {
-					parameter = new Object[] {value.length() == 1 ? new Character(value.charAt(0)) : new Character('\0')};
-				} else if (typeName.equals("boolean")) {
-					parameter = new Object[] {new Boolean(value)};
-				} else if (typeName.equals("java.lang.String")) {
-					parameter = new Object[] {value};
-				} else if (typeName.equals("org.eclipse.swt.graphics.Point")) {
-					String xy[] = split(value, ',');
-					parameter = new Object[] {new Point(new Integer(xy[0]).intValue(),new Integer(xy[1]).intValue())};
-				} else if (typeName.equals("[I")) {
-					String strings[] = split(value, ',');
-					int[] ints = new int[strings.length];
-					for (int j = 0; j < strings.length; j++) {
-						ints[j] = new Integer(strings[j]).intValue();
-					}
-					parameter = new Object[] {ints};
-				} else if (typeName.equals("[Ljava.lang.String;")) {
-					parameter = new Object[] {split(value, ',')};
-				} else {
-					parameter = parameterForType(typeName, value, widgets[i]);
-				}
-				method.invoke(widgets[i], parameter);
-			} catch (Exception e) {
-				Throwable cause = e.getCause();
-				String message = e.getMessage();
-				getText.setText(e.toString());
-				if (cause != null) getText.append(", cause=\n" + cause.toString());
-				if (message != null) getText.append(", message=\n" + message);
-			}
-		}
-	}
-
-	Object[] parameterForType(String typeName, String value, Widget widget) {
-		return new Object[] {value};
-	}
-
-	void createOrientationGroup () {
-		/* Create Orientation group*/
-		orientationGroup = new Group (controlGroup, SWT.NONE);
-		orientationGroup.setLayout (new GridLayout());
-		orientationGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, false, false));
-		orientationGroup.setText (ControlExample.getResourceString("Orientation"));
-		defaultOrietationButton = new Button (orientationGroup, SWT.RADIO);
-		defaultOrietationButton.setText (ControlExample.getResourceString("Default"));
-		defaultOrietationButton.setSelection (true);
-		ltrButton = new Button (orientationGroup, SWT.RADIO);
-		ltrButton.setText ("SWT.LEFT_TO_RIGHT");
-		rtlButton = new Button (orientationGroup, SWT.RADIO);
-		rtlButton.setText ("SWT.RIGHT_TO_LEFT");
-	}
-	
-	/**
-	 * Creates the "Size" group.  The "Size" group contains
-	 * controls that allow the user to change the size of
-	 * the example widgets.
-	 */
-	void createSizeGroup () {
-		/* Create the group */
-		sizeGroup = new Group (controlGroup, SWT.NONE);
-		sizeGroup.setLayout (new GridLayout());
-		sizeGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, false, false));
-		sizeGroup.setText (ControlExample.getResourceString("Size"));
-	
-		/* Create the controls */
-	
-		/*
-		 * The preferred size of a widget is the size returned
-		 * by widget.computeSize (SWT.DEFAULT, SWT.DEFAULT).
-		 * This size is defined on a widget by widget basis.
-		 * Many widgets will attempt to display their contents.
-		 */
-		preferredButton = new Button (sizeGroup, SWT.RADIO);
-		preferredButton.setText (ControlExample.getResourceString("Preferred"));
-		tooSmallButton = new Button (sizeGroup, SWT.RADIO);
-		tooSmallButton.setText (TOO_SMALL_SIZE + " X " + TOO_SMALL_SIZE);
-		smallButton = new Button(sizeGroup, SWT.RADIO);
-		smallButton.setText (SMALL_SIZE + " X " + SMALL_SIZE);
-		largeButton = new Button (sizeGroup, SWT.RADIO);
-		largeButton.setText (LARGE_SIZE + " X " + LARGE_SIZE);
-		fillHButton = new Button (sizeGroup, SWT.CHECK);
-		fillHButton.setText (ControlExample.getResourceString("Fill_X"));
-		fillVButton = new Button (sizeGroup, SWT.CHECK);
-		fillVButton.setText (ControlExample.getResourceString("Fill_Y"));
-		
-		/* Add the listeners */
-		SelectionAdapter selectionListener = new SelectionAdapter () {
-			public void widgetSelected (SelectionEvent event) {
-				setExampleWidgetSize ();
-			}
-		};
-		preferredButton.addSelectionListener(selectionListener);
-		tooSmallButton.addSelectionListener(selectionListener);
-		smallButton.addSelectionListener(selectionListener);
-		largeButton.addSelectionListener(selectionListener);
-		fillHButton.addSelectionListener(selectionListener);
-		fillVButton.addSelectionListener(selectionListener);
-	
-		/* Set the default state */
-		preferredButton.setSelection (true);
-	}
-	
-	/**
-	 * Creates the "Style" group.  The "Style" group contains
-	 * controls that allow the user to change the style of
-	 * the example widgets.  Changing a widget "Style" causes
-	 * the widget to be destroyed and recreated.
-	 */
-	void createStyleGroup () {
-		styleGroup = new Group (controlGroup, SWT.NONE);
-		styleGroup.setLayout (new GridLayout ());
-		styleGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, false, false));
-		styleGroup.setText (ControlExample.getResourceString("Styles"));
-	}
-	
-	/**
-	 * Creates the tab folder page.
-	 *
-	 * @param tabFolder org.eclipse.swt.widgets.TabFolder
-	 * @return the new page for the tab folder
-	 */
-	Composite createTabFolderPage (TabFolder tabFolder) {
-		/* Cache the shell and display. */
-		shell = tabFolder.getShell ();
-		display = shell.getDisplay ();
-		
-		/* Create a two column page. */
-		tabFolderPage = new Composite (tabFolder, SWT.NONE);
-		tabFolderPage.setLayout (new GridLayout (2, false));
-	
-		/* Create the "Example" and "Control" groups. */
-		createExampleGroup ();
-		createControlGroup ();
-		
-		/* Create the "Listeners" group under the "Control" group. */
-		createListenersGroup ();
-		
-		/* Create and initialize the example and control widgets. */
-		createExampleWidgets ();
-		hookExampleWidgetListeners ();
-		createControlWidgets ();
-		createBackgroundModeGroup ();
-		setExampleWidgetState ();
-		
-		return tabFolderPage;
-	}
-	
-	void setExampleWidgetPopupMenu() {
-		Control[] controls = getExampleControls();
-		for (int i = 0; i < controls.length; i++) {
-			final Control control = controls [i];
-			control.addListener(SWT.MenuDetect, new Listener() {
-				public void handleEvent(Event event) {
-		        	Menu menu = control.getMenu();
-		        	if (menu != null && samplePopup) {
-		        		menu.dispose();
-		        		menu = null;
-		        	}
-		        	if (menu == null && popupMenuButton.getSelection()) {
-			        	menu = new Menu(shell, SWT.POP_UP);
-			        	MenuItem item = new MenuItem(menu, SWT.PUSH);
-			        	item.setText("Sample popup menu item");
-			        	specialPopupMenuItems(menu, event);
-			        	control.setMenu(menu);
-		        		samplePopup = true;
-		        	}
-				}
-			});
-		}
-	}
-
-	protected void specialPopupMenuItems(final Menu menu, final Event event) {
-	}
-
-	/**
-	 * Disposes the "Example" widgets.
-	 */
-	void disposeExampleWidgets () {
-		Widget [] widgets = getExampleWidgets ();
-		for (int i=0; i<widgets.length; i++) {
-			widgets [i].dispose ();
-		}
-	}
-	
-	Image colorImage (Color color) {
-		Image image = new Image (display, IMAGE_SIZE, IMAGE_SIZE);
-		GC gc = new GC(image);
-		gc.setBackground(color);
-		Rectangle bounds = image.getBounds();
-		gc.fillRectangle(0, 0, bounds.width, bounds.height);
-		gc.setBackground(display.getSystemColor(SWT.COLOR_BLACK));
-		gc.drawRectangle(0, 0, bounds.width - 1, bounds.height - 1);
-		gc.dispose();
-		return image;
-	}
-	
-	Image fontImage (Font font) {
-		Image image = new Image (display, IMAGE_SIZE, IMAGE_SIZE);
-		GC gc = new GC(image);
-		Rectangle bounds = image.getBounds();
-		gc.setBackground(display.getSystemColor(SWT.COLOR_WHITE));
-		gc.fillRectangle(0, 0, bounds.width, bounds.height);
-		gc.setBackground(display.getSystemColor(SWT.COLOR_BLACK));
-		gc.drawRectangle(0, 0, bounds.width - 1, bounds.height - 1);
-		FontData data[] = font.getFontData();
-		int style = data[0].getStyle();
-		switch (style) {
-		case SWT.NORMAL:
-			gc.drawLine(3, 3, 3, 8);
-			gc.drawLine(4, 3, 7, 8);
-			gc.drawLine(8, 3, 8, 8);
-			break;
-		case SWT.BOLD:
-			gc.drawLine(3, 2, 3, 9);
-			gc.drawLine(4, 2, 4, 9);
-			gc.drawLine(5, 2, 7, 2);
-			gc.drawLine(5, 3, 8, 3);
-			gc.drawLine(5, 5, 7, 5);
-			gc.drawLine(5, 6, 7, 6);
-			gc.drawLine(5, 8, 8, 8);
-			gc.drawLine(5, 9, 7, 9);
-			gc.drawLine(7, 4, 8, 4);
-			gc.drawLine(7, 7, 8, 7);
-			break;
-		case SWT.ITALIC:
-			gc.drawLine(6, 2, 8, 2);
-			gc.drawLine(7, 3, 4, 8);
-			gc.drawLine(3, 9, 5, 9);
-			break;
-		case SWT.BOLD | SWT.ITALIC:
-			gc.drawLine(5, 2, 8, 2);
-			gc.drawLine(5, 3, 8, 3);
-			gc.drawLine(6, 4, 4, 7);
-			gc.drawLine(7, 4, 5, 7);
-			gc.drawLine(3, 8, 6, 8);
-			gc.drawLine(3, 9, 6, 9);
-			break;
-		}
-		gc.dispose();
-		return image;
-	}
-	
-	/**
-	 * Gets the list of custom event names.
-	 * Subclasses override this method to allow adding of custom events.
-	 * 
-	 * @return an array containing custom event names
-	 * @see hookCustomListener
-	 */
-	String [] getCustomEventNames () {
-		return new String [0];
-	}
-	
-	/**
-	 * Gets the default style for a widget
-	 *
-	 * @return the default style bit
-	 */
-	int getDefaultStyle () {
-		if (ltrButton != null && ltrButton.getSelection()) {
-			return SWT.LEFT_TO_RIGHT;
-		}
-		if (rtlButton != null && rtlButton.getSelection()) {
-			return SWT.RIGHT_TO_LEFT;
-		}
-		return SWT.NONE;
-	}
-	
-	/**
-	 * Gets the "Example" widgets.
-	 *
-	 * @return an array containing the example widgets
-	 */
-	Widget [] getExampleWidgets () {
-		return new Widget [0];
-	}
-	
-	/**
-	 * Gets the "Example" controls.
-	 * This is the subset of "Example" widgets that are controls.
-	 *
-	 * @return an array containing the example controls
-	 */
-	Control [] getExampleControls () {
-		Widget [] widgets = getExampleWidgets ();
-		Control [] controls = new Control [0];
-		for (int i = 0; i < widgets.length; i++) {
-			if (widgets[i] instanceof Control) {
-				Control[] newControls = new Control[controls.length + 1];
-				System.arraycopy(controls, 0, newControls, 0, controls.length);
-				controls = newControls;
-				controls[controls.length - 1] = (Control)widgets[i];
-			}
-		}
-		return controls;
-	}
-	
-	/**
-	 * Gets the "Example" widget's items, if any.
-	 *
-	 * @return an array containing the example widget's items
-	 */
-	Item [] getExampleWidgetItems () {
-		return new Item [0];
-	}
-	
-	/**
-	 * Gets the short text for the tab folder item.
-	 *
-	 * @return the short text for the tab item
-	 */
-	String getShortTabText() {
-		return getTabText();
-	}
-
-	/**
-	 * Gets the text for the tab folder item.
-	 *
-	 * @return the text for the tab item
-	 */
-	String getTabText () {
-		return "";
-	}
-	
-	/**
-	 * Hooks all listeners to all example controls
-	 * and example control items.
-	 */
-	void hookExampleWidgetListeners () {
-		if (logging) {
-			Widget[] widgets = getExampleWidgets ();
-			for (int i = 0; i < widgets.length; i++) {
-				hookListeners (widgets [i]);
-			}
-			Item[] exampleItems = getExampleWidgetItems ();
-			for (int i = 0; i < exampleItems.length; i++) {
-				hookListeners (exampleItems [i]);
-			}
-			String [] customNames = getCustomEventNames ();
-			for (int i = 0; i < customNames.length; i++) {
-				if (eventsFilter [EVENT_NAMES.length + i]) hookCustomListener (customNames[i]);
-			}
-		}
-	}
-	
-	/**
-	 * Hooks the custom listener specified by eventName.
-	 * Subclasses override this method to add custom listeners.
-	 * @see getCustomEventNames
-	 */
-	void hookCustomListener (String eventName) {
-	}
-	
-	/**
-	 * Hooks all listeners to the specified widget.
-	 */
-	void hookListeners (Widget widget) {
-		if (logging) {
-			Listener listener = new Listener() {
-				public void handleEvent (Event event) {
-					log (event);
-				}
-			};
-			for (int i = 0; i < EVENT_NAMES.length; i++) {
-				if (eventsFilter [i]) widget.addListener (((Integer)EVENT_NAMES[i][1]).intValue(), listener);
-			}
-		}
-	}
-	
-	/**
-	 * Logs an untyped event to the event console.
-	 */
-	void log(Event event) {
-		int i = 0;
-		while (i < EVENT_NAMES.length) {
-			if (((Integer)EVENT_NAMES[i][1]).intValue() == event.type) break;
-			i++;
-		}
-		String toString = (String)EVENT_NAMES[i][0] + " ["+event.type+"]: ";
-		switch (event.type) {
-			case SWT.KeyDown:
-			case SWT.KeyUp: toString += new KeyEvent (event).toString (); break;
-			case SWT.MouseDown:
-			case SWT.MouseUp:
-			case SWT.MouseMove:
-			case SWT.MouseEnter:
-			case SWT.MouseExit:
-			case SWT.MouseDoubleClick:
-			case SWT.MouseWheel: 
-			case SWT.MouseHover: toString += new MouseEvent (event).toString (); break;
-			case SWT.Paint: toString += new PaintEvent (event).toString (); break;
-			case SWT.Move:
-			case SWT.Resize: toString += new ControlEvent (event).toString (); break;
-			case SWT.Dispose: toString += new DisposeEvent (event).toString (); break;
-			case SWT.Selection:
-			case SWT.DefaultSelection: toString += new SelectionEvent (event).toString (); break;
-			case SWT.FocusIn:
-			case SWT.FocusOut: toString += new FocusEvent (event).toString (); break;
-			case SWT.Expand:
-			case SWT.Collapse: toString += new TreeEvent (event).toString (); break;
-			case SWT.Iconify:
-			case SWT.Deiconify:
-			case SWT.Close:
-			case SWT.Activate:
-			case SWT.Deactivate: toString += new ShellEvent (event).toString (); break;
-			case SWT.Show:
-			case SWT.Hide: toString += (event.widget instanceof Menu) ? new MenuEvent (event).toString () : event.toString(); break;
-			case SWT.Modify: toString += new ModifyEvent (event).toString (); break;
-			case SWT.Verify: toString += new VerifyEvent (event).toString (); break;
-			case SWT.Help: toString += new HelpEvent (event).toString (); break;
-			case SWT.Arm: toString += new ArmEvent (event).toString (); break;
-			case SWT.Traverse: toString += new TraverseEvent (event).toString (); break;
-			case SWT.HardKeyDown:
-			case SWT.HardKeyUp:
-			case SWT.DragDetect:
-			case SWT.MenuDetect:
-			case SWT.SetData:
-			default: toString += event.toString ();
-		}
-		eventConsole.append (toString);
-		eventConsole.append ("\n");
-	}
-	
-	/**
-	 * Logs a string to the event console.
-	 */
-	void log (String string) {
-		eventConsole.append (string);
-		eventConsole.append ("\n");
-	}
-
-	/**
-	 * Logs a typed event to the event console.
-	 */
-	void log (String eventName, TypedEvent event) {
-		eventConsole.append (eventName + ": ");
-		eventConsole.append (event.toString ());
-		eventConsole.append ("\n");
-	}
-	
-	/**
-	 * Recreates the "Example" widgets.
-	 */
-	void recreateExampleWidgets () {
-		disposeExampleWidgets ();
-		createExampleWidgets ();
-		hookExampleWidgetListeners ();
-		setExampleWidgetState ();
-	}
-	
-	/**
-	 * Sets the foreground color, background color, and font
-	 * of the "Example" widgets to their default settings.
-	 * Subclasses may extend in order to reset other colors
-	 * and fonts to default settings as well.
-	 */
-	void resetColorsAndFonts () {
-		Color oldColor = foregroundColor;
-		foregroundColor = null;
-		setExampleWidgetForeground ();
-		if (oldColor != null) oldColor.dispose();
-		oldColor = backgroundColor;
-		backgroundColor = null;
-		setExampleWidgetBackground ();
-		if (oldColor != null) oldColor.dispose();
-		Font oldFont = font;
-		font = null;
-		setExampleWidgetFont ();
-		setExampleWidgetSize ();
-		if (oldFont != null) oldFont.dispose();
-	}
-	
-	boolean rtlSupport() {
-		return RTL_SUPPORT_ENABLE;
-	}
-	
-	/**
-	 * Sets the background color of the "Example" widgets' parent.
-	 */
-	void setExampleGroupBackgroundColor () {
-		if (backgroundModeGroup == null) return;
-		exampleGroup.setBackground (backgroundModeColorButton.getSelection () ? display.getSystemColor(SWT.COLOR_BLUE) : null);
-	}
-	/**
-	 * Sets the background image of the "Example" widgets' parent.
-	 */
-	void setExampleGroupBackgroundImage () {
-		if (backgroundModeGroup == null) return;
-		exampleGroup.setBackgroundImage (backgroundModeImageButton.getSelection () ? instance.images[ControlExample.ciParentBackground] : null);
-	}
-
-	/**
-	 * Sets the background mode of the "Example" widgets' parent.
-	 */
-	void setExampleGroupBackgroundMode () {
-		if (backgroundModeGroup == null) return;
-		String modeString = backgroundModeCombo.getText ();
-		int mode = SWT.INHERIT_NONE;
-		if (modeString.equals("SWT.INHERIT_DEFAULT")) mode = SWT.INHERIT_DEFAULT;
-		if (modeString.equals("SWT.INHERIT_FORCE")) mode = SWT.INHERIT_FORCE;
-		exampleGroup.setBackgroundMode (mode);
-	}
-
-	/**
-	 * Sets the background color of the "Example" widgets.
-	 */
-	void setExampleWidgetBackground () {
-		if (colorAndFontTable == null) return; // user cannot change color/font on this tab
-		Control [] controls = getExampleControls ();
-		if (!instance.startup) {
-			for (int i = 0; i < controls.length; i++) {
-				controls[i].setBackground (backgroundColor);
-			}
-		}
-		// Set the background color item's image to match the background color of the example widget(s).
-		Color color = backgroundColor;
-		if (controls.length == 0) return;
-		if (color == null) color = controls [0].getBackground ();
-		TableItem item = colorAndFontTable.getItem(BACKGROUND_COLOR);
-		Image oldImage = item.getImage();
-		if (oldImage != null) oldImage.dispose();
-		item.setImage (colorImage (color));
-	}
-	
-	/**
-	 * Sets the enabled state of the "Example" widgets.
-	 */
-	void setExampleWidgetEnabled () {
-		Control [] controls = getExampleControls ();
-		for (int i=0; i<controls.length; i++) {
-			controls [i].setEnabled (enabledButton.getSelection ());
-		}
-	}
-	
-	/**
-	 * Sets the font of the "Example" widgets.
-	 */
-	void setExampleWidgetFont () {
-		if (colorAndFontTable == null) return; // user cannot change color/font on this tab
-		Control [] controls = getExampleControls ();
-		if (!instance.startup) {
-			for (int i = 0; i < controls.length; i++) {
-				controls[i].setFont(font);
-			}
-		}
-		/* Set the font item's image and font to match the font of the example widget(s). */
-		Font ft = font;
-		if (controls.length == 0) return;
-		if (ft == null) ft = controls [0].getFont ();
-		TableItem item = colorAndFontTable.getItem(FONT);
-		Image oldImage = item.getImage();
-		if (oldImage != null) oldImage.dispose();
-		item.setImage (fontImage (ft));
-		item.setFont(ft);
-		colorAndFontTable.layout ();
-	}
-	
-	/**
-	 * Sets the foreground color of the "Example" widgets.
-	 */
-	void setExampleWidgetForeground () {
-		if (colorAndFontTable == null) return; // user cannot change color/font on this tab
-		Control [] controls = getExampleControls ();
-		if (!instance.startup) {
-			for (int i = 0; i < controls.length; i++) {
-				controls[i].setForeground (foregroundColor);
-			}
-		}
-		/* Set the foreground color item's image to match the foreground color of the example widget(s). */
-		Color color = foregroundColor;
-		if (controls.length == 0) return;
-		if (color == null) color = controls [0].getForeground ();
-		TableItem item = colorAndFontTable.getItem(FOREGROUND_COLOR);
-		Image oldImage = item.getImage();
-		if (oldImage != null) oldImage.dispose();
-		item.setImage (colorImage(color));
-	}
-	
-	/**
-	 * Sets the size of the "Example" widgets.
-	 */
-	void setExampleWidgetSize () {
-		int size = SWT.DEFAULT;
-		if (preferredButton == null) return;
-		if (preferredButton.getSelection()) size = SWT.DEFAULT;
-		if (tooSmallButton.getSelection()) size = TOO_SMALL_SIZE;
-		if (smallButton.getSelection()) size = SMALL_SIZE;
-		if (largeButton.getSelection()) size = LARGE_SIZE;
-		Control [] controls = getExampleControls ();
-		for (int i=0; i<controls.length; i++) {
-			GridData gridData = new GridData(size, size); 
-			gridData.grabExcessHorizontalSpace = fillHButton.getSelection();
-			gridData.grabExcessVerticalSpace = fillVButton.getSelection();
-			gridData.horizontalAlignment = fillHButton.getSelection() ? SWT.FILL : SWT.LEFT;
-			gridData.verticalAlignment = fillVButton.getSelection() ? SWT.FILL : SWT.TOP;
-			controls [i].setLayoutData (gridData);
-		}
-		tabFolderPage.layout (controls);
-	}
-	
-	/**
-	 * Sets the state of the "Example" widgets.  Subclasses
-	 * may extend this method to set "Example" widget state
-	 * that is specific to the widget.
-	 */
-	void setExampleWidgetState () {
-		setExampleWidgetBackground ();
-		setExampleWidgetForeground ();
-		setExampleWidgetFont ();
-		if (!instance.startup) {
-			setExampleWidgetEnabled ();
-			setExampleWidgetVisibility ();
-			setExampleGroupBackgroundMode ();
-			setExampleGroupBackgroundColor ();
-			setExampleGroupBackgroundImage ();
-			setExampleWidgetBackgroundImage ();
-			setExampleWidgetPopupMenu ();
-			setExampleWidgetSize ();
-		}
-		//TEMPORARY CODE
-//		Control [] controls = getExampleControls ();
-//		for (int i=0; i<controls.length; i++) {
-//			log ("Control=" + controls [i] + ", border width=" + controls [i].getBorderWidth ());
-//		}
-	}
-	
-	/**
-	 * Sets the visibility of the "Example" widgets.
-	 */
-	void setExampleWidgetVisibility () {
-		Control [] controls = getExampleControls ();
-		for (int i=0; i<controls.length; i++) {
-			controls [i].setVisible (visibleButton.getSelection ());
-		}
-	}
-
-	/**
-	 * Sets the background image of the "Example" widgets.
-	 */
-	void setExampleWidgetBackgroundImage () {
-		if (backgroundImageButton != null && backgroundImageButton.isDisposed()) return;
-		Control [] controls = getExampleControls ();
-		for (int i=0; i<controls.length; i++) {
-			controls [i].setBackgroundImage (backgroundImageButton.getSelection () ? instance.images[ControlExample.ciBackground] : null);
-		}
-	}
-	
-	/**
-	 * Splits the given string around matches of the given character.
-	 * 
-	 * This subset of java.lang.String.split(String regex)
-	 * uses only code that can be run on CLDC platforms.
-	 */
-	String [] split (String string, char ch) {
-		String [] result = new String[0];
-		int start = 0;
-		int length = string.length();
-		while (start < length) {
-			int end = string.indexOf(ch, start);
-			if (end == -1) end = length;
-			String substr = string.substring(start, end);
-			String [] newResult = new String[result.length + 1];
-			System.arraycopy(result, 0, newResult, 0, result.length);
-			newResult [result.length] = substr;
-			result = newResult;
-			start = end + 1;
-		}
-		return result;
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/TabFolderTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/TabFolderTab.java
deleted file mode 100644
index 2b6177a..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/TabFolderTab.java
+++ /dev/null
@@ -1,166 +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.swt.examples.controlexample;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-class TabFolderTab extends Tab {
-	/* Example widgets and groups that contain them */
-	TabFolder tabFolder1;
-	Group tabFolderGroup;
-	
-	/* Style widgets added to the "Style" group */
-	Button topButton, bottomButton;
-
-	static String [] TabItems1 = {ControlExample.getResourceString("TabItem1_0"),
-								  ControlExample.getResourceString("TabItem1_1"),
-								  ControlExample.getResourceString("TabItem1_2")};
-
-	/**
-	 * Creates the Tab within a given instance of ControlExample.
-	 */
-	TabFolderTab(ControlExample instance) {
-		super(instance);
-	}
-	
-	/**
-	 * Creates the "Example" group.
-	 */
-	void createExampleGroup () {
-		super.createExampleGroup ();
-		
-		/* Create a group for the TabFolder */
-		tabFolderGroup = new Group (exampleGroup, SWT.NONE);
-		tabFolderGroup.setLayout (new GridLayout ());
-		tabFolderGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true));
-		tabFolderGroup.setText ("TabFolder");
-	}
-	
-	/**
-	 * Creates the "Example" widgets.
-	 */
-	void createExampleWidgets () {
-		
-		/* Compute the widget style */
-		int style = getDefaultStyle();
-		if (topButton.getSelection ()) style |= SWT.TOP;
-		if (bottomButton.getSelection ()) style |= SWT.BOTTOM;
-		if (borderButton.getSelection ()) style |= SWT.BORDER;
-
-		/* Create the example widgets */
-		tabFolder1 = new TabFolder (tabFolderGroup, style);
-		for (int i = 0; i < TabItems1.length; i++) {
-			TabItem item = new TabItem(tabFolder1, SWT.NONE);
-			item.setText(TabItems1[i]);
-			item.setToolTipText(ControlExample.getResourceString("Tooltip", new String [] {TabItems1[i]}));
-			Text content = new Text(tabFolder1, SWT.WRAP | SWT.MULTI);
-			content.setText(ControlExample.getResourceString("TabItem_content") + ": " + i);
-			item.setControl(content);
-		}
-	}
-	
-	/**
-	 * Creates the "Style" group.
-	 */
-	void createStyleGroup() {
-		super.createStyleGroup ();
-		
-		/* Create the extra widgets */
-		topButton = new Button (styleGroup, SWT.RADIO);
-		topButton.setText ("SWT.TOP");
-		topButton.setSelection(true);
-		bottomButton = new Button (styleGroup, SWT.RADIO);
-		bottomButton.setText ("SWT.BOTTOM");
-		borderButton = new Button (styleGroup, SWT.CHECK);
-		borderButton.setText ("SWT.BORDER");
-	}
-	
-	/**
-	 * Gets the "Example" widget children's items, if any.
-	 *
-	 * @return an array containing the example widget children's items
-	 */
-	Item [] getExampleWidgetItems () {
-		return tabFolder1.getItems();
-	}
-	
-	/**
-	 * Gets the "Example" widget children.
-	 */
-	Widget [] getExampleWidgets () {
-		return new Widget [] {tabFolder1};
-	}
-	
-	/**
-	 * Returns a list of set/get API method names (without the set/get prefix)
-	 * that can be used to set/get values in the example control(s).
-	 */
-	String[] getMethodNames() {
-		return new String[] {"Selection", "SelectionIndex"};
-	}
-
-	String setMethodName(String methodRoot) {
-		/* Override to handle special case of int getSelectionIndex()/setSelection(int) */
-		return (methodRoot.equals("SelectionIndex")) ? "setSelection" : "set" + methodRoot;
-	}
-
-	Object[] parameterForType(String typeName, String value, Widget widget) {
-		if (value.equals("")) return new Object[] {new TabItem[0]};
-		if (typeName.equals("org.eclipse.swt.widgets.TabItem")) {
-			TabItem item = findItem(value, ((TabFolder) widget).getItems());
-			if (item != null) return new Object[] {item};
-		}
-		if (typeName.equals("[Lorg.eclipse.swt.widgets.TabItem;")) {
-			String[] values = split(value, ',');
-			TabItem[] items = new TabItem[values.length];
-			for (int i = 0; i < values.length; i++) {
-				items[i] = findItem(values[i], ((TabFolder) widget).getItems());
-			}
-			return new Object[] {items};
-		}
-		return super.parameterForType(typeName, value, widget);
-	}
-
-	TabItem findItem(String value, TabItem[] items) {
-		for (int i = 0; i < items.length; i++) {
-			TabItem item = items[i];
-			if (item.getText().equals(value)) return item;
-		}
-		return null;
-	}
-
-	/**
-	 * Gets the short text for the tab folder item.
-	 */
-	String getShortTabText() {
-		return "TF";
-	}
-
-	/**
-	 * Gets the text for the tab folder item.
-	 */
-	String getTabText () {
-		return "TabFolder";
-	}
-
-	/**
-	 * Sets the state of the "Example" widgets.
-	 */
-	void setExampleWidgetState () {
-		super.setExampleWidgetState ();
-		topButton.setSelection ((tabFolder1.getStyle () & SWT.TOP) != 0);
-		bottomButton.setSelection ((tabFolder1.getStyle () & SWT.BOTTOM) != 0);
-		borderButton.setSelection ((tabFolder1.getStyle () & SWT.BORDER) != 0);
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/TableTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/TableTab.java
deleted file mode 100755
index 696bf41..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/TableTab.java
+++ /dev/null
@@ -1,680 +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.swt.examples.controlexample;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.events.*;
-
-class TableTab extends ScrollableTab {
-	/* Example widgets and groups that contain them */
-	Table table1;
-	Group tableGroup;
-
-	/* Size widgets added to the "Size" group */
-	Button packColumnsButton;
-	
-	/* Style widgets added to the "Style" group */
-	Button checkButton, fullSelectionButton, hideSelectionButton;
-
-	/* Other widgets added to the "Other" group */
-	Button multipleColumns, moveableColumns, resizableColumns, headerVisibleButton, sortIndicatorButton, headerImagesButton, linesVisibleButton, subImagesButton;
-	
-	/* Controls and resources added to the "Colors and Fonts" group */
-	static final int ITEM_FOREGROUND_COLOR = 3;
-	static final int ITEM_BACKGROUND_COLOR = 4;
-	static final int ITEM_FONT = 5;
-	static final int CELL_FOREGROUND_COLOR = 6;
-	static final int CELL_BACKGROUND_COLOR = 7;
-	static final int CELL_FONT = 8;
-	Color itemForegroundColor, itemBackgroundColor, cellForegroundColor, cellBackgroundColor;
-	Font itemFont, cellFont;
-	
-	static String [] columnTitles	= {ControlExample.getResourceString("TableTitle_0"),
-									   ControlExample.getResourceString("TableTitle_1"),
-									   ControlExample.getResourceString("TableTitle_2"),
-									   ControlExample.getResourceString("TableTitle_3")};
-									   
-	static String[][] tableData = {
-		{ ControlExample.getResourceString("TableLine0_0"),
-				ControlExample.getResourceString("TableLine0_1"),
-				ControlExample.getResourceString("TableLine0_2"),
-				ControlExample.getResourceString("TableLine0_3") },
-		{ ControlExample.getResourceString("TableLine1_0"),
-				ControlExample.getResourceString("TableLine1_1"),
-				ControlExample.getResourceString("TableLine1_2"),
-				ControlExample.getResourceString("TableLine1_3") },
-		{ ControlExample.getResourceString("TableLine2_0"),
-				ControlExample.getResourceString("TableLine2_1"),
-				ControlExample.getResourceString("TableLine2_2"),
-				ControlExample.getResourceString("TableLine2_3") } };
-
-	Point menuMouseCoords;
-	
-	/**
-	 * Creates the Tab within a given instance of ControlExample.
-	 */
-	TableTab(ControlExample instance) {
-		super(instance);
-	}
-	
-	/**
-	 * Creates the "Colors and Fonts" group.
-	 */
-	void createColorAndFontGroup () {
-		super.createColorAndFontGroup();
-		
-		TableItem item = new TableItem(colorAndFontTable, SWT.None);
-		item.setText(ControlExample.getResourceString ("Item_Foreground_Color"));
-		item = new TableItem(colorAndFontTable, SWT.None);
-		item.setText(ControlExample.getResourceString ("Item_Background_Color"));
-		item = new TableItem(colorAndFontTable, SWT.None);
-		item.setText(ControlExample.getResourceString ("Item_Font"));
-		item = new TableItem(colorAndFontTable, SWT.None);
-		item.setText(ControlExample.getResourceString ("Cell_Foreground_Color"));
-		item = new TableItem(colorAndFontTable, SWT.None);
-		item.setText(ControlExample.getResourceString ("Cell_Background_Color"));
-		item = new TableItem(colorAndFontTable, SWT.None);
-		item.setText(ControlExample.getResourceString ("Cell_Font"));
-
-		shell.addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent event) {
-				if (itemBackgroundColor != null) itemBackgroundColor.dispose();
-				if (itemForegroundColor != null) itemForegroundColor.dispose();
-				if (itemFont != null) itemFont.dispose();
-				if (cellBackgroundColor != null) cellBackgroundColor.dispose();
-				if (cellForegroundColor != null) cellForegroundColor.dispose();
-				if (cellFont != null) cellFont.dispose();
-				itemBackgroundColor = null;
-				itemForegroundColor = null;			
-				itemFont = null;
-				cellBackgroundColor = null;
-				cellForegroundColor = null;			
-				cellFont = null;
-			}
-		});
-	}
-
-	void changeFontOrColor(int index) {
-		switch (index) {
-		case ITEM_FOREGROUND_COLOR: {
-			Color oldColor = itemForegroundColor;
-			if (oldColor == null) oldColor = table1.getItem (0).getForeground ();
-			colorDialog.setRGB(oldColor.getRGB());
-			RGB rgb = colorDialog.open();
-			if (rgb == null) return;
-			oldColor = itemForegroundColor;
-			itemForegroundColor = new Color (display, rgb);
-			setItemForeground ();
-			if (oldColor != null) oldColor.dispose ();
-		}
-		break;
-		case ITEM_BACKGROUND_COLOR: {
-			Color oldColor = itemBackgroundColor;
-			if (oldColor == null) oldColor = table1.getItem (0).getBackground ();
-			colorDialog.setRGB(oldColor.getRGB());
-			RGB rgb = colorDialog.open();
-			if (rgb == null) return;
-			oldColor = itemBackgroundColor;
-			itemBackgroundColor = new Color (display, rgb);
-			setItemBackground ();
-			if (oldColor != null) oldColor.dispose ();
-		}
-		break;
-		case ITEM_FONT: {
-			Font oldFont = itemFont;
-			if (oldFont == null) oldFont = table1.getItem (0).getFont ();
-			fontDialog.setFontList(oldFont.getFontData());
-			FontData fontData = fontDialog.open ();
-			if (fontData == null) return;
-			oldFont = itemFont;
-			itemFont = new Font (display, fontData);
-			setItemFont ();
-			setExampleWidgetSize ();
-			if (oldFont != null) oldFont.dispose ();
-		}
-		break;
-		case CELL_FOREGROUND_COLOR: {
-			Color oldColor = cellForegroundColor;
-			if (oldColor == null) oldColor = table1.getItem (0).getForeground (1);
-			colorDialog.setRGB(oldColor.getRGB());
-			RGB rgb = colorDialog.open();
-			if (rgb == null) return;
-			oldColor = cellForegroundColor;
-			cellForegroundColor = new Color (display, rgb);
-			setCellForeground ();
-			if (oldColor != null) oldColor.dispose ();
-		}
-		break;
-		case CELL_BACKGROUND_COLOR: {
-			Color oldColor = cellBackgroundColor;
-			if (oldColor == null) oldColor = table1.getItem (0).getBackground (1);
-			colorDialog.setRGB(oldColor.getRGB());
-			RGB rgb = colorDialog.open();
-			if (rgb == null) return;
-			oldColor = cellBackgroundColor;
-			cellBackgroundColor = new Color (display, rgb);
-			setCellBackground ();
-			if (oldColor != null) oldColor.dispose ();
-		}
-		break;
-		case CELL_FONT: {
-			Font oldFont = cellFont;
-			if (oldFont == null) oldFont = table1.getItem (0).getFont (1);
-			fontDialog.setFontList(oldFont.getFontData());
-			FontData fontData = fontDialog.open ();
-			if (fontData == null) return;
-			oldFont = cellFont;
-			cellFont = new Font (display, fontData);
-			setCellFont ();
-			setExampleWidgetSize ();
-			if (oldFont != null) oldFont.dispose ();
-		}
-		break;
-		default:
-			super.changeFontOrColor(index);
-	}
-	}
-
-	/**
-	 * Creates the "Other" group.
-	 */
-	void createOtherGroup () {
-		super.createOtherGroup ();
-	
-		/* Create display controls specific to this example */
-		linesVisibleButton = new Button (otherGroup, SWT.CHECK);
-		linesVisibleButton.setText (ControlExample.getResourceString("Lines_Visible"));
-		multipleColumns = new Button (otherGroup, SWT.CHECK);
-		multipleColumns.setText (ControlExample.getResourceString("Multiple_Columns"));
-		multipleColumns.setSelection(true);
-		headerVisibleButton = new Button (otherGroup, SWT.CHECK);
-		headerVisibleButton.setText (ControlExample.getResourceString("Header_Visible"));
-		sortIndicatorButton = new Button (otherGroup, SWT.CHECK);
-		sortIndicatorButton.setText (ControlExample.getResourceString("Sort_Indicator"));
-		moveableColumns = new Button (otherGroup, SWT.CHECK);
-		moveableColumns.setText (ControlExample.getResourceString("Moveable_Columns"));
-		resizableColumns = new Button (otherGroup, SWT.CHECK);
-		resizableColumns.setText (ControlExample.getResourceString("Resizable_Columns"));
-		headerImagesButton = new Button (otherGroup, SWT.CHECK);
-		headerImagesButton.setText (ControlExample.getResourceString("Header_Images"));
-		subImagesButton = new Button (otherGroup, SWT.CHECK);
-		subImagesButton.setText (ControlExample.getResourceString("Sub_Images"));
-
-		/* Add the listeners */
-		linesVisibleButton.addSelectionListener (new SelectionAdapter () {
-			public void widgetSelected (SelectionEvent event) {
-				setWidgetLinesVisible ();
-			}
-		});
-		multipleColumns.addSelectionListener (new SelectionAdapter () {
-			public void widgetSelected (SelectionEvent event) {
-				recreateExampleWidgets ();
-			}
-		});
-		headerVisibleButton.addSelectionListener (new SelectionAdapter () {
-			public void widgetSelected (SelectionEvent event) {
-				setWidgetHeaderVisible ();
-			}
-		});
-		sortIndicatorButton.addSelectionListener (new SelectionAdapter () {
-			public void widgetSelected (SelectionEvent event) {
-				setWidgetSortIndicator ();
-			}
-		});
-		moveableColumns.addSelectionListener (new SelectionAdapter () {
-			public void widgetSelected (SelectionEvent event) {
-				setColumnsMoveable ();
-			}
-		});
-		resizableColumns.addSelectionListener (new SelectionAdapter () {
-			public void widgetSelected (SelectionEvent event) {
-				setColumnsResizable ();
-			}
-		});
-		headerImagesButton.addSelectionListener (new SelectionAdapter () {
-			public void widgetSelected (SelectionEvent event) {
-				recreateExampleWidgets ();
-			}
-		});
-		subImagesButton.addSelectionListener (new SelectionAdapter () {
-			public void widgetSelected (SelectionEvent event) {
-				recreateExampleWidgets ();
-			}
-		});
-	}
-	
-	/**
-	 * Creates the "Example" group.
-	 */
-	void createExampleGroup () {
-		super.createExampleGroup ();
-		
-		/* Create a group for the table */
-		tableGroup = new Group (exampleGroup, SWT.NONE);
-		tableGroup.setLayout (new GridLayout ());
-		tableGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true));
-		tableGroup.setText ("Table");
-	}
-	
-	/**
-	 * Creates the "Example" widgets.
-	 */
-	void createExampleWidgets () {	
-		/* Compute the widget style */
-		int style = getDefaultStyle();
-		if (singleButton.getSelection ()) style |= SWT.SINGLE;
-		if (multiButton.getSelection ()) style |= SWT.MULTI;
-		if (verticalButton.getSelection ()) style |= SWT.V_SCROLL;
-		if (horizontalButton.getSelection ()) style |= SWT.H_SCROLL;
-		if (checkButton.getSelection ()) style |= SWT.CHECK;
-		if (fullSelectionButton.getSelection ()) style |= SWT.FULL_SELECTION;
-		if (hideSelectionButton.getSelection ()) style |= SWT.HIDE_SELECTION;
-		if (borderButton.getSelection ()) style |= SWT.BORDER;
-	
-		/* Create the table widget */
-		table1 = new Table (tableGroup, style);
-	
-		/* Fill the table with data */
-		boolean multiColumn = multipleColumns.getSelection();
-		if (multiColumn) {
-			for (int i = 0; i < columnTitles.length; i++) {
-				TableColumn tableColumn = new TableColumn(table1, SWT.NONE);
-				tableColumn.setText(columnTitles[i]);
-				tableColumn.setToolTipText(ControlExample.getResourceString("Tooltip", new String [] {columnTitles[i]}));
-				if (headerImagesButton.getSelection()) tableColumn.setImage(instance.images [i % 3]);
-			}
-			table1.setSortColumn(table1.getColumn(0));
-		}
-		for (int i=0; i<16; i++) {
-			TableItem item = new TableItem (table1, SWT.NONE);
-			if (multiColumn && subImagesButton.getSelection()) {
-				for (int j = 0; j < columnTitles.length; j++) {
-					item.setImage(j, instance.images [i % 3]);
-				}
-			} else {
-				item.setImage(instance.images [i % 3]);
-			}
-			setItemText (item, i, ControlExample.getResourceString("Index") + i);
-		}
-		packColumns();
-	}
-	
-	void setItemText(TableItem item, int i, String node) {
-		int index = i % 3;
-		if (multipleColumns.getSelection()) {
-			tableData [index][0] = node;
-			item.setText (tableData [index]);
-		} else {
-			item.setText (node);
-		}
-	}
-	
-	/**
-	 * Creates the "Size" group.  The "Size" group contains
-	 * controls that allow the user to change the size of
-	 * the example widgets.
-	 */
-	void createSizeGroup () {
-		super.createSizeGroup();
-	
-		packColumnsButton = new Button (sizeGroup, SWT.PUSH);
-		packColumnsButton.setText (ControlExample.getResourceString("Pack_Columns"));
-		packColumnsButton.addSelectionListener(new SelectionAdapter () {
-			public void widgetSelected (SelectionEvent event) {
-				packColumns ();
-				setExampleWidgetSize ();
-			}
-		});
-	}
-	
-	/**
-	 * Creates the "Style" group.
-	 */
-	void createStyleGroup () {
-		super.createStyleGroup ();
-		
-		/* Create the extra widgets */
-		checkButton = new Button (styleGroup, SWT.CHECK);
-		checkButton.setText ("SWT.CHECK");
-		fullSelectionButton = new Button (styleGroup, SWT.CHECK);
-		fullSelectionButton.setText ("SWT.FULL_SELECTION");
-		hideSelectionButton = new Button (styleGroup, SWT.CHECK);
-		hideSelectionButton.setText ("SWT.HIDE_SELECTION");
-	}
-	
-	/**
-	 * Gets the "Example" widget children's items, if any.
-	 *
-	 * @return an array containing the example widget children's items
-	 */
-	Item [] getExampleWidgetItems () {
-		Item [] columns = table1.getColumns();
-		Item [] items = table1.getItems();
-		Item [] allItems = new Item [columns.length + items.length];
-		System.arraycopy(columns, 0, allItems, 0, columns.length);
-		System.arraycopy(items, 0, allItems, columns.length, items.length);
-		return allItems;
-	}
-	
-	/**
-	 * Gets the "Example" widget children.
-	 */
-	Widget [] getExampleWidgets () {
-		return new Widget [] {table1};
-	}
-	
-	/**
-	 * Returns a list of set/get API method names (without the set/get prefix)
-	 * that can be used to set/get values in the example control(s).
-	 */
-	String[] getMethodNames() {
-		return new String[] {"ColumnOrder", "ItemCount", "Selection", "SelectionIndex", "ToolTipText", "TopIndex"};
-	}
-
-	String setMethodName(String methodRoot) {
-		/* Override to handle special case of int getSelectionIndex()/setSelection(int) */
-		return (methodRoot.equals("SelectionIndex")) ? "setSelection" : "set" + methodRoot;
-	}
-
-	void packColumns () {
-		int columnCount = table1.getColumnCount(); 
-		for (int i = 0; i < columnCount; i++) {
-			TableColumn tableColumn = table1.getColumn(i);
-			tableColumn.pack();
-		}
-	}
-
-	Object[] parameterForType(String typeName, String value, Widget widget) {
-		if (value.equals("")) return new Object[] {new TableItem[0]}; // bug in Table?
-		if (typeName.equals("org.eclipse.swt.widgets.TableItem")) {
-			TableItem item = findItem(value, ((Table) widget).getItems());
-			if (item != null) return new Object[] {item};
-		}
-		if (typeName.equals("[Lorg.eclipse.swt.widgets.TableItem;")) {
-			String[] values = split(value, ',');
-			TableItem[] items = new TableItem[values.length];
-			for (int i = 0; i < values.length; i++) {
-				items[i] = findItem(values[i], ((Table) widget).getItems());
-			}
-			return new Object[] {items};
-		}
-		return super.parameterForType(typeName, value, widget);
-	}
-
-	TableItem findItem(String value, TableItem[] items) {
-		for (int i = 0; i < items.length; i++) {
-			TableItem item = items[i];
-			if (item.getText().equals(value)) return item;
-		}
-		return null;
-	}
-
-	/**
-	 * Gets the text for the tab folder item.
-	 */
-	String getTabText () {
-		return "Table";
-	}
-	
-	/**
-	 * Sets the foreground color, background color, and font
-	 * of the "Example" widgets to their default settings.
-	 * Also sets foreground and background color of TableItem [0]
-	 * to default settings.
-	 */
-	void resetColorsAndFonts () {
-		super.resetColorsAndFonts ();
-		Color oldColor = itemForegroundColor;
-		itemForegroundColor = null;
-		setItemForeground ();
-		if (oldColor != null) oldColor.dispose();
-		oldColor = itemBackgroundColor;
-		itemBackgroundColor = null;
-		setItemBackground ();
-		if (oldColor != null) oldColor.dispose();
-		Font oldFont = font;
-		itemFont = null;
-		setItemFont ();
-		if (oldFont != null) oldFont.dispose();
-		oldColor = cellForegroundColor;
-		cellForegroundColor = null;
-		setCellForeground ();
-		if (oldColor != null) oldColor.dispose();
-		oldColor = cellBackgroundColor;
-		cellBackgroundColor = null;
-		setCellBackground ();
-		if (oldColor != null) oldColor.dispose();
-		oldFont = font;
-		cellFont = null;
-		setCellFont ();
-		if (oldFont != null) oldFont.dispose();
-	}
-	
-	/**
-	 * Sets the background color of the Row 0 TableItem in column 1.
-	 */
-	void setCellBackground () {
-		if (!instance.startup) {
-			table1.getItem (0).setBackground (1, cellBackgroundColor);
-		}
-		/* Set the background color item's image to match the background color of the cell. */
-		Color color = cellBackgroundColor;
-		if (color == null) color = table1.getItem (0).getBackground (1);
-		TableItem item = colorAndFontTable.getItem(CELL_BACKGROUND_COLOR);
-		Image oldImage = item.getImage();
-		if (oldImage != null) oldImage.dispose();
-		item.setImage (colorImage(color));
-	}
-	
-	/**
-	 * Sets the foreground color of the Row 0 TableItem in column 1.
-	 */
-	void setCellForeground () {
-		if (!instance.startup) {
-			table1.getItem (0).setForeground (1, cellForegroundColor);
-		}
-		/* Set the foreground color item's image to match the foreground color of the cell. */
-		Color color = cellForegroundColor;
-		if (color == null) color = table1.getItem (0).getForeground (1);
-		TableItem item = colorAndFontTable.getItem(CELL_FOREGROUND_COLOR);
-		Image oldImage = item.getImage();
-		if (oldImage != null) oldImage.dispose();
-		item.setImage (colorImage(color));
-	}
-	
-	/**
-	 * Sets the font of the Row 0 TableItem in column 1.
-	 */
-	void setCellFont () {
-		if (!instance.startup) {
-			table1.getItem (0).setFont (1, cellFont);
-		}
-		/* Set the font item's image to match the font of the item. */
-		Font ft = cellFont;
-		if (ft == null) ft = table1.getItem (0).getFont (1);
-		TableItem item = colorAndFontTable.getItem(CELL_FONT);
-		Image oldImage = item.getImage();
-		if (oldImage != null) oldImage.dispose();
-		item.setImage (fontImage(ft));
-		item.setFont(ft);
-		colorAndFontTable.layout ();
-	}
-
-	/**
-	 * Sets the background color of TableItem [0].
-	 */
-	void setItemBackground () {
-		if (!instance.startup) {
-			table1.getItem (0).setBackground (itemBackgroundColor);
-		}
-		/* Set the background color item's image to match the background color of the item. */
-		Color color = itemBackgroundColor;
-		if (color == null) color = table1.getItem (0).getBackground ();
-		TableItem item = colorAndFontTable.getItem(ITEM_BACKGROUND_COLOR);
-		Image oldImage = item.getImage();
-		if (oldImage != null) oldImage.dispose();
-		item.setImage (colorImage(color));
-	}
-	
-	/**
-	 * Sets the foreground color of TableItem [0].
-	 */
-	void setItemForeground () {
-		if (!instance.startup) {
-			table1.getItem (0).setForeground (itemForegroundColor);
-		}
-		/* Set the foreground color item's image to match the foreground color of the item. */
-		Color color = itemForegroundColor;
-		if (color == null) color = table1.getItem (0).getForeground ();
-		TableItem item = colorAndFontTable.getItem(ITEM_FOREGROUND_COLOR);
-		Image oldImage = item.getImage();
-		if (oldImage != null) oldImage.dispose();
-		item.setImage (colorImage(color));
-	}
-	
-	/**
-	 * Sets the font of TableItem 0.
-	 */
-	void setItemFont () {
-		if (!instance.startup) {
-			table1.getItem (0).setFont (itemFont);
-		}
-		/* Set the font item's image to match the font of the item. */
-		Font ft = itemFont;
-		if (ft == null) ft = table1.getItem (0).getFont ();
-		TableItem item = colorAndFontTable.getItem(ITEM_FONT);
-		Image oldImage = item.getImage();
-		if (oldImage != null) oldImage.dispose();
-		item.setImage (fontImage(ft));
-		item.setFont(ft);
-		colorAndFontTable.layout ();
-	}
-
-	/**
-	 * Sets the moveable columns state of the "Example" widgets.
-	 */
-	void setColumnsMoveable () {
-		boolean selection = moveableColumns.getSelection();
-		TableColumn[] columns = table1.getColumns();
-		for (int i = 0; i < columns.length; i++) {
-			columns[i].setMoveable(selection);
-		}
-	}
-
-	/**
-	 * Sets the resizable columns state of the "Example" widgets.
-	 */
-	void setColumnsResizable () {
-		boolean selection = resizableColumns.getSelection();
-		TableColumn[] columns = table1.getColumns();
-		for (int i = 0; i < columns.length; i++) {
-			columns[i].setResizable(selection);
-		}
-	}
-
-	/**
-	 * Sets the state of the "Example" widgets.
-	 */
-	void setExampleWidgetState () {
-		setItemBackground ();
-		setItemForeground ();
-		setItemFont ();
-		setCellBackground ();
-		setCellForeground ();
-		setCellFont ();
-		if (!instance.startup) {
-			setColumnsMoveable ();
-			setColumnsResizable ();
-			setWidgetHeaderVisible ();
-			setWidgetSortIndicator ();
-			setWidgetLinesVisible ();
-		}
-		super.setExampleWidgetState ();
-		checkButton.setSelection ((table1.getStyle () & SWT.CHECK) != 0);
-		fullSelectionButton.setSelection ((table1.getStyle () & SWT.FULL_SELECTION) != 0);
-		hideSelectionButton.setSelection ((table1.getStyle () & SWT.HIDE_SELECTION) != 0);
-		try {
-			TableColumn column = table1.getColumn(0);
-			moveableColumns.setSelection (column.getMoveable());
-			resizableColumns.setSelection (column.getResizable());
-		} catch (IllegalArgumentException ex) {}
-		headerVisibleButton.setSelection (table1.getHeaderVisible());
-		linesVisibleButton.setSelection (table1.getLinesVisible());
-	}
-	
-	/**
-	 * Sets the header visible state of the "Example" widgets.
-	 */
-	void setWidgetHeaderVisible () {
-		table1.setHeaderVisible (headerVisibleButton.getSelection ());
-	}
-	
-	/**
-	 * Sets the sort indicator state of the "Example" widgets.
-	 */
-	void setWidgetSortIndicator () {
-		TableColumn [] columns = table1.getColumns();
-		if (sortIndicatorButton.getSelection ()) {
-			/* Reset to known state: 'down' on column 0. */
-			table1.setSortDirection (SWT.DOWN);
-			for (int i = 0; i < columns.length; i++) {
-				TableColumn column = columns[i];
-				if (i == 0) table1.setSortColumn(column);
-				SelectionListener listener = new SelectionAdapter() {
-					public void widgetSelected(SelectionEvent e) {
-						int sortDirection = SWT.DOWN;
-						if (e.widget == table1.getSortColumn()) {
-							/* If the sort column hasn't changed, cycle down -> up -> none. */
-							switch (table1.getSortDirection ()) {
-							case SWT.DOWN: sortDirection = SWT.UP; break;
-							case SWT.UP: sortDirection = SWT.NONE; break;
-							}
-						} else {
-							table1.setSortColumn((TableColumn)e.widget);
-						}
-						table1.setSortDirection (sortDirection);
-					}
-				};
-				column.addSelectionListener(listener);
-				column.setData("SortListener", listener);	//$NON-NLS-1$
-			}
-		} else {
-			table1.setSortDirection (SWT.NONE);
-			for (int j = 0; j < columns.length; j++) {
-				SelectionListener listener = (SelectionListener)columns[j].getData("SortListener");	//$NON-NLS-1$
-				if (listener != null) columns[j].removeSelectionListener(listener);
-			}
-		}
-	}
-	
-	/**
-	 * Sets the lines visible state of the "Example" widgets.
-	 */
-	void setWidgetLinesVisible () {
-		table1.setLinesVisible (linesVisibleButton.getSelection ());
-	}
-	
-	protected void specialPopupMenuItems(Menu menu, Event event) {
-    	MenuItem item = new MenuItem(menu, SWT.PUSH);
-    	item.setText("getItem(Point) on mouse coordinates");
-    	menuMouseCoords = table1.toControl(new Point(event.x, event.y));
-    	item.addSelectionListener(new SelectionAdapter() {
-    		public void widgetSelected(SelectionEvent e) {
-    			eventConsole.append ("getItem(Point(" + menuMouseCoords + ")) returned: " + table1.getItem(menuMouseCoords));
-    			eventConsole.append ("\n");
-    		};
-    	});
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/TextTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/TextTab.java
deleted file mode 100755
index dd49c1b..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/TextTab.java
+++ /dev/null
@@ -1,181 +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.swt.examples.controlexample;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-
-class TextTab extends ScrollableTab {
-	/* Example widgets and groups that contain them */
-	Text text;
-	Group textGroup;
-
-	/* Style widgets added to the "Style" group */
-	Button wrapButton, readOnlyButton, passwordButton, searchButton, cancelButton;
-	Button leftButton, centerButton, rightButton;
-	
-	/**
-	 * Creates the Tab within a given instance of ControlExample.
-	 */
-	TextTab(ControlExample instance) {
-		super(instance);
-	}
-
-	/**
-	 * Creates the "Example" group.
-	 */
-	void createExampleGroup () {
-		super.createExampleGroup ();
-		
-		/* Create a group for the text widget */
-		textGroup = new Group (exampleGroup, SWT.NONE);
-		textGroup.setLayout (new GridLayout ());
-		textGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true));
-		textGroup.setText ("Text");
-	}
-	
-	/**
-	 * Creates the "Example" widgets.
-	 */
-	void createExampleWidgets () {
-		
-		/* Compute the widget style */
-		int style = getDefaultStyle();
-		if (singleButton.getSelection ()) style |= SWT.SINGLE;
-		if (multiButton.getSelection ()) style |= SWT.MULTI;
-		if (horizontalButton.getSelection ()) style |= SWT.H_SCROLL;
-		if (verticalButton.getSelection ()) style |= SWT.V_SCROLL;
-		if (wrapButton.getSelection ()) style |= SWT.WRAP;
-		if (readOnlyButton.getSelection ()) style |= SWT.READ_ONLY;
-		if (passwordButton.getSelection ()) style |= SWT.PASSWORD;
-		if (searchButton.getSelection ()) style |= SWT.SEARCH;
-		if (cancelButton.getSelection ()) style |= SWT.CANCEL;
-		if (borderButton.getSelection ()) style |= SWT.BORDER;
-		if (leftButton.getSelection ()) style |= SWT.LEFT;
-		if (centerButton.getSelection ()) style |= SWT.CENTER;
-		if (rightButton.getSelection ()) style |= SWT.RIGHT;
-	
-		/* Create the example widgets */
-		text = new Text (textGroup, style);
-		text.setText (ControlExample.getResourceString("Example_string") + Text.DELIMITER + ControlExample.getResourceString("One_Two_Three"));
-	}
-	
-	/**
-	 * Creates the "Style" group.
-	 */
-	void createStyleGroup() {
-		super.createStyleGroup();
-	
-		/* Create the extra widgets */
-		wrapButton = new Button (styleGroup, SWT.CHECK);
-		wrapButton.setText ("SWT.WRAP");
-		readOnlyButton = new Button (styleGroup, SWT.CHECK);
-		readOnlyButton.setText ("SWT.READ_ONLY");
-		passwordButton = new Button (styleGroup, SWT.CHECK);
-		passwordButton.setText ("SWT.PASSWORD");
-		searchButton = new Button (styleGroup, SWT.CHECK);
-		searchButton.setText ("SWT.SEARCH");
-		cancelButton = new Button (styleGroup, SWT.CHECK);
-		cancelButton.setText ("SWT.CANCEL");
-
-		Composite alignmentGroup = new Composite (styleGroup, SWT.NONE);
-		GridLayout layout = new GridLayout ();
-		layout.marginWidth = layout.marginHeight = 0;
-		alignmentGroup.setLayout (layout);
-		alignmentGroup.setLayoutData (new GridData (GridData.FILL_BOTH));
-		leftButton = new Button (alignmentGroup, SWT.RADIO);
-		leftButton.setText ("SWT.LEFT");
-		centerButton = new Button (alignmentGroup, SWT.RADIO);
-		centerButton.setText ("SWT.CENTER");
-		rightButton = new Button (alignmentGroup, SWT.RADIO);
-		rightButton.setText ("SWT.RIGHT");
-	}
-
-	/**
-	 * Creates the tab folder page.
-	 *
-	 * @param tabFolder org.eclipse.swt.widgets.TabFolder
-	 * @return the new page for the tab folder
-	 */
-	Composite createTabFolderPage (TabFolder tabFolder) {
-		super.createTabFolderPage (tabFolder);
-
-		/*
-		 * Add a resize listener to the tabFolderPage so that
-		 * if the user types into the example widget to change
-		 * its preferred size, and then resizes the shell, we
-		 * recalculate the preferred size correctly.
-		 */
-		tabFolderPage.addControlListener(new ControlAdapter() {
-			public void controlResized(ControlEvent e) {
-				setExampleWidgetSize ();
-			}
-		});
-		
-		return tabFolderPage;
-	}
-
-	/**
-	 * Gets the "Example" widget children.
-	 */
-	Widget [] getExampleWidgets () {
-		return new Widget [] {text};
-	}
-	
-	/**
-	 * Returns a list of set/get API method names (without the set/get prefix)
-	 * that can be used to set/get values in the example control(s).
-	 */
-	String[] getMethodNames() {
-		return new String[] {"DoubleClickEnabled", "EchoChar", "Editable", "Orientation", "Selection", "Tabs", "Text", "TextLimit", "ToolTipText", "TopIndex"};
-	}
-
-	/**
-	 * Gets the text for the tab folder item.
-	 */
-	String getTabText () {
-		return "Text";
-	}
-	
-	/**
-	 * Sets the state of the "Example" widgets.
-	 */
-	void setExampleWidgetState () {
-		super.setExampleWidgetState ();
-		wrapButton.setSelection ((text.getStyle () & SWT.WRAP) != 0);
-		readOnlyButton.setSelection ((text.getStyle () & SWT.READ_ONLY) != 0);
-		passwordButton.setSelection ((text.getStyle () & SWT.PASSWORD) != 0);
-		searchButton.setSelection ((text.getStyle () & SWT.SEARCH) != 0);
-		leftButton.setSelection ((text.getStyle () & SWT.LEFT) != 0);
-		centerButton.setSelection ((text.getStyle () & SWT.CENTER) != 0);
-		rightButton.setSelection ((text.getStyle () & SWT.RIGHT) != 0);
-		
-		/* Special case: CANCEL and H_SCROLL have the same value,
-		 * so to avoid confusion, only set CANCEL if SEARCH is set. */
-		if ((text.getStyle () & SWT.SEARCH) != 0) {
-			cancelButton.setSelection ((text.getStyle () & SWT.CANCEL) != 0);
-			horizontalButton.setSelection (false);
-		} else {
-			cancelButton.setSelection (false);
-			horizontalButton.setSelection ((text.getStyle () & SWT.H_SCROLL) != 0);
-		}
-
-		passwordButton.setEnabled ((text.getStyle () & SWT.SINGLE) != 0);
-		searchButton.setEnabled ((text.getStyle () & SWT.SINGLE) != 0);
-		cancelButton.setEnabled ((text.getStyle () & SWT.SEARCH) != 0);
-		wrapButton.setEnabled ((text.getStyle () & SWT.MULTI) != 0);
-		horizontalButton.setEnabled ((text.getStyle () & SWT.MULTI) != 0);
-		verticalButton.setEnabled ((text.getStyle () & SWT.MULTI) != 0);
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ToolBarTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ToolBarTab.java
deleted file mode 100755
index 143d126..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ToolBarTab.java
+++ /dev/null
@@ -1,356 +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.swt.examples.controlexample;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.events.*;
-
-class ToolBarTab extends Tab {
-	/* Example widgets and groups that contain them */
-	ToolBar imageToolBar, textToolBar, imageTextToolBar;
-	Group imageToolBarGroup, textToolBarGroup, imageTextToolBarGroup;
-	
-	/* Style widgets added to the "Style" group */
-	Button horizontalButton, verticalButton, flatButton, shadowOutButton, wrapButton, rightButton;
-
-	/* Other widgets added to the "Other" group */
-	Button comboChildButton;
-	
-	/**
-	 * Creates the Tab within a given instance of ControlExample.
-	 */
-	ToolBarTab(ControlExample instance) {
-		super(instance);
-	}
-
-	/**
-	 * Creates the "Example" group.
-	 */
-	void createExampleGroup () {
-		super.createExampleGroup ();
-		
-		/* Create a group for the image tool bar */
-		imageToolBarGroup = new Group (exampleGroup, SWT.NONE);
-		imageToolBarGroup.setLayout (new GridLayout ());
-		imageToolBarGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true));
-		imageToolBarGroup.setText (ControlExample.getResourceString("Image_ToolBar"));
-	
-		/* Create a group for the text tool bar */
-		textToolBarGroup = new Group (exampleGroup, SWT.NONE);
-		textToolBarGroup.setLayout (new GridLayout ());
-		textToolBarGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true));
-		textToolBarGroup.setText (ControlExample.getResourceString("Text_ToolBar"));
-		
-		/* Create a group for the image and text tool bar */
-		imageTextToolBarGroup = new Group (exampleGroup, SWT.NONE);
-		imageTextToolBarGroup.setLayout (new GridLayout ());
-		imageTextToolBarGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true));
-		imageTextToolBarGroup.setText (ControlExample.getResourceString("ImageText_ToolBar"));
-	}
-	
-	/**
-	 * Creates the "Example" widgets.
-	 */
-	void createExampleWidgets () {
-	
-		/* Compute the widget style */
-		int style = getDefaultStyle();
-		if (horizontalButton.getSelection()) style |= SWT.HORIZONTAL;
-		if (verticalButton.getSelection()) style |= SWT.VERTICAL;
-		if (flatButton.getSelection()) style |= SWT.FLAT;
-		if (wrapButton.getSelection()) style |= SWT.WRAP;
-		if (borderButton.getSelection()) style |= SWT.BORDER;
-		if (shadowOutButton.getSelection()) style |= SWT.SHADOW_OUT;
-		if (rightButton.getSelection()) style |= SWT.RIGHT;
-	
-		/*
-		* Create the example widgets.
-		*
-		* A tool bar must consist of all image tool
-		* items or all text tool items but not both.
-		*/
-	
-		/* Create the image tool bar */
-		imageToolBar = new ToolBar (imageToolBarGroup, style);
-		ToolItem item = new ToolItem (imageToolBar, SWT.PUSH);
-		item.setImage (instance.images[ControlExample.ciClosedFolder]);
-		item.setToolTipText("SWT.PUSH");
-		item = new ToolItem (imageToolBar, SWT.PUSH);
-		item.setImage (instance.images[ControlExample.ciClosedFolder]);
-		item.setToolTipText ("SWT.PUSH");
-		item = new ToolItem (imageToolBar, SWT.RADIO);
-		item.setImage (instance.images[ControlExample.ciOpenFolder]);
-		item.setToolTipText ("SWT.RADIO");
-		item = new ToolItem (imageToolBar, SWT.RADIO);
-		item.setImage (instance.images[ControlExample.ciOpenFolder]);
-		item.setToolTipText ("SWT.RADIO");
-		item = new ToolItem (imageToolBar, SWT.CHECK);
-		item.setImage (instance.images[ControlExample.ciTarget]);
-		item.setToolTipText ("SWT.CHECK");
-		item = new ToolItem (imageToolBar, SWT.RADIO);
-		item.setImage (instance.images[ControlExample.ciClosedFolder]);
-		item.setToolTipText ("SWT.RADIO");
-		item = new ToolItem (imageToolBar, SWT.RADIO);
-		item.setImage (instance.images[ControlExample.ciClosedFolder]);
-		item.setToolTipText ("SWT.RADIO");
-		item = new ToolItem (imageToolBar, SWT.SEPARATOR);
-		item.setToolTipText("SWT.SEPARATOR");
-		if (comboChildButton.getSelection ()) {
-			Combo combo = new Combo (imageToolBar, SWT.NONE);
-			combo.setItems (new String [] {"250", "500", "750"});
-			combo.setText (combo.getItem (0));
-			combo.pack ();
-			item.setWidth (combo.getSize ().x);
-			item.setControl (combo);
-		}
-		item = new ToolItem (imageToolBar, SWT.DROP_DOWN);
-		item.setImage (instance.images[ControlExample.ciTarget]);
-		item.setToolTipText ("SWT.DROP_DOWN");
-		item.addSelectionListener(new DropDownSelectionListener());
-	
-		/* Create the text tool bar */
-		textToolBar = new ToolBar (textToolBarGroup, style);
-		item = new ToolItem (textToolBar, SWT.PUSH);
-		item.setText (ControlExample.getResourceString("Push"));
-		item.setToolTipText("SWT.PUSH");
-		item = new ToolItem (textToolBar, SWT.PUSH);
-		item.setText (ControlExample.getResourceString("Push"));
-		item.setToolTipText("SWT.PUSH");
-		item = new ToolItem (textToolBar, SWT.RADIO);
-		item.setText (ControlExample.getResourceString("Radio"));
-		item.setToolTipText("SWT.RADIO");
-		item = new ToolItem (textToolBar, SWT.RADIO);
-		item.setText (ControlExample.getResourceString("Radio"));
-		item.setToolTipText("SWT.RADIO");
-		item = new ToolItem (textToolBar, SWT.CHECK);
-		item.setText (ControlExample.getResourceString("Check"));
-		item.setToolTipText("SWT.CHECK");
-		item = new ToolItem (textToolBar, SWT.RADIO);
-		item.setText (ControlExample.getResourceString("Radio"));
-		item.setToolTipText("SWT.RADIO");
-		item = new ToolItem (textToolBar, SWT.RADIO);
-		item.setText (ControlExample.getResourceString("Radio"));
-		item.setToolTipText("SWT.RADIO");
-		item = new ToolItem (textToolBar, SWT.SEPARATOR);
-		item.setToolTipText("SWT.SEPARATOR");
-		if (comboChildButton.getSelection ()) {
-			Combo combo = new Combo (textToolBar, SWT.NONE);
-			combo.setItems (new String [] {"250", "500", "750"});
-			combo.setText (combo.getItem (0));
-			combo.pack ();
-			item.setWidth (combo.getSize ().x);
-			item.setControl (combo);
-		}
-		item = new ToolItem (textToolBar, SWT.DROP_DOWN);
-		item.setText (ControlExample.getResourceString("Drop_Down"));
-		item.setToolTipText("SWT.DROP_DOWN");
-		item.addSelectionListener(new DropDownSelectionListener());
-
-		/* Create the image and text tool bar */
-		imageTextToolBar = new ToolBar (imageTextToolBarGroup, style);
-		item = new ToolItem (imageTextToolBar, SWT.PUSH);
-		item.setImage (instance.images[ControlExample.ciClosedFolder]);
-		item.setText (ControlExample.getResourceString("Push"));
-		item.setToolTipText("SWT.PUSH");
-		item = new ToolItem (imageTextToolBar, SWT.PUSH);
-		item.setImage (instance.images[ControlExample.ciClosedFolder]);
-		item.setText (ControlExample.getResourceString("Push"));
-		item.setToolTipText("SWT.PUSH");
-		item = new ToolItem (imageTextToolBar, SWT.RADIO);
-		item.setImage (instance.images[ControlExample.ciOpenFolder]);
-		item.setText (ControlExample.getResourceString("Radio"));
-		item.setToolTipText("SWT.RADIO");
-		item = new ToolItem (imageTextToolBar, SWT.RADIO);
-		item.setImage (instance.images[ControlExample.ciOpenFolder]);
-		item.setText (ControlExample.getResourceString("Radio"));
-		item.setToolTipText("SWT.RADIO");
-		item = new ToolItem (imageTextToolBar, SWT.CHECK);
-		item.setImage (instance.images[ControlExample.ciTarget]);
-		item.setText (ControlExample.getResourceString("Check"));
-		item.setToolTipText("SWT.CHECK");
-		item = new ToolItem (imageTextToolBar, SWT.RADIO);
-		item.setImage (instance.images[ControlExample.ciClosedFolder]);
-		item.setText (ControlExample.getResourceString("Radio"));
-		item.setToolTipText("SWT.RADIO");
-		item = new ToolItem (imageTextToolBar, SWT.RADIO);
-		item.setImage (instance.images[ControlExample.ciClosedFolder]);
-		item.setText (ControlExample.getResourceString("Radio"));
-		item.setToolTipText("SWT.RADIO");
-		item = new ToolItem (imageTextToolBar, SWT.SEPARATOR);
-		item.setToolTipText("SWT.SEPARATOR");
-		if (comboChildButton.getSelection ()) {
-			Combo combo = new Combo (imageTextToolBar, SWT.NONE);
-			combo.setItems (new String [] {"250", "500", "750"});
-			combo.setText (combo.getItem (0));
-			combo.pack ();
-			item.setWidth (combo.getSize ().x);
-			item.setControl (combo);
-		}
-		item = new ToolItem (imageTextToolBar, SWT.DROP_DOWN);
-		item.setImage (instance.images[ControlExample.ciTarget]);
-		item.setText (ControlExample.getResourceString("Drop_Down"));
-		item.setToolTipText("SWT.DROP_DOWN");
-		item.addSelectionListener(new DropDownSelectionListener());
-
-		/*
-		* Do not add the selection event for this drop down
-		* tool item.  Without hooking the event, the drop down
-		* widget does nothing special when the drop down area
-		* is selected.
-		*/
-	}
-	
-	/**
-	 * Creates the "Other" group.
-	 */
-	void createOtherGroup () {
-		super.createOtherGroup ();
-	
-		/* Create display controls specific to this example */
-		comboChildButton = new Button (otherGroup, SWT.CHECK);
-		comboChildButton.setText (ControlExample.getResourceString("Combo_child"));
-	
-		/* Add the listeners */
-		comboChildButton.addSelectionListener (new SelectionAdapter () {
-			public void widgetSelected (SelectionEvent event) {
-				recreateExampleWidgets ();
-			}
-		});
-	}
-	
-	/**
-	 * Creates the "Style" group.
-	 */
-	void createStyleGroup() {
-		super.createStyleGroup();
-	
-		/* Create the extra widgets */
-		horizontalButton = new Button (styleGroup, SWT.RADIO);
-		horizontalButton.setText ("SWT.HORIZONTAL");
-		verticalButton = new Button (styleGroup, SWT.RADIO);
-		verticalButton.setText ("SWT.VERTICAL");
-		flatButton = new Button (styleGroup, SWT.CHECK);
-		flatButton.setText ("SWT.FLAT");
-		shadowOutButton = new Button (styleGroup, SWT.CHECK);
-		shadowOutButton.setText ("SWT.SHADOW_OUT");
-		wrapButton = new Button (styleGroup, SWT.CHECK);
-		wrapButton.setText ("SWT.WRAP");
-		rightButton = new Button (styleGroup, SWT.CHECK);
-		rightButton.setText ("SWT.RIGHT");
-		borderButton = new Button (styleGroup, SWT.CHECK);
-		borderButton.setText ("SWT.BORDER");
-	}
-	
-	void disposeExampleWidgets () {
-		super.disposeExampleWidgets ();
-	}
-	
-	/**
-	 * Gets the "Example" widget children's items, if any.
-	 *
-	 * @return an array containing the example widget children's items
-	 */
-	Item [] getExampleWidgetItems () {
-		Item [] imageToolBarItems = imageToolBar.getItems();
-		Item [] textToolBarItems = textToolBar.getItems();
-		Item [] imageTextToolBarItems = imageTextToolBar.getItems();
-		Item [] allItems = new Item [imageToolBarItems.length + textToolBarItems.length + imageTextToolBarItems.length];
-		System.arraycopy(imageToolBarItems, 0, allItems, 0, imageToolBarItems.length);
-		System.arraycopy(textToolBarItems, 0, allItems, imageToolBarItems.length, textToolBarItems.length);
-		System.arraycopy(imageTextToolBarItems, 0, allItems, imageToolBarItems.length + textToolBarItems.length, imageTextToolBarItems.length);
-		return allItems;
-	}
-	
-	/**
-	 * Gets the "Example" widget children.
-	 */
-	Widget [] getExampleWidgets () {
-		return new Widget [] {imageToolBar, textToolBar, imageTextToolBar};
-	}
-	
-	/**
-	 * Gets the short text for the tab folder item.
-	 */
-	String getShortTabText() {
-		return "TB";
-	}
-
-	/**
-	 * Gets the text for the tab folder item.
-	 */
-	String getTabText () {
-		return "ToolBar";
-	}
-	
-	/**
-	 * Sets the state of the "Example" widgets.
-	 */
-	void setExampleWidgetState () {
-		super.setExampleWidgetState ();
-		horizontalButton.setSelection ((imageToolBar.getStyle () & SWT.HORIZONTAL) != 0);
-		verticalButton.setSelection ((imageToolBar.getStyle () & SWT.VERTICAL) != 0);
-		flatButton.setSelection ((imageToolBar.getStyle () & SWT.FLAT) != 0);
-		wrapButton.setSelection ((imageToolBar.getStyle () & SWT.WRAP) != 0);
-		shadowOutButton.setSelection ((imageToolBar.getStyle () & SWT.SHADOW_OUT) != 0);
-		borderButton.setSelection ((imageToolBar.getStyle () & SWT.BORDER) != 0);
-		rightButton.setSelection ((imageToolBar.getStyle () & SWT.RIGHT) != 0);
-	}
-	
-	/**
-	 * Listens to widgetSelected() events on SWT.DROP_DOWN type ToolItems
-	 * and opens/closes a menu when appropriate.
-	 */
-	class DropDownSelectionListener extends SelectionAdapter {
-		private Menu    menu = null;
-		
-		public void widgetSelected(SelectionEvent event) {
-			// Create the menu if it has not already been created
-			if (menu == null) {
-				// Lazy create the menu.
-				ToolBar toolbar = ((ToolItem) event.widget).getParent();
-				int style = toolbar.getStyle() & (SWT.RIGHT_TO_LEFT | SWT.LEFT_TO_RIGHT);
-				menu = new Menu(shell, style | SWT.POP_UP);
-				for (int i = 0; i < 9; ++i) {
-					final String text = ControlExample.getResourceString("DropDownData_" + i);
-					if (text.length() != 0) {
-						MenuItem menuItem = new MenuItem(menu, SWT.NONE);
-						menuItem.setText(text);
-					} else {
-						new MenuItem(menu, SWT.SEPARATOR);
-					}
-				}
-			}
-			
-			/**
-			 * A selection event will be fired when a drop down tool
-			 * item is selected in the main area and in the drop
-			 * down arrow.  Examine the event detail to determine
-			 * where the widget was selected.
-			 */		
-			if (event.detail == SWT.ARROW) {
-				/*
-				 * The drop down arrow was selected.
-				 */
-				// Position the menu below and vertically aligned with the the drop down tool button.
-				final ToolItem toolItem = (ToolItem) event.widget;
-				final ToolBar  toolBar = toolItem.getParent();
-				
-				Point point = toolBar.toDisplay(new Point(event.x, event.y));
-				menu.setLocation(point.x, point.y);
-				menu.setVisible(true);
-			} 
-		}
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ToolTipTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ToolTipTab.java
deleted file mode 100644
index 6a02a82..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ToolTipTab.java
+++ /dev/null
@@ -1,249 +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.swt.examples.controlexample;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-
-class ToolTipTab extends Tab {
-
-	/* Example widgets and groups that contain them */
-	ToolTip toolTip1;
-	Group toolTipGroup;
-	
-	/* Style widgets added to the "Style" group */
-	Button balloonButton, iconErrorButton, iconInformationButton, iconWarningButton, noIconButton;
-	
-	/* Other widgets added to the "Other" group */
-	Button autoHideButton, showInTrayButton;
-	
-	Tray tray;
-	TrayItem trayItem;
-	
-	/**
-	 * Creates the Tab within a given instance of ControlExample.
-	 */
-	ToolTipTab(ControlExample instance) {
-		super(instance);
-	}
-	
-	/**
-	 * Creates the "Example" group.
-	 */
-	void createExampleGroup () {
-		super.createExampleGroup ();
-		
-		/* Create a group for the tooltip visibility check box */
-		toolTipGroup = new Group (exampleGroup, SWT.NONE);
-		toolTipGroup.setLayout (new GridLayout ());
-		toolTipGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true));
-		toolTipGroup.setText ("ToolTip");
-		visibleButton = new Button(toolTipGroup, SWT.CHECK);
-		visibleButton.setText(ControlExample.getResourceString("Visible"));
-		visibleButton.addSelectionListener (new SelectionAdapter () {
-			public void widgetSelected (SelectionEvent event) {
-				setExampleWidgetVisibility ();
-			}
-		});
-	}
-	
-	/**
-	 * Creates the "Example" widgets.
-	 */
-	void createExampleWidgets () {
-		
-		/* Compute the widget style */
-		int style = getDefaultStyle();
-		if (balloonButton.getSelection ()) style |= SWT.BALLOON;
-		if (iconErrorButton.getSelection ()) style |= SWT.ICON_ERROR;
-		if (iconInformationButton.getSelection ()) style |= SWT.ICON_INFORMATION;
-		if (iconWarningButton.getSelection ()) style |= SWT.ICON_WARNING;
-		
-		/* Create the example widgets */
-		toolTip1 = new ToolTip (shell, style);
-		toolTip1.setText(ControlExample.getResourceString("ToolTip_Title"));
-		toolTip1.setMessage(ControlExample.getResourceString("Example_string"));
-	}
-	
-	/**
-	 * Creates the tab folder page.
-	 *
-	 * @param tabFolder org.eclipse.swt.widgets.TabFolder
-	 * @return the new page for the tab folder
-	 */
-	Composite createTabFolderPage (TabFolder tabFolder) {
-		super.createTabFolderPage (tabFolder);
-
-		/*
-		 * Add a resize listener to the tabFolderPage so that
-		 * if the user types into the example widget to change
-		 * its preferred size, and then resizes the shell, we
-		 * recalculate the preferred size correctly.
-		 */
-		tabFolderPage.addControlListener(new ControlAdapter() {
-			public void controlResized(ControlEvent e) {
-				setExampleWidgetSize ();
-			}
-		});
-		
-		return tabFolderPage;
-	}
-
-	/**
-	 * Creates the "Style" group.
-	 */
-	void createStyleGroup () {
-		super.createStyleGroup ();
-	
-		/* Create the extra widgets */
-		balloonButton = new Button (styleGroup, SWT.CHECK);
-		balloonButton.setText ("SWT.BALLOON");
-		iconErrorButton = new Button (styleGroup, SWT.RADIO);
-		iconErrorButton.setText("SWT.ICON_ERROR");
-		iconInformationButton = new Button (styleGroup, SWT.RADIO);
-		iconInformationButton.setText("SWT.ICON_INFORMATION");
-		iconWarningButton = new Button (styleGroup, SWT.RADIO);
-		iconWarningButton.setText("SWT.ICON_WARNING");
-		noIconButton = new Button (styleGroup, SWT.RADIO);
-		noIconButton.setText(ControlExample.getResourceString("No_Icon"));
-	}
-	
-	void createColorAndFontGroup () {
-		// ToolTip does not need a color and font group.
-	}
-	
-	void createOtherGroup () {
-		/* Create the group */
-		otherGroup = new Group (controlGroup, SWT.NONE);
-		otherGroup.setLayout (new GridLayout ());
-		otherGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, false, false));
-		otherGroup.setText (ControlExample.getResourceString("Other"));
-	
-		/* Create the controls */
-		autoHideButton = new Button(otherGroup, SWT.CHECK);
-		autoHideButton.setText(ControlExample.getResourceString("AutoHide"));
-		showInTrayButton = new Button(otherGroup, SWT.CHECK);
-		showInTrayButton.setText(ControlExample.getResourceString("Show_In_Tray"));
-		tray = display.getSystemTray();
-		showInTrayButton.setEnabled(tray != null);
-
-		/* Add the listeners */
-		autoHideButton.addSelectionListener (new SelectionAdapter () {
-			public void widgetSelected (SelectionEvent event) {
-				setExampleWidgetAutoHide ();
-			}
-		});
-		showInTrayButton.addSelectionListener (new SelectionAdapter () {
-			public void widgetSelected (SelectionEvent event) {
-				showExampleWidgetInTray ();
-			}
-		});
-		shell.addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent event) {
-				disposeTrayItem();
-			}
-		});
-
-		/* Set the default state */
-		autoHideButton.setSelection(true);
-	}
-	
-	void createSizeGroup () {
-		// ToolTip does not need a size group.
-	}
-	
-	/**
-	 * Disposes the "Example" widgets.
-	 */
-	void disposeExampleWidgets () {
-		disposeTrayItem();
-		super.disposeExampleWidgets();
-	}
-	
-	/**
-	 * Gets the "Example" widget children.
-	 */
-	// Tab uses this for many things - widgets would only get set/get, listeners, and dispose.
-	Widget[] getExampleWidgets () {
-		return new Widget [] {toolTip1};
-	}
-	
-	/**
-	 * Returns a list of set/get API method names (without the set/get prefix)
-	 * that can be used to set/get values in the example control(s).
-	 */
-	String[] getMethodNames() {
-		return new String[] {"Message", "Text"};
-	}
-
-	/**
-	 * Gets the text for the tab folder item.
-	 */
-	String getTabText () {
-		return "ToolTip";
-	}
-	
-	/**
-	 * Sets the state of the "Example" widgets.
-	 */
-	void setExampleWidgetState () {
-		showExampleWidgetInTray ();
-		setExampleWidgetAutoHide ();
-		super.setExampleWidgetState ();
-		balloonButton.setSelection ((toolTip1.getStyle () & SWT.BALLOON) != 0);
-		iconErrorButton.setSelection ((toolTip1.getStyle () & SWT.ICON_ERROR) != 0);
-		iconInformationButton.setSelection ((toolTip1.getStyle () & SWT.ICON_INFORMATION) != 0);
-		iconWarningButton.setSelection ((toolTip1.getStyle () & SWT.ICON_WARNING) != 0);
-		noIconButton.setSelection ((toolTip1.getStyle () & (SWT.ICON_ERROR | SWT.ICON_INFORMATION | SWT.ICON_WARNING)) == 0);
-		autoHideButton.setSelection(toolTip1.getAutoHide());
-	}
-
-	/**
-	 * Sets the visibility of the "Example" widgets.
-	 */
-	void setExampleWidgetVisibility () {
-		toolTip1.setVisible (visibleButton.getSelection ());
-	}
-	
-	/**
-	 * Sets the autoHide state of the "Example" widgets.
-	 */
-	void setExampleWidgetAutoHide () {
-		toolTip1.setAutoHide(autoHideButton.getSelection ());
-	}
-	
-	void showExampleWidgetInTray () {
-		if (showInTrayButton.getSelection ()) {
-			createTrayItem();
-			trayItem.setToolTip(toolTip1);
-		} else {
-			disposeTrayItem();
-		}
-	}
-
-	void createTrayItem() {
-		if (trayItem == null) {
-			trayItem = new TrayItem(tray, SWT.NONE);
-			trayItem.setImage(instance.images[ControlExample.ciTarget]);
-		}
-	}
-	
-	void disposeTrayItem() {
-		if (trayItem != null) {
-			trayItem.setToolTip(null);
-			trayItem.dispose();
-			trayItem = null;
-		}
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/TreeTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/TreeTab.java
deleted file mode 100755
index b413782..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/TreeTab.java
+++ /dev/null
@@ -1,780 +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.swt.examples.controlexample;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.events.*;
-
-class TreeTab extends ScrollableTab {
-	/* Example widgets and groups that contain them */
-	Tree tree1, tree2;
-	TreeItem textNode1, imageNode1;
-	Group treeGroup, imageTreeGroup, itemGroup;
-	
-	/* Size widgets added to the "Size" group */
-	Button packColumnsButton;
-	
-	/* Style widgets added to the "Style" group */
-	Button checkButton, fullSelectionButton;
-
-	/* Other widgets added to the "Other" group */
-	Button multipleColumns, moveableColumns, resizableColumns, headerVisibleButton, sortIndicatorButton, headerImagesButton, subImagesButton, linesVisibleButton;
-	
-	/* Controls and resources added to the "Colors and Fonts" group */
-	static final int ITEM_FOREGROUND_COLOR = 3;
-	static final int ITEM_BACKGROUND_COLOR = 4;
-	static final int ITEM_FONT = 5;
-	static final int CELL_FOREGROUND_COLOR = 6;
-	static final int CELL_BACKGROUND_COLOR = 7;
-	static final int CELL_FONT = 8;
-	Color itemForegroundColor, itemBackgroundColor, cellForegroundColor, cellBackgroundColor;
-	Font itemFont, cellFont;
-
-	static String [] columnTitles	= {ControlExample.getResourceString("TableTitle_0"),
-		   ControlExample.getResourceString("TableTitle_1"),
-		   ControlExample.getResourceString("TableTitle_2"),
-		   ControlExample.getResourceString("TableTitle_3")};
-		   
-	static String[][] tableData = {
-			{ ControlExample.getResourceString("TableLine0_0"),
-					ControlExample.getResourceString("TableLine0_1"),
-					ControlExample.getResourceString("TableLine0_2"),
-					ControlExample.getResourceString("TableLine0_3") },
-			{ ControlExample.getResourceString("TableLine1_0"),
-					ControlExample.getResourceString("TableLine1_1"),
-					ControlExample.getResourceString("TableLine1_2"),
-					ControlExample.getResourceString("TableLine1_3") },
-			{ ControlExample.getResourceString("TableLine2_0"),
-					ControlExample.getResourceString("TableLine2_1"),
-					ControlExample.getResourceString("TableLine2_2"),
-					ControlExample.getResourceString("TableLine2_3") } };
-
-	Point menuMouseCoords;
-
-	/**
-	 * Creates the Tab within a given instance of ControlExample.
-	 */
-	TreeTab(ControlExample instance) {
-		super(instance);
-	}
-
-	/**
-	 * Creates the "Colors and Fonts" group.
-	 */
-	void createColorAndFontGroup () {
-		super.createColorAndFontGroup();
-		
-		TableItem item = new TableItem(colorAndFontTable, SWT.None);
-		item.setText(ControlExample.getResourceString ("Item_Foreground_Color"));
-		item = new TableItem(colorAndFontTable, SWT.None);
-		item.setText(ControlExample.getResourceString ("Item_Background_Color"));
-		item = new TableItem(colorAndFontTable, SWT.None);
-		item.setText(ControlExample.getResourceString ("Item_Font"));
-		item = new TableItem(colorAndFontTable, SWT.None);
-		item.setText(ControlExample.getResourceString ("Cell_Foreground_Color"));
-		item = new TableItem(colorAndFontTable, SWT.None);
-		item.setText(ControlExample.getResourceString ("Cell_Background_Color"));
-		item = new TableItem(colorAndFontTable, SWT.None);
-		item.setText(ControlExample.getResourceString ("Cell_Font"));
-
-		shell.addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent event) {
-				if (itemBackgroundColor != null) itemBackgroundColor.dispose();
-				if (itemForegroundColor != null) itemForegroundColor.dispose();
-				if (itemFont != null) itemFont.dispose();
-				if (cellBackgroundColor != null) cellBackgroundColor.dispose();
-				if (cellForegroundColor != null) cellForegroundColor.dispose();
-				if (cellFont != null) cellFont.dispose();
-				itemBackgroundColor = null;
-				itemForegroundColor = null;			
-				itemFont = null;
-				cellBackgroundColor = null;
-				cellForegroundColor = null;			
-				cellFont = null;
-			}
-		});
-	}
-
-	void changeFontOrColor(int index) {
-		switch (index) {
-		case ITEM_FOREGROUND_COLOR: {
-			Color oldColor = itemForegroundColor;
-			if (oldColor == null) oldColor = textNode1.getForeground ();
-			colorDialog.setRGB(oldColor.getRGB());
-			RGB rgb = colorDialog.open();
-			if (rgb == null) return;
-			oldColor = itemForegroundColor;
-			itemForegroundColor = new Color (display, rgb);
-			setItemForeground ();
-			if (oldColor != null) oldColor.dispose ();
-		}
-		break;
-		case ITEM_BACKGROUND_COLOR: {
-			Color oldColor = itemBackgroundColor;
-			if (oldColor == null) oldColor = textNode1.getBackground ();
-			colorDialog.setRGB(oldColor.getRGB());
-			RGB rgb = colorDialog.open();
-			if (rgb == null) return;
-			oldColor = itemBackgroundColor;
-			itemBackgroundColor = new Color (display, rgb);
-			setItemBackground ();
-			if (oldColor != null) oldColor.dispose ();
-		}
-		break;
-		case ITEM_FONT: {
-			Font oldFont = itemFont;
-			if (oldFont == null) oldFont = textNode1.getFont ();
-			fontDialog.setFontList(oldFont.getFontData());
-			FontData fontData = fontDialog.open ();
-			if (fontData == null) return;
-			oldFont = itemFont;
-			itemFont = new Font (display, fontData);
-			setItemFont ();
-			setExampleWidgetSize ();
-			if (oldFont != null) oldFont.dispose ();
-		}
-		break;
-		case CELL_FOREGROUND_COLOR: {
-			Color oldColor = cellForegroundColor;
-			if (oldColor == null) oldColor = textNode1.getForeground (1);
-			colorDialog.setRGB(oldColor.getRGB());
-			RGB rgb = colorDialog.open();
-			if (rgb == null) return;
-			oldColor = cellForegroundColor;
-			cellForegroundColor = new Color (display, rgb);
-			setCellForeground ();
-			if (oldColor != null) oldColor.dispose ();
-		}
-		break;
-		case CELL_BACKGROUND_COLOR: {
-			Color oldColor = cellBackgroundColor;
-			if (oldColor == null) oldColor = textNode1.getBackground (1);
-			colorDialog.setRGB(oldColor.getRGB());
-			RGB rgb = colorDialog.open();
-			if (rgb == null) return;
-			oldColor = cellBackgroundColor;
-			cellBackgroundColor = new Color (display, rgb);
-			setCellBackground ();
-			if (oldColor != null) oldColor.dispose ();
-		}
-		break;
-		case CELL_FONT: {
-			Font oldFont = cellFont;
-			if (oldFont == null) oldFont = textNode1.getFont (1);
-			fontDialog.setFontList(oldFont.getFontData());
-			FontData fontData = fontDialog.open ();
-			if (fontData == null) return;
-			oldFont = cellFont;
-			cellFont = new Font (display, fontData);
-			setCellFont ();
-			setExampleWidgetSize ();
-			if (oldFont != null) oldFont.dispose ();
-		}
-		break;
-		default:
-			super.changeFontOrColor(index);
-		}
-	}
-
-	/**
-	 * Creates the "Other" group.
-	 */
-	void createOtherGroup () {
-		super.createOtherGroup ();
-	
-		/* Create display controls specific to this example */
-		linesVisibleButton = new Button (otherGroup, SWT.CHECK);
-		linesVisibleButton.setText (ControlExample.getResourceString("Lines_Visible"));
-		multipleColumns = new Button (otherGroup, SWT.CHECK);
-		multipleColumns.setText (ControlExample.getResourceString("Multiple_Columns"));
-		headerVisibleButton = new Button (otherGroup, SWT.CHECK);
-		headerVisibleButton.setText (ControlExample.getResourceString("Header_Visible"));
-		sortIndicatorButton = new Button (otherGroup, SWT.CHECK);
-		sortIndicatorButton.setText (ControlExample.getResourceString("Sort_Indicator"));
-		moveableColumns = new Button (otherGroup, SWT.CHECK);
-		moveableColumns.setText (ControlExample.getResourceString("Moveable_Columns"));
-		resizableColumns = new Button (otherGroup, SWT.CHECK);
-		resizableColumns.setText (ControlExample.getResourceString("Resizable_Columns"));
-		headerImagesButton = new Button (otherGroup, SWT.CHECK);
-		headerImagesButton.setText (ControlExample.getResourceString("Header_Images"));
-		subImagesButton = new Button (otherGroup, SWT.CHECK);
-		subImagesButton.setText (ControlExample.getResourceString("Sub_Images"));
-	
-		/* Add the listeners */
-		linesVisibleButton.addSelectionListener (new SelectionAdapter () {
-			public void widgetSelected (SelectionEvent event) {
-				setWidgetLinesVisible ();
-			}
-		});
-		multipleColumns.addSelectionListener (new SelectionAdapter () {
-			public void widgetSelected (SelectionEvent event) {
-				recreateExampleWidgets ();
-			}
-		});
-		headerVisibleButton.addSelectionListener (new SelectionAdapter () {
-			public void widgetSelected (SelectionEvent event) {
-				setWidgetHeaderVisible ();
-			}
-		});
-		sortIndicatorButton.addSelectionListener (new SelectionAdapter () {
-			public void widgetSelected (SelectionEvent event) {
-				setWidgetSortIndicator ();
-			}
-		});
-		moveableColumns.addSelectionListener (new SelectionAdapter () {
-			public void widgetSelected (SelectionEvent event) {
-				setColumnsMoveable ();
-			}
-		});
-		resizableColumns.addSelectionListener (new SelectionAdapter () {
-			public void widgetSelected (SelectionEvent event) {
-				setColumnsResizable ();
-			}
-		});
-		headerImagesButton.addSelectionListener (new SelectionAdapter () {
-			public void widgetSelected (SelectionEvent event) {
-				recreateExampleWidgets ();
-			}
-		});
-		subImagesButton.addSelectionListener (new SelectionAdapter () {
-			public void widgetSelected (SelectionEvent event) {
-				recreateExampleWidgets ();
-			}
-		});
-	}
-	
-	/**
-	 * Creates the "Example" group.
-	 */
-	void createExampleGroup () {
-		super.createExampleGroup ();
-		
-		/* Create a group for the text tree */
-		treeGroup = new Group (exampleGroup, SWT.NONE);
-		treeGroup.setLayout (new GridLayout ());
-		treeGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true));
-		treeGroup.setText ("Tree");
-	
-		/* Create a group for the image tree */
-		imageTreeGroup = new Group (exampleGroup, SWT.NONE);
-		imageTreeGroup.setLayout (new GridLayout ());
-		imageTreeGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true));
-		imageTreeGroup.setText (ControlExample.getResourceString("Tree_With_Images"));
-	}
-	
-	/**
-	 * Creates the "Example" widgets.
-	 */
-	void createExampleWidgets () {
-		/* Compute the widget style */
-		int style = getDefaultStyle();
-		if (singleButton.getSelection()) style |= SWT.SINGLE;
-		if (multiButton.getSelection()) style |= SWT.MULTI;
-		if (horizontalButton.getSelection ()) style |= SWT.H_SCROLL;
-		if (verticalButton.getSelection ()) style |= SWT.V_SCROLL;
-		if (checkButton.getSelection()) style |= SWT.CHECK;
-		if (fullSelectionButton.getSelection ()) style |= SWT.FULL_SELECTION;
-		if (borderButton.getSelection()) style |= SWT.BORDER;
-	
-		/* Create the text tree */
-		tree1 = new Tree (treeGroup, style);
-		boolean multiColumn = multipleColumns.getSelection();
-		if (multiColumn) {
-			for (int i = 0; i < columnTitles.length; i++) {
-				TreeColumn treeColumn = new TreeColumn(tree1, SWT.NONE);
-				treeColumn.setText(columnTitles[i]);
-				treeColumn.setToolTipText(ControlExample.getResourceString("Tooltip", new String [] {columnTitles[i]}));
-			}
-			tree1.setSortColumn(tree1.getColumn(0));
-		}
-		for (int i = 0; i < 4; i++) {
-			TreeItem item = new TreeItem (tree1, SWT.NONE);
-			setItemText(item, i, ControlExample.getResourceString("Node_" + (i + 1)));
-			if (i < 3) {
-				TreeItem subitem = new TreeItem (item, SWT.NONE);
-				setItemText(subitem, i, ControlExample.getResourceString("Node_" + (i + 1) + "_1"));
-			}
-		}
-		TreeItem treeRoots[] = tree1.getItems ();
-		TreeItem item = new TreeItem (treeRoots[1], SWT.NONE);
-		setItemText(item, 1, ControlExample.getResourceString("Node_2_2"));
-		item = new TreeItem (item, SWT.NONE);
-		setItemText(item, 1, ControlExample.getResourceString("Node_2_2_1"));					
-		textNode1 = treeRoots[0];
-		packColumns(tree1);
-		try {
-			TreeColumn column = tree1.getColumn(0);
-			resizableColumns.setSelection (column.getResizable());
-		} catch (IllegalArgumentException ex) {}
-
-		/* Create the image tree */	
-		tree2 = new Tree (imageTreeGroup, style);
-		Image image = instance.images[ControlExample.ciClosedFolder];
-		if (multiColumn) {
-			for (int i = 0; i < columnTitles.length; i++) {
-				TreeColumn treeColumn = new TreeColumn(tree2, SWT.NONE);
-				treeColumn.setText(columnTitles[i]);
-				treeColumn.setToolTipText(ControlExample.getResourceString("Tooltip", new String [] {columnTitles[i]}));
-				if (headerImagesButton.getSelection()) treeColumn.setImage(instance.images [i % 3]);
-			}
-		}
-		for (int i = 0; i < 4; i++) {
-			item = new TreeItem (tree2, SWT.NONE);
-			setItemText(item, i, ControlExample.getResourceString("Node_" + (i + 1)));
-			if (multiColumn && subImagesButton.getSelection()) {
-				for (int j = 0; j < columnTitles.length; j++) {
-					item.setImage(j, image);
-				}
-			} else {
-				item.setImage(image);
-			}
-			if (i < 3) {
-				TreeItem subitem = new TreeItem (item, SWT.NONE);
-				setItemText(subitem, i, ControlExample.getResourceString("Node_" + (i + 1) + "_1"));
-				if (multiColumn && subImagesButton.getSelection()) {
-					for (int j = 0; j < columnTitles.length; j++) {
-						subitem.setImage(j, image);
-					}
-				} else {
-					subitem.setImage(image);
-				}
-			}
-		}
-		treeRoots = tree2.getItems ();
-		item = new TreeItem (treeRoots[1], SWT.NONE);
-		setItemText(item, 1, ControlExample.getResourceString("Node_2_2"));
-		if (multiColumn && subImagesButton.getSelection()) {
-			for (int j = 0; j < columnTitles.length; j++) {
-				item.setImage(j, image);
-			}
-		} else {
-			item.setImage(image);
-		}
-		item = new TreeItem (item, SWT.NONE);
-		setItemText(item, 1, ControlExample.getResourceString("Node_2_2_1"));
-		if (multiColumn && subImagesButton.getSelection()) {
-			for (int j = 0; j < columnTitles.length; j++) {
-				item.setImage(j, image);
-			}
-		} else {
-			item.setImage(image);
-		}
-		imageNode1 = treeRoots[0];
-		packColumns(tree2);
-	}
-	
-	void setItemText(TreeItem item, int i, String node) {
-		int index = i % 3;
-		if (multipleColumns.getSelection()) {
-			tableData [index][0] = node;
-			item.setText (tableData [index]);
-		} else {
-			item.setText (node);
-		}		
-	}
-	
-	/**
-	 * Creates the "Size" group.  The "Size" group contains
-	 * controls that allow the user to change the size of
-	 * the example widgets.
-	 */
-	void createSizeGroup () {
-		super.createSizeGroup();
-	
-		packColumnsButton = new Button (sizeGroup, SWT.PUSH);
-		packColumnsButton.setText (ControlExample.getResourceString("Pack_Columns"));
-		packColumnsButton.addSelectionListener(new SelectionAdapter () {
-			public void widgetSelected (SelectionEvent event) {
-				packColumns (tree1);
-				packColumns (tree2);
-				setExampleWidgetSize ();
-			}
-		});
-	}
-	
-	/**
-	 * Creates the "Style" group.
-	 */
-	void createStyleGroup() {
-		super.createStyleGroup();
-		
-		/* Create the extra widgets */
-		checkButton = new Button (styleGroup, SWT.CHECK);
-		checkButton.setText ("SWT.CHECK");
-		fullSelectionButton = new Button (styleGroup, SWT.CHECK);
-		fullSelectionButton.setText ("SWT.FULL_SELECTION");
-	}
-	
-	/**
-	 * Gets the "Example" widget children's items, if any.
-	 *
-	 * @return an array containing the example widget children's items
-	 */
-	Item [] getExampleWidgetItems () {
-		/* Note: We do not bother collecting the tree items
-		 * because tree items don't have any events. If events
-		 * are ever added to TreeItem, then this needs to change.
-		 */
-		Item [] columns1 = tree1.getColumns();
-		Item [] columns2 = tree2.getColumns();
-		Item [] allItems = new Item [columns1.length + columns2.length];
-		System.arraycopy(columns1, 0, allItems, 0, columns1.length);
-		System.arraycopy(columns2, 0, allItems, columns1.length, columns2.length);
-		return allItems;
-	}
-	
-	/**
-	 * Gets the "Example" widget children.
-	 */
-	Widget [] getExampleWidgets () {
-		return new Widget [] {tree1, tree2};
-	}
-	
-	/**
-	 * Returns a list of set/get API method names (without the set/get prefix)
-	 * that can be used to set/get values in the example control(s).
-	 */
-	String[] getMethodNames() {
-		return new String[] {"ColumnOrder", "Selection", "ToolTipText", "TopItem"};
-	}
-
-	Object[] parameterForType(String typeName, String value, Widget widget) {
-		if (typeName.equals("org.eclipse.swt.widgets.TreeItem")) {
-			TreeItem item = findItem(value, ((Tree) widget).getItems());
-			if (item != null) return new Object[] {item};
-		}
-		if (typeName.equals("[Lorg.eclipse.swt.widgets.TreeItem;")) {
-			String[] values = split(value, ',');
-			TreeItem[] items = new TreeItem[values.length];
-			for (int i = 0; i < values.length; i++) {
-				TreeItem item = findItem(values[i], ((Tree) widget).getItems());
-				if (item == null) break;
-				items[i] = item;				
-			}
-			return new Object[] {items};
-		}
-		return super.parameterForType(typeName, value, widget);
-	}
-
-	TreeItem findItem(String value, TreeItem[] items) {
-		for (int i = 0; i < items.length; i++) {
-			TreeItem item = items[i];
-			if (item.getText().equals(value)) return item;
-			item = findItem(value, item.getItems());
-			if (item != null) return item;
-		}
-		return null;
-	}
-
-	/**
-	 * Gets the text for the tab folder item.
-	 */
-	String getTabText () {
-		return "Tree";
-	}
-
-	void packColumns (Tree tree) {
-		if (multipleColumns.getSelection()) {
-			int columnCount = tree.getColumnCount();
-			for (int i = 0; i < columnCount; i++) {
-				TreeColumn treeColumn = tree.getColumn(i);
-				treeColumn.pack();
-			}
-		}
-	}
-	
-	/**
-	 * Sets the moveable columns state of the "Example" widgets.
-	 */
-	void setColumnsMoveable () {
-		boolean selection = moveableColumns.getSelection();
-		TreeColumn[] columns1 = tree1.getColumns();
-		for (int i = 0; i < columns1.length; i++) {
-			columns1[i].setMoveable(selection);
-		}
-		TreeColumn[] columns2 = tree2.getColumns();
-		for (int i = 0; i < columns2.length; i++) {
-			columns2[i].setMoveable(selection);
-		}
-	}
-
-	/**
-	 * Sets the resizable columns state of the "Example" widgets.
-	 */
-	void setColumnsResizable () {
-		boolean selection = resizableColumns.getSelection();
-		TreeColumn[] columns1 = tree1.getColumns();
-		for (int i = 0; i < columns1.length; i++) {
-			columns1[i].setResizable(selection);
-		}
-		TreeColumn[] columns2 = tree2.getColumns();
-		for (int i = 0; i < columns2.length; i++) {
-			columns2[i].setResizable(selection);
-		}
-	}
-
-	/**
-	 * Sets the foreground color, background color, and font
-	 * of the "Example" widgets to their default settings.
-	 * Also sets foreground and background color of the Node 1
-	 * TreeItems to default settings.
-	 */
-	void resetColorsAndFonts () {
-		super.resetColorsAndFonts ();
-		Color oldColor = itemForegroundColor;
-		itemForegroundColor = null;
-		setItemForeground ();
-		if (oldColor != null) oldColor.dispose();
-		oldColor = itemBackgroundColor;
-		itemBackgroundColor = null;
-		setItemBackground ();
-		if (oldColor != null) oldColor.dispose();
-		Font oldFont = font;
-		itemFont = null;
-		setItemFont ();
-		if (oldFont != null) oldFont.dispose();
-		oldColor = cellForegroundColor;
-		cellForegroundColor = null;
-		setCellForeground ();
-		if (oldColor != null) oldColor.dispose();
-		oldColor = cellBackgroundColor;
-		cellBackgroundColor = null;
-		setCellBackground ();
-		if (oldColor != null) oldColor.dispose();
-		oldFont = font;
-		cellFont = null;
-		setCellFont ();
-		if (oldFont != null) oldFont.dispose();
-	}
-	
-	/**
-	 * Sets the state of the "Example" widgets.
-	 */
-	void setExampleWidgetState () {
-		setItemBackground ();
-		setItemForeground ();
-		setItemFont ();
-		setCellBackground ();
-		setCellForeground ();
-		setCellFont ();
-		if (!instance.startup) {
-			setColumnsMoveable ();
-			setColumnsResizable ();
-			setWidgetHeaderVisible ();
-			setWidgetSortIndicator ();
-			setWidgetLinesVisible ();
-		}
-		super.setExampleWidgetState ();
-		checkButton.setSelection ((tree1.getStyle () & SWT.CHECK) != 0);
-		checkButton.setSelection ((tree2.getStyle () & SWT.CHECK) != 0);
-		fullSelectionButton.setSelection ((tree1.getStyle () & SWT.FULL_SELECTION) != 0);
-		fullSelectionButton.setSelection ((tree2.getStyle () & SWT.FULL_SELECTION) != 0);
-		try {
-			TreeColumn column = tree1.getColumn(0);
-			moveableColumns.setSelection (column.getMoveable());
-			resizableColumns.setSelection (column.getResizable());
-		} catch (IllegalArgumentException ex) {}
-		headerVisibleButton.setSelection (tree1.getHeaderVisible());
-		linesVisibleButton.setSelection (tree1.getLinesVisible());
-	}
-	
-	/**
-	 * Sets the background color of the Node 1 TreeItems in column 1.
-	 */
-	void setCellBackground () {
-		if (!instance.startup) {
-			textNode1.setBackground (1, cellBackgroundColor);
-			imageNode1.setBackground (1, cellBackgroundColor);
-		}
-		/* Set the background color item's image to match the background color of the cell. */
-		Color color = cellBackgroundColor;
-		if (color == null) color = textNode1.getBackground (1);
-		TableItem item = colorAndFontTable.getItem(CELL_BACKGROUND_COLOR);
-		Image oldImage = item.getImage();
-		if (oldImage != null) oldImage.dispose();
-		item.setImage (colorImage(color));
-	}
-	
-	/**
-	 * Sets the foreground color of the Node 1 TreeItems in column 1.
-	 */
-	void setCellForeground () {
-		if (!instance.startup) {
-			textNode1.setForeground (1, cellForegroundColor);
-			imageNode1.setForeground (1, cellForegroundColor);
-		}
-		/* Set the foreground color item's image to match the foreground color of the cell. */
-		Color color = cellForegroundColor;
-		if (color == null) color = textNode1.getForeground (1);
-		TableItem item = colorAndFontTable.getItem(CELL_FOREGROUND_COLOR);
-		Image oldImage = item.getImage();
-		if (oldImage != null) oldImage.dispose();
-		item.setImage (colorImage(color));
-	}
-	
-	/**
-	 * Sets the font of the Node 1 TreeItems in column 1.
-	 */
-	void setCellFont () {
-		if (!instance.startup) {
-			textNode1.setFont (1, cellFont);
-			imageNode1.setFont (1, cellFont);
-		}
-		/* Set the font item's image to match the font of the item. */
-		Font ft = cellFont;
-		if (ft == null) ft = textNode1.getFont (1);
-		TableItem item = colorAndFontTable.getItem(CELL_FONT);
-		Image oldImage = item.getImage();
-		if (oldImage != null) oldImage.dispose();
-		item.setImage (fontImage(ft));
-		item.setFont(ft);
-		colorAndFontTable.layout ();
-	}
-
-	/**
-	 * Sets the background color of the Node 1 TreeItems.
-	 */
-	void setItemBackground () {
-		if (!instance.startup) {
-			textNode1.setBackground (itemBackgroundColor);
-			imageNode1.setBackground (itemBackgroundColor);
-		}
-		/* Set the background button's color to match the background color of the item. */
-		Color color = itemBackgroundColor;
-		if (color == null) color = textNode1.getBackground ();
-		TableItem item = colorAndFontTable.getItem(ITEM_BACKGROUND_COLOR);
-		Image oldImage = item.getImage();
-		if (oldImage != null) oldImage.dispose();
-		item.setImage (colorImage(color));
-	}
-	
-	/**
-	 * Sets the foreground color of the Node 1 TreeItems.
-	 */
-	void setItemForeground () {
-		if (!instance.startup) {
-			textNode1.setForeground (itemForegroundColor);
-			imageNode1.setForeground (itemForegroundColor);
-		}
-		/* Set the foreground button's color to match the foreground color of the item. */
-		Color color = itemForegroundColor;
-		if (color == null) color = textNode1.getForeground ();
-		TableItem item = colorAndFontTable.getItem(ITEM_FOREGROUND_COLOR);
-		Image oldImage = item.getImage();
-		if (oldImage != null) oldImage.dispose();
-		item.setImage (colorImage(color));
-	}
-	
-	/**
-	 * Sets the font of the Node 1 TreeItems.
-	 */
-	void setItemFont () {
-		if (!instance.startup) {
-			textNode1.setFont (itemFont);
-			imageNode1.setFont (itemFont);
-		}
-		/* Set the font item's image to match the font of the item. */
-		Font ft = itemFont;
-		if (ft == null) ft = textNode1.getFont ();
-		TableItem item = colorAndFontTable.getItem(ITEM_FONT);
-		Image oldImage = item.getImage();
-		if (oldImage != null) oldImage.dispose();
-		item.setImage (fontImage(ft));
-		item.setFont(ft);
-		colorAndFontTable.layout ();
-	}
-
-	/**
-	 * Sets the header visible state of the "Example" widgets.
-	 */
-	void setWidgetHeaderVisible () {
-		tree1.setHeaderVisible (headerVisibleButton.getSelection ());
-		tree2.setHeaderVisible (headerVisibleButton.getSelection ());
-	}
-	
-	/**
-	 * Sets the sort indicator state of the "Example" widgets.
-	 */
-	void setWidgetSortIndicator () {
-		if (sortIndicatorButton.getSelection ()) {
-			initializeSortState (tree1);
-			initializeSortState (tree2);
-		} else {
-			resetSortState (tree1);
-			resetSortState (tree2);
-		}
-	}
-	
-	/**
-	 * Sets the initial sort indicator state and adds a listener
-	 * to cycle through sort states and columns.
-	 */
-	void initializeSortState (final Tree tree) {
-		/* Reset to known state: 'down' on column 0. */
-		tree.setSortDirection (SWT.DOWN);
-		TreeColumn [] columns = tree.getColumns();
-		for (int i = 0; i < columns.length; i++) {
-			TreeColumn column = columns[i];
-			if (i == 0) tree.setSortColumn(column);
-			SelectionListener listener = new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					int sortDirection = SWT.DOWN;
-					if (e.widget == tree.getSortColumn()) {
-						/* If the sort column hasn't changed, cycle down -> up -> none. */
-						switch (tree.getSortDirection ()) {
-						case SWT.DOWN: sortDirection = SWT.UP; break;
-						case SWT.UP: sortDirection = SWT.NONE; break;
-						}
-					} else {
-						tree.setSortColumn((TreeColumn)e.widget);
-					}
-					tree.setSortDirection (sortDirection);
-				}
-			};
-			column.addSelectionListener(listener);
-			column.setData("SortListener", listener);	//$NON-NLS-1$
-		}
-	}
-
-	void resetSortState (final Tree tree) {
-		tree.setSortDirection (SWT.NONE);
-		TreeColumn [] columns = tree.getColumns();
-		for (int i = 0; i < columns.length; i++) {
-			SelectionListener listener = (SelectionListener)columns[i].getData("SortListener");	//$NON-NLS-1$
-			if (listener != null) columns[i].removeSelectionListener(listener);
-		}
-	}
-	
-	/**
-	 * Sets the lines visible state of the "Example" widgets.
-	 */
-	void setWidgetLinesVisible () {
-		tree1.setLinesVisible (linesVisibleButton.getSelection ());
-		tree2.setLinesVisible (linesVisibleButton.getSelection ());
-	}
-
-	protected void specialPopupMenuItems(Menu menu, Event event) {
-    	MenuItem item = new MenuItem(menu, SWT.PUSH);
-    	item.setText("getItem(Point) on mouse coordinates");
-    	final Tree t = (Tree) event.widget;
-    	menuMouseCoords = t.toControl(new Point(event.x, event.y));
-    	item.addSelectionListener(new SelectionAdapter() {
-    		public void widgetSelected(SelectionEvent e) {
-    			eventConsole.append ("getItem(Point(" + menuMouseCoords + ")) returned: " + t.getItem(menuMouseCoords));
-    			eventConsole.append ("\n");
-    		};
-    	});
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/backgroundImage.png b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/backgroundImage.png
deleted file mode 100644
index 0632ad8..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/backgroundImage.png
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/bold.bmp b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/bold.bmp
deleted file mode 100644
index 15136cb..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/bold.bmp
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/bold_mask.bmp b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/bold_mask.bmp
deleted file mode 100644
index 7863429..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/bold_mask.bmp
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/browser-content.html b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/browser-content.html
deleted file mode 100644
index 248b93e..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/browser-content.html
+++ /dev/null
@@ -1,33 +0,0 @@
-<html>
-<head>
-<title>SWT Browser</title>
-</head>
-
-<h3>About SWT Browser</h3>
-<p>You are looking at HTML content in a <b>Browser</b> widget.
-<ul>
-<li>For a definition of the Browser widget, see:
-<a href="http://www.eclipse.org/swt/faq.php#whatisbrowser">http://www.eclipse.org/swt/faq.php#whatisbrowser</a></li>
-<li>For a list of the platforms that Browser supports, see:
-<a href="http://www.eclipse.org/swt/faq.php#browserplatforms">http://www.eclipse.org/swt/faq.php#browserplatforms</a></li>
-<li>For more information on the SWT.MOZILLA Browser style, see:
-<a href="http://www.eclipse.org/swt/faq.php#howusemozilla">http://www.eclipse.org/swt/faq.php#howusemozilla</a></li>
-<li>For more examples that use a Browser widget, see BrowserExample, BrowserDemo, and WebBrowser:
-<a href="http://www.eclipse.org/swt/examples.php">http://www.eclipse.org/swt/examples.php</a></li>
-</ul></p>
-
-<h3>About SWT</h3>
-<p>For more information on SWT, including the Widget Gallery, Snippets, Examples, FAQ, Tools, Documentation
-and more, check out <a href="http://www.eclipse.org/swt/">http://www.eclipse.org/swt</a>.</p>
-
-<h3>Eclipse Downloads Page</h3>
-<p>To download the latest Integration Build of eclipse, go to:
-<a href="http://download.eclipse.org/eclipse/downloads/">http://download.eclipse.org/eclipse/downloads</a>.</p>
-
-<h3>Bug Reports and Feature Requests</h3>
-<p>To report an SWT bug or request an SWT feature, go to:
-<a href="https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Platform">https://bugs.eclipse.org/bugs</a>
-and select <b>Component: SWT</b>.</p>
-
-</body>
-</html>
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/closedFolder.gif b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/closedFolder.gif
deleted file mode 100644
index 6660d0b..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/closedFolder.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/italic.bmp b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/italic.bmp
deleted file mode 100644
index 82071f6..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/italic.bmp
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/italic_mask.bmp b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/italic_mask.bmp
deleted file mode 100644
index caf2354..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/italic_mask.bmp
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/openFolder.gif b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/openFolder.gif
deleted file mode 100644
index fc9943f..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/openFolder.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/parentBackgroundImage.png b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/parentBackgroundImage.png
deleted file mode 100644
index 08f55c7..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/parentBackgroundImage.png
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/red.bmp b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/red.bmp
deleted file mode 100644
index 9a563ff..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/red.bmp
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/red_mask.bmp b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/red_mask.bmp
deleted file mode 100644
index 1359c08..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/red_mask.bmp
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/strikeout.bmp b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/strikeout.bmp
deleted file mode 100644
index ac21b3c..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/strikeout.bmp
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/strikeout_mask.bmp b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/strikeout_mask.bmp
deleted file mode 100644
index 98b48fb..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/strikeout_mask.bmp
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/target.gif b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/target.gif
deleted file mode 100644
index 9807ae6..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/target.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/underline.bmp b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/underline.bmp
deleted file mode 100644
index 52e28e2..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/underline.bmp
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/underline_mask.bmp b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/underline_mask.bmp
deleted file mode 100644
index 2615d8b..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/underline_mask.bmp
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/yellow.bmp b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/yellow.bmp
deleted file mode 100644
index 4da9c1d..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/yellow.bmp
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/yellow_mask.bmp b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/yellow_mask.bmp
deleted file mode 100644
index 1359c08..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/yellow_mask.bmp
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/dnd/DNDExample.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/dnd/DNDExample.java
deleted file mode 100644
index 0debc9d..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/dnd/DNDExample.java
+++ /dev/null
@@ -1,1429 +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.swt.examples.dnd;
-
- 
-import java.net.*;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.dnd.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class DNDExample {
-	
-	private int dragOperation = 0;
-	private Transfer[] dragTypes = new Transfer[0];
-	private Control dragControl;
-	private int dragControlType = 0;
-	private DragSource dragSource;
-	private String dragDataText;
-	private String dragDataRTF;
-	private String dragDataHTML;
-	private String dragDataURL;
-	private String[] dragDataFiles;
-	private List fileList;
-	private boolean dragEnabled = false;
-	
-	private int dropOperation = 0;
-	private int dropFeedback = 0;
-	private int dropDefaultOperation = 0;
-	private Transfer[] dropTypes = new Transfer[0];
-	private DropTarget dropTarget;
-	private Control dropControl;
-	private int dropControlType = 0;
-	private Composite defaultParent;
-	private boolean dropEnabled = false;
-	
-	private Text dragConsole;
-	private boolean dragEventDetail = false;
-	private Text dropConsole;
-	private boolean dropEventDetail = false;
-	
-	private static final int BUTTON_TOGGLE = 0;
-	private static final int BUTTON_RADIO = 1;
-	private static final int BUTTON_CHECK = 2;
-	private static final int CANVAS = 3;
-	private static final int LABEL = 4;
-	private static final int LIST = 5;
-	private static final int TABLE = 6;
-	private static final int TREE = 7;
-	private static final int TEXT = 8;
-	private static final int STYLED_TEXT = 9;
-	private static final int COMBO = 10;
-	
-public static void main(String[] args) {
-	Display display = new Display();
-	DNDExample example = new DNDExample();
-	example.open(display);
-	display.dispose();
-}
-
-private void addDragTransfer(Transfer transfer){
-	Transfer[] newTypes = new Transfer[dragTypes.length + 1];
-	System.arraycopy(dragTypes, 0, newTypes, 0, dragTypes.length);
-	newTypes[dragTypes.length] = transfer;
-	dragTypes = newTypes;
-	if (dragSource != null) {
-		dragSource.setTransfer(dragTypes);
-	}
-}
-
-private void addDropTransfer(Transfer transfer){
-	Transfer[] newTypes = new Transfer[dropTypes.length + 1];
-	System.arraycopy(dropTypes, 0, newTypes, 0, dropTypes.length);
-	newTypes[dropTypes.length] = transfer;
-	dropTypes = newTypes;
-	if (dropTarget != null) {
-		dropTarget.setTransfer(dropTypes);
-	}
-}
-
-private void createDragOperations(Composite parent) {
-	parent.setLayout(new RowLayout(SWT.VERTICAL));
-	final Button moveButton = new Button(parent, SWT.CHECK);
-	moveButton.setText("DND.DROP_MOVE");
-	moveButton.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			Button b = (Button)e.widget;
-			if (b.getSelection()) {
-				dragOperation |= DND.DROP_MOVE;			
-			} else {
-				dragOperation = dragOperation &~DND.DROP_MOVE;
-				if (dragOperation == 0) {
-					dragOperation = DND.DROP_MOVE;
-					moveButton.setSelection(true);
-				}
-			}
-			if (dragEnabled) {
-				createDragSource();
-			}
-		}
-	});
-	
-
-	Button copyButton = new Button(parent, SWT.CHECK);
-	copyButton.setText("DND.DROP_COPY");
-	copyButton.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			Button b = (Button)e.widget;
-			if (b.getSelection()) {
-				dragOperation |= DND.DROP_COPY;			
-			} else {
-				dragOperation = dragOperation &~DND.DROP_COPY;
-				if (dragOperation == 0) {
-					dragOperation = DND.DROP_MOVE;
-					moveButton.setSelection(true);
-				}
-			}
-			if (dragEnabled) {
-				createDragSource();
-			}
-		}
-	});
-
-	Button linkButton = new Button(parent, SWT.CHECK);
-	linkButton.setText("DND.DROP_LINK");
-	linkButton.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			Button b = (Button)e.widget;
-			if (b.getSelection()) {
-				dragOperation |= DND.DROP_LINK;			
-			} else {
-				dragOperation = dragOperation &~DND.DROP_LINK;
-				if (dragOperation == 0) {
-					dragOperation = DND.DROP_MOVE;
-					moveButton.setSelection(true);
-				}
-			}
-			if (dragEnabled) {
-				createDragSource();
-			}
-		}
-	});
-	
-	//initialize state
-	moveButton.setSelection(true);
-	copyButton.setSelection(true);
-	linkButton.setSelection(true);
-	dragOperation |= DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_LINK;
-}
-
-private void createDragSource() {
-	if (dragSource != null) dragSource.dispose();
-	dragSource = new DragSource(dragControl, dragOperation);
-	dragSource.setTransfer(dragTypes);
-	dragSource.addDragListener(new DragSourceListener() {
-		public void dragFinished(org.eclipse.swt.dnd.DragSourceEvent event) {
-			dragConsole.append(">>dragFinished\n");
-			printEvent(event);
-			dragDataText = dragDataRTF = dragDataHTML = dragDataURL = null;
-			dragDataFiles = null;
-			if (event.detail == DND.DROP_MOVE) {
-				switch(dragControlType) {
-					case BUTTON_CHECK:
-					case BUTTON_TOGGLE:
-					case BUTTON_RADIO: {
-						Button b = (Button)dragControl;
-						b.setText("");
-						break;
-					}
-					case STYLED_TEXT: {
-						StyledText text = (StyledText)dragControl;
-						text.insert("");
-						break;
-					}
-					case TABLE: {
-						Table table = (Table)dragControl;
-						TableItem[] items = table.getSelection();
-						for (int i = 0; i < items.length; i++) {
-							items[i].dispose();
-						}
-						break;
-					}
-					case TEXT: {
-						Text text = (Text)dragControl;
-						text.insert("");
-						break;
-					}
-					case TREE: {
-						Tree tree = (Tree)dragControl;
-						TreeItem[] items = tree.getSelection();
-						for (int i = 0; i < items.length; i++) {
-							items[i].dispose();
-						}
-						break;
-					}
-					case CANVAS: {
-						dragControl.setData("STRINGS", null);
-						dragControl.redraw();
-						break;
-					}
-					case LABEL: {
-						Label label = (Label)dragControl;
-						label.setText("");
-						break;
-					}
-					case LIST: {
-						List list = (List)dragControl;
-						int[] indices = list.getSelectionIndices();
-						list.remove(indices);
-						break;
-					}
-					case COMBO:{
-						Combo combo = (Combo)dragControl;
-						combo.setText("");
-						break;
-					}
-				}
-			}
-		}
-		public void dragSetData(org.eclipse.swt.dnd.DragSourceEvent event) {
-			dragConsole.append(">>dragSetData\n");
-			printEvent(event);
-			if (TextTransfer.getInstance().isSupportedType(event.dataType)) {
-				event.data = dragDataText;
-			}
-			if (RTFTransfer.getInstance().isSupportedType(event.dataType)) {
-				event.data = dragDataRTF;
-			}
-			if (HTMLTransfer.getInstance().isSupportedType(event.dataType)) {
-				event.data = dragDataHTML;
-			}
-			if (URLTransfer.getInstance().isSupportedType(event.dataType)) {
-				event.data = dragDataURL;
-			}
-			if (FileTransfer.getInstance().isSupportedType(event.dataType)) {
-				event.data = dragDataFiles;
-			}
-		}
-		public void dragStart(org.eclipse.swt.dnd.DragSourceEvent event) {
-			dragConsole.append(">>dragStart\n");
-			printEvent(event);
-			dragDataFiles = fileList.getItems();
-			switch(dragControlType) {
-				case BUTTON_CHECK:
-				case BUTTON_TOGGLE:
-				case BUTTON_RADIO: {
-					Button b = (Button)dragControl;
-					dragDataText = b.getSelection() ? "true" : "false";
-					break;
-				}
-				case STYLED_TEXT: {
-					StyledText text = (StyledText)dragControl;
-					String s = text.getSelectionText();
-					if (s.length() == 0) {
-						event.doit = false;
-					} else {
-						dragDataText = s;
-					}
-					break;
-				}
-				case TABLE: {
-					Table table = (Table)dragControl;
-					TableItem[] items = table.getSelection();
-					if (items.length == 0) {
-						event.doit = false;
-					} else {
-						StringBuffer buffer = new StringBuffer();
-						for (int i = 0; i < items.length; i++) {
-							buffer.append(items[i].getText());
-							if (items.length > 1 && i < items.length - 1) {
-								buffer.append("\n");
-							}
-						}
-						dragDataText = buffer.toString();
-					}
-					break;
-				}
-				case TEXT: {
-					Text text = (Text)dragControl;
-					String s = text.getSelectionText();
-					if (s.length() == 0) {
-						event.doit = false;
-					} else {
-						dragDataText = s;
-					}
-					break;
-				}
-				case TREE: {
-					Tree tree = (Tree)dragControl;
-					TreeItem[] items = tree.getSelection();
-					if (items.length == 0) {
-						event.doit = false;
-					} else {
-						StringBuffer buffer = new StringBuffer();
-						for (int i = 0; i < items.length; i++) {
-							buffer.append(items[i].getText());
-							if (items.length > 1 && i < items.length - 1) {
-								buffer.append("\n");
-							}
-						}
-						dragDataText = buffer.toString();
-					}
-					break;
-				}
-				case CANVAS: {
-					String[] strings = (String[])dragControl.getData("STRINGS");
-					if (strings == null || strings.length == 0) {
-						event.doit = false;
-					} else {
-						StringBuffer buffer = new StringBuffer();
-						for (int i = 0; i < strings.length; i++) {
-							buffer.append(strings[i]);
-							if (strings.length > 1 && i < strings.length - 1) {
-								buffer.append("\n");
-							}
-						}
-						dragDataText = buffer.toString();
-					}
-					break;
-				}
-				case LABEL: {
-					Label label = (Label)dragControl;
-					String string = label.getText();
-					if (string.length() == 0) {
-						event.doit = false;
-					} else {
-						dragDataText = string;
-					}
-					break;
-				}
-				case LIST: {
-					List list = (List)dragControl;
-					String[] selection = list.getSelection();
-					if (selection.length == 0) {
-						event.doit = false;
-					} else {
-						StringBuffer buffer = new StringBuffer();
-						for (int i = 0; i < selection.length; i++) {
-							buffer.append(selection[i]);
-							if (selection.length > 1 && i < selection.length - 1) {
-								buffer.append("\n");
-							}
-						}
-						dragDataText = buffer.toString();
-					}
-					break;
-				}
-				case COMBO: {
-					Combo combo = (Combo) dragControl;
-					String string = combo.getText();
-					Point selection = combo.getSelection();
-					if (selection.x == selection.y) {
-						event.doit = false;
-					} else {
-						dragDataText = string.substring(selection.x, selection.y);
-					}
-					break;
-				}
-				default:
-					throw new SWTError(SWT.ERROR_NOT_IMPLEMENTED);
-			}
-			if (dragDataText != null) {
-				dragDataRTF = "{\\rtf1{\\colortbl;\\red255\\green0\\blue0;}\\cf1\\b "+dragDataText+"}";
-				dragDataHTML = "<b>"+dragDataText+"</b>";
-				dragDataURL = "http://" + dragDataText.replace(' ', '.');
-				try {
-					new URL(dragDataURL);
-				} catch (MalformedURLException e) {
-					dragDataURL = null;
-				}
-			}
-			
-			for (int i = 0; i < dragTypes.length; i++) {
-				if (dragTypes[i] instanceof TextTransfer && dragDataText == null) {
-					event.doit = false;
-				}
-				if (dragTypes[i] instanceof RTFTransfer && dragDataRTF == null) {
-					event.doit = false;
-				}
-				if (dragTypes[i] instanceof HTMLTransfer && dragDataHTML == null) {
-					event.doit = false;
-				}
-				if (dragTypes[i] instanceof URLTransfer && dragDataURL == null) {
-					event.doit = false;
-				}
-				if (dragTypes[i] instanceof FileTransfer && (dragDataFiles == null || dragDataFiles.length == 0)) {
-					event.doit = false;
-				}
-			}
-		}
-	});
-}
-
-private void createDragTypes(Composite parent) {
-	parent.setLayout(new GridLayout());
-	Button textButton = new Button(parent, SWT.CHECK);
-	textButton.setText("Text Transfer");
-	textButton.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			Button b = (Button)e.widget;
-			if (b.getSelection()) {
-				addDragTransfer(TextTransfer.getInstance());			
-			} else {
-				removeDragTransfer(TextTransfer.getInstance());
-			}
-		}
-	});
-	
-	Button b = new Button(parent, SWT.CHECK);
-	b.setText("RTF Transfer");
-	b.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			Button b = (Button)e.widget;
-			if (b.getSelection()) {
-				addDragTransfer(RTFTransfer.getInstance());			
-			} else {
-				removeDragTransfer(RTFTransfer.getInstance());
-			}
-		}
-	});
-	
-	b = new Button(parent, SWT.CHECK);
-	b.setText("HTML Transfer");
-	b.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			Button b = (Button)e.widget;
-			if (b.getSelection()) {
-				addDragTransfer(HTMLTransfer.getInstance());			
-			} else {
-				removeDragTransfer(HTMLTransfer.getInstance());
-			}
-		}
-	});
-	
-	b = new Button(parent, SWT.CHECK);
-	b.setText("URL Transfer");
-	b.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			Button b = (Button)e.widget;
-			if (b.getSelection()) {
-				addDragTransfer(URLTransfer.getInstance());			
-			} else {
-				removeDragTransfer(URLTransfer.getInstance());
-			}
-		}
-	});
-	
-	b = new Button(parent, SWT.CHECK);
-	b.setText("File Transfer");
-	b.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_BEGINNING));
-	b.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			Button b = (Button)e.widget;
-			if (b.getSelection()) {
-				addDragTransfer(FileTransfer.getInstance());			
-			} else {
-				removeDragTransfer(FileTransfer.getInstance());
-			}
-		}
-	});
-	b = new Button(parent, SWT.PUSH);
-	b.setText("Select File(s)");
-	b.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_BEGINNING));
-	b.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			FileDialog dialog = new FileDialog(fileList.getShell(), SWT.OPEN | SWT.MULTI);
-			String result = dialog.open();
-			if (result != null && result.length() > 0){
-				fileList.removeAll();
-				String separator = System.getProperty("file.separator");
-				String path = dialog.getFilterPath();
-				String[] names = dialog.getFileNames();
-				for (int i = 0; i < names.length; i++) {
-					fileList.add(path+separator+names[i]);
-				}
-			}
-		}
-	});
-	fileList = new List(parent, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
-	GridData data = new GridData();
-	data.grabExcessHorizontalSpace = true;
-	data.horizontalAlignment = GridData.FILL;
-	data.verticalAlignment = GridData.BEGINNING;
-	fileList.setLayoutData(data);
-	
-	// initialize state
-	textButton.setSelection(true);
-	addDragTransfer(TextTransfer.getInstance());
-}
-
-private void createDragWidget(Composite parent) {
-	parent.setLayout(new FormLayout());
-	Combo combo = new Combo(parent, SWT.READ_ONLY);
-	combo.setItems(new String[] {"Toggle Button", "Radio Button", "Checkbox", "Canvas", "Label", "List", "Table", "Tree", "Text", "StyledText", "Combo"});
-	combo.select(LABEL);
-	dragControlType = combo.getSelectionIndex();
-	dragControl = createWidget(dragControlType, parent, "Drag Source");
-	
-	combo.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			Object data = dragControl.getLayoutData();
-			Composite parent = dragControl.getParent();
-			dragControl.dispose();
-			Combo c = (Combo)e.widget; 
-			dragControlType = c.getSelectionIndex();
-			dragControl = createWidget(dragControlType, parent, "Drag Source");
-			dragControl.setLayoutData(data);
-			if (dragEnabled) createDragSource();
-			parent.layout();
-		}
-	});
-	
-	Button b = new Button(parent, SWT.CHECK);
-	b.setText("DragSource");
-	b.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			Button b = (Button)e.widget;
-			dragEnabled = b.getSelection();
-			if (dragEnabled) {
-				createDragSource();
-			} else {
-				if (dragSource != null){
-					dragSource.dispose();
-				}
-				dragSource = null;
-			}
-		}
-	});
-	b.setSelection(true);
-	dragEnabled = true;
-	
-	FormData data = new FormData();
-	data.top = new FormAttachment(0, 10);
-	data.bottom = new FormAttachment(combo, -10);
-	data.left = new FormAttachment(0, 10);
-	data.right = new FormAttachment(100, -10);
-	dragControl.setLayoutData(data);
-	
-	data = new FormData();
-	data.bottom = new FormAttachment(100, -10);
-	data.left = new FormAttachment(0, 10);
-	combo.setLayoutData(data);
-	
-	data = new FormData();
-	data.bottom = new FormAttachment(100, -10);
-	data.left = new FormAttachment(combo, 10);
-	b.setLayoutData(data);
-}
-
-private void createDropOperations(Composite parent) {
-	parent.setLayout(new RowLayout(SWT.VERTICAL));
-	final Button moveButton = new Button(parent, SWT.CHECK);
-	moveButton.setText("DND.DROP_MOVE");
-	moveButton.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			Button b = (Button)e.widget;
-			if (b.getSelection()) {
-				dropOperation |= DND.DROP_MOVE;			
-			} else {
-				dropOperation = dropOperation & ~DND.DROP_MOVE;
-				if (dropOperation == 0 || (dropDefaultOperation & DND.DROP_MOVE) != 0) {
-					dropOperation |= DND.DROP_MOVE;
-					moveButton.setSelection(true);
-				}
-			}
-			if (dropEnabled) {
-				createDropTarget();
-			}
-		}
-	});
-	
-
-	final Button copyButton = new Button(parent, SWT.CHECK);
-	copyButton.setText("DND.DROP_COPY");
-	copyButton.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			Button b = (Button)e.widget;
-			if (b.getSelection()) {
-				dropOperation |= DND.DROP_COPY;			
-			} else {
-				dropOperation = dropOperation & ~DND.DROP_COPY;
-				if (dropOperation == 0 || (dropDefaultOperation & DND.DROP_COPY) != 0) {
-					dropOperation = DND.DROP_COPY;
-					copyButton.setSelection(true);
-				}
-			}
-			if (dropEnabled) {
-				createDropTarget();
-			}
-		}
-	});
-
-	final Button linkButton = new Button(parent, SWT.CHECK);
-	linkButton.setText("DND.DROP_LINK");
-	linkButton.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			Button b = (Button)e.widget;
-			if (b.getSelection()) {
-				dropOperation |= DND.DROP_LINK;			
-			} else {
-				dropOperation = dropOperation & ~DND.DROP_LINK;
-				if (dropOperation == 0 || (dropDefaultOperation & DND.DROP_LINK) != 0) {
-					dropOperation = DND.DROP_LINK;
-					linkButton.setSelection(true);
-				}
-			}
-			if (dropEnabled) {
-				createDropTarget();
-			}
-		}
-	});
-	
-	Button b = new Button(parent, SWT.CHECK);
-	b.setText("DND.DROP_DEFAULT");
-	defaultParent = new Composite(parent, SWT.NONE);
-	b.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			Button b = (Button)e.widget;
-			if (b.getSelection()) {
-				dropOperation |= DND.DROP_DEFAULT;
-				defaultParent.setVisible(true);			
-			} else {
-				dropOperation = dropOperation & ~DND.DROP_DEFAULT;
-				defaultParent.setVisible(false);
-			}
-			if (dropEnabled) {
-				createDropTarget();
-			}
-		}
-	});
-	
-	defaultParent.setVisible(false);
-	GridLayout layout = new GridLayout();
-	layout.marginWidth = 20;
-	defaultParent.setLayout(layout);
-	Label label = new Label(defaultParent, SWT.NONE);
-	label.setText("Value for default operation is:");
-	b = new Button(defaultParent, SWT.RADIO);
-	b.setText("DND.DROP_MOVE");
-	b.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			Button b = (Button)e.widget;
-			if (b.getSelection()) {
-				dropDefaultOperation = DND.DROP_MOVE;
-				dropOperation |= DND.DROP_MOVE;
-				moveButton.setSelection(true);
-				if (dropEnabled) {
-					createDropTarget();
-				}
-			}
-		}
-	});
-	
-	b = new Button(defaultParent, SWT.RADIO);
-	b.setText("DND.DROP_COPY");
-	b.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			Button b = (Button)e.widget;
-			if (b.getSelection()) {
-				dropDefaultOperation = DND.DROP_COPY;
-				dropOperation |= DND.DROP_COPY;
-				copyButton.setSelection(true);
-				if (dropEnabled) {
-					createDropTarget();
-				}
-			}
-		}
-	});
-
-	b = new Button(defaultParent, SWT.RADIO);
-	b.setText("DND.DROP_LINK");
-	b.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			Button b = (Button)e.widget;
-			if (b.getSelection()) {
-				dropDefaultOperation = DND.DROP_LINK;
-				dropOperation |= DND.DROP_LINK;
-				linkButton.setSelection(true);
-				if (dropEnabled) {
-					createDropTarget();
-				}
-			}
-		}
-	});
-	
-	b = new Button(defaultParent, SWT.RADIO);
-	b.setText("DND.DROP_NONE");
-	b.setSelection(true);
-	b.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			Button b = (Button)e.widget;
-			if (b.getSelection()) {
-				dropDefaultOperation = DND.DROP_NONE;
-				dropOperation &= ~DND.DROP_DEFAULT;
-				if (dropEnabled) {
-					createDropTarget();
-				}
-			}
-		}
-	});
-	
-	// initialize state
-	moveButton.setSelection(true);
-	copyButton.setSelection(true);
-	linkButton.setSelection(true);
-	dropOperation = DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_LINK;
-}
-
-private void createDropTarget() {
-	if (dropTarget != null) dropTarget.dispose();
-	dropTarget = new DropTarget(dropControl, dropOperation);
-	dropTarget.setTransfer(dropTypes);
-	dropTarget.addDropListener(new DropTargetListener() {
-		public void dragEnter(DropTargetEvent event) {
-			dropConsole.append(">>dragEnter\n");
-			printEvent(event);
-			if (event.detail == DND.DROP_DEFAULT) {
-				event.detail = dropDefaultOperation;
-			}
-			event.feedback = dropFeedback;
-		}
-		public void dragLeave(DropTargetEvent event) {
-			dropConsole.append(">>dragLeave\n");
-			printEvent(event);
-		}
-		public void dragOperationChanged(DropTargetEvent event) {
-			dropConsole.append(">>dragOperationChanged\n");
-			printEvent(event);
-			if (event.detail == DND.DROP_DEFAULT) {
-				event.detail = dropDefaultOperation;
-			}
-			event.feedback = dropFeedback;
-		}
-		public void dragOver(DropTargetEvent event) {
-			dropConsole.append(">>dragOver\n");
-			printEvent(event);
-			event.feedback = dropFeedback;
-		}
-		public void drop(DropTargetEvent event) {
-			dropConsole.append(">>drop\n");
-			printEvent(event);
-			String[] strings = null;
-			if (TextTransfer.getInstance().isSupportedType(event.currentDataType) ||
-			    RTFTransfer.getInstance().isSupportedType(event.currentDataType) ||
-			    HTMLTransfer.getInstance().isSupportedType(event.currentDataType) ||
-			    URLTransfer.getInstance().isSupportedType(event.currentDataType)) {
-			    strings = new String[] {(String)event.data};
-			}
-			if (FileTransfer.getInstance().isSupportedType(event.currentDataType)) {
-				strings = (String[])event.data;
-			}
-			if (strings == null || strings.length == 0) {
-				dropConsole.append("!!Invalid data dropped");
-				return;
-			}
-			
-			if (strings.length == 1 && (dropControlType == TABLE || 
-			                            dropControlType == TREE || 
-			                            dropControlType == LIST)) {
-				// convert string separated by "\n" into an array of strings 
-				String string = strings[0];
-				int count = 0;
-				int offset = string.indexOf("\n", 0);
-				while (offset > 0) {
-					count++;
-					offset = string.indexOf("\n", offset + 1);
-				}
-				if (count > 0) {
-					strings = new String[count + 1];
-					int start = 0;
-					int end = string.indexOf("\n");
-					int index = 0;
-					while (start < end) {
-						strings[index++] = string.substring(start, end);
-						start = end + 1;
-						end = string.indexOf("\n", start);
-						if (end == -1) end = string.length();
-					}
-				}
-			}
-			switch(dropControlType) {
-				case BUTTON_CHECK:
-				case BUTTON_TOGGLE:
-				case BUTTON_RADIO: {
-					Button b = (Button)dropControl;
-					b.setText(strings[0]);
-					break;
-				}
-				case STYLED_TEXT: {
-					StyledText text = (StyledText)dropControl;
-					for(int i = 0; i < strings.length; i++) {
-						text.insert(strings[i]);
-					}
-					break;
-				}
-				case TABLE: {
-					Table table = (Table)dropControl;
-					Point p = event.display.map(null, table, event.x, event.y);
-					TableItem dropItem = table.getItem(p);
-					int index = dropItem == null ? table.getItemCount() : table.indexOf(dropItem);
-					for(int i = 0; i < strings.length; i++) {
-						TableItem item = new TableItem(table, SWT.NONE, index);
-						item.setText(0, strings[i]);
-						item.setText(1, "dropped item");
-					}
-					TableColumn[] columns = table.getColumns();
-					for (int i = 0; i < columns.length; i++) {
-						columns[i].pack();
-					}
-					break;
-				}
-				case TEXT: {
-					Text text = (Text)dropControl;
-					for(int i = 0; i < strings.length; i++) {
-						text.append(strings[i]+"\n");
-					}
-					break;
-				}
-				case TREE: {
-					Tree tree = (Tree)dropControl;
-					Point p = event.display.map(null, tree, event.x, event.y);
-					TreeItem parentItem = tree.getItem(p);
-					for(int i = 0; i < strings.length; i++) {
-						TreeItem item = parentItem != null ? new TreeItem(parentItem, SWT.NONE) : new TreeItem(tree, SWT.NONE);
-						item.setText(strings[i]);
-					}
-					break;
-				}
-				case CANVAS: {
-					dropControl.setData("STRINGS", strings);
-					dropControl.redraw();
-					break;
-				}
-				case LABEL: {
-					Label label = (Label)dropControl;
-					label.setText(strings[0]);
-					break;
-				}
-				case LIST: {
-					List list = (List)dropControl;
-					for(int i = 0; i < strings.length; i++) {
-						list.add(strings[i]);
-					}
-					break;
-				}
-				case COMBO: {
-					Combo combo = (Combo)dropControl;
-					combo.setText(strings[0]);
-					break;
-				}
-				default:
-					throw new SWTError(SWT.ERROR_NOT_IMPLEMENTED);
-			}
-		}
-		public void dropAccept(DropTargetEvent event) {
-			dropConsole.append(">>dropAccept\n");
-			printEvent(event);
-		}
-	});
-}
-
-private void createFeedbackTypes(Group parent) {
-	parent.setLayout(new RowLayout(SWT.VERTICAL));
-	Button b = new Button(parent, SWT.CHECK);
-	b.setText("FEEDBACK_SELECT");
-	b.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			Button b = (Button)e.widget;
-			if (b.getSelection()) {
-				dropFeedback |= DND.FEEDBACK_SELECT;			
-			} else {
-				dropFeedback &= ~DND.FEEDBACK_SELECT;
-			}
-		}
-	});
-	
-	b = new Button(parent, SWT.CHECK);
-	b.setText("FEEDBACK_SCROLL");
-	b.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			Button b = (Button)e.widget;
-			if (b.getSelection()) {
-				dropFeedback |= DND.FEEDBACK_SCROLL;			
-			} else {
-				dropFeedback &= ~DND.FEEDBACK_SCROLL;
-			}
-		}
-	});
-	
-	
-	b = new Button(parent, SWT.CHECK);
-	b.setText("FEEDBACK_INSERT_BEFORE");
-	b.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			Button b = (Button)e.widget;
-			if (b.getSelection()) {
-				dropFeedback |= DND.FEEDBACK_INSERT_BEFORE;			
-			} else {
-				dropFeedback &= ~DND.FEEDBACK_INSERT_BEFORE;
-			}
-		}
-	});
-	
-	b = new Button(parent, SWT.CHECK);
-	b.setText("FEEDBACK_INSERT_AFTER");
-	b.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			Button b = (Button)e.widget;
-			if (b.getSelection()) {
-				dropFeedback |= DND.FEEDBACK_INSERT_AFTER;
-			} else {
-				dropFeedback &= ~DND.FEEDBACK_INSERT_AFTER;
-			}
-		}
-	});
-	
-	b = new Button(parent, SWT.CHECK);
-	b.setText("FEEDBACK_EXPAND");
-	b.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			Button b = (Button)e.widget;
-			if (b.getSelection()) {
-				dropFeedback |= DND.FEEDBACK_EXPAND;			
-			} else {
-				dropFeedback &= ~DND.FEEDBACK_EXPAND;
-			}
-		}
-	});
-}
-
-private void createDropTypes(Composite parent) {
-	parent.setLayout(new RowLayout(SWT.VERTICAL));
-	Button textButton = new Button(parent, SWT.CHECK);
-	textButton.setText("Text Transfer");
-	textButton.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			Button b = (Button)e.widget;
-			if (b.getSelection()) {
-				addDropTransfer(TextTransfer.getInstance());			
-			} else {
-				removeDropTransfer(TextTransfer.getInstance());
-			}
-		}
-	});
-	
-	Button b = new Button(parent, SWT.CHECK);
-	b.setText("RTF Transfer");
-	b.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			Button b = (Button)e.widget;
-			if (b.getSelection()) {
-				addDropTransfer(RTFTransfer.getInstance());			
-			} else {
-				removeDropTransfer(RTFTransfer.getInstance());
-			}
-		}
-	});
-	
-	
-	b = new Button(parent, SWT.CHECK);
-	b.setText("HTML Transfer");
-	b.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			Button b = (Button)e.widget;
-			if (b.getSelection()) {
-				addDropTransfer(HTMLTransfer.getInstance());			
-			} else {
-				removeDropTransfer(HTMLTransfer.getInstance());
-			}
-		}
-	});
-	
-	b = new Button(parent, SWT.CHECK);
-	b.setText("URL Transfer");
-	b.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			Button b = (Button)e.widget;
-			if (b.getSelection()) {
-				addDropTransfer(URLTransfer.getInstance());			
-			} else {
-				removeDropTransfer(URLTransfer.getInstance());
-			}
-		}
-	});
-	
-	b = new Button(parent, SWT.CHECK);
-	b.setText("File Transfer");
-	b.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			Button b = (Button)e.widget;
-			if (b.getSelection()) {
-				addDropTransfer(FileTransfer.getInstance());			
-			} else {
-				removeDropTransfer(FileTransfer.getInstance());
-			}
-		}
-	});
-	
-	// initialize state
-	textButton.setSelection(true);
-	addDropTransfer(TextTransfer.getInstance());
-}
-
-private void createDropWidget(Composite parent) {
-	parent.setLayout(new FormLayout());
-	Combo combo = new Combo(parent, SWT.READ_ONLY);
-	combo.setItems(new String[] {"Toggle Button", "Radio Button", "Checkbox", "Canvas", "Label", "List", "Table", "Tree", "Text", "StyledText", "Combo"});
-	combo.select(LABEL);
-	dropControlType = combo.getSelectionIndex();
-	dropControl = createWidget(dropControlType, parent, "Drop Target");
-	combo.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			Object data = dropControl.getLayoutData();
-			Composite parent = dropControl.getParent();
-			dropControl.dispose();
-			Combo c = (Combo)e.widget;
-			dropControlType = c.getSelectionIndex(); 
-			dropControl = createWidget(dropControlType, parent, "Drop Target");
-			dropControl.setLayoutData(data);
-			if (dropEnabled) createDropTarget();
-			parent.layout();
-		}
-	});
-	
-	Button b = new Button(parent, SWT.CHECK);
-	b.setText("DropTarget");
-	b.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			Button b = (Button)e.widget;
-			dropEnabled = b.getSelection();
-			if (dropEnabled) {
-				createDropTarget();
-			} else {
-				if (dropTarget != null){
-					dropTarget.dispose();
-				}
-				dropTarget = null;
-			}
-		}
-	});
-	// initialize state
-	b.setSelection(true);
-	dropEnabled = true;
-	
-	FormData data = new FormData();
-	data.top = new FormAttachment(0, 10);
-	data.bottom = new FormAttachment(combo, -10);
-	data.left = new FormAttachment(0, 10);
-	data.right = new FormAttachment(100, -10);
-	dropControl.setLayoutData(data);
-	
-	data = new FormData();
-	data.bottom = new FormAttachment(100, -10);
-	data.left = new FormAttachment(0, 10);
-	combo.setLayoutData(data);
-	
-	data = new FormData();
-	data.bottom = new FormAttachment(100, -10);
-	data.left = new FormAttachment(combo, 10);
-	b.setLayoutData(data);
-}
-
-private Control createWidget(int type, Composite parent, String prefix){
-	switch (type) {
-		case BUTTON_CHECK: {
-			Button button = new Button(parent, SWT.CHECK);
-			button.setText(prefix+" Check box");
-			return button;
-		}
-		case BUTTON_TOGGLE: {
-			Button button = new Button(parent, SWT.TOGGLE);
-			button.setText(prefix+" Toggle button");
-			return button;
-		}
-		case BUTTON_RADIO: {
-			Button button = new Button(parent, SWT.RADIO);
-			button.setText(prefix+" Radio button");
-			return button;
-		}
-		case STYLED_TEXT: {
-			StyledText text = new StyledText(parent, SWT.BORDER | SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL);
-			text.setText(prefix+" Styled Text");
-			return text;
-		}
-		case TABLE: {
-			Table table = new Table(parent, SWT.BORDER | SWT.MULTI);
-			table.setHeaderVisible(true);
-			TableColumn column0 = new TableColumn(table, SWT.LEFT);
-			column0.setText("Name");
-			TableColumn column1 = new TableColumn(table, SWT.RIGHT);
-			column1.setText("Value");
-			TableColumn column2 = new TableColumn(table, SWT.CENTER);
-			column2.setText("Description");
-			for (int i = 0; i < 10; i++) {
-				TableItem item = new TableItem(table, SWT.NONE);
-				item.setText(0, prefix+" name "+i);
-				item.setText(1, prefix+" value "+i);
-				item.setText(2, prefix+" description "+i);
-			}
-			column0.pack();
-			column1.pack();
-			column2.pack();
-			return table;
-		}
-		case TEXT: {
-			Text text = new Text(parent, SWT.BORDER | SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL);
-			text.setText(prefix+" Text");
-			return text;
-		}
-		case TREE: {
-			Tree tree = new Tree(parent, SWT.BORDER | SWT.MULTI);
-			tree.setHeaderVisible(true);
-			TreeColumn column0 = new TreeColumn(tree, SWT.LEFT);
-			column0.setText("Name");
-			TreeColumn column1 = new TreeColumn(tree, SWT.RIGHT);
-			column1.setText("Value");
-			TreeColumn column2 = new TreeColumn(tree, SWT.CENTER);
-			column2.setText("Description");
-			for (int i = 0; i < 3; i++) {
-				TreeItem item = new TreeItem(tree, SWT.NONE);
-				item.setText(0, prefix+" name "+i);
-				item.setText(1, prefix+" value "+i);
-				item.setText(2, prefix+" description "+i);
-				for (int j = 0; j < 3; j++) {
-					TreeItem subItem = new TreeItem(item, SWT.NONE);
-					subItem.setText(0, prefix+" name "+i+" "+j);
-					subItem.setText(1, prefix+" value "+i+" "+j);
-					subItem.setText(2, prefix+" description "+i+" "+j);
-					for (int k = 0; k < 3; k++) {
-						TreeItem subsubItem = new TreeItem(subItem, SWT.NONE);
-						subsubItem.setText(0, prefix+" name "+i+" "+j+" "+k);
-						subsubItem.setText(1, prefix+" value "+i+" "+j+" "+k);
-						subsubItem.setText(2, prefix+" description "+i+" "+j+" "+k);
-					}
-				}
-			}
-			column0.pack();
-			column1.pack();
-			column2.pack();
-			return tree;
-		}
-		case CANVAS: {
-			Canvas canvas = new Canvas(parent, SWT.BORDER);
-			canvas.setData("STRINGS", new String[] {prefix+" Canvas widget"});
-			canvas.addPaintListener(new PaintListener() {
-				public void paintControl(PaintEvent e) {
-					Canvas c = (Canvas)e.widget;
-					Image image = (Image)c.getData("IMAGE");
-					if (image != null) {
-						e.gc.drawImage(image, 5, 5);
-					} else {
-						String[] strings = (String[])c.getData("STRINGS");
-						if (strings != null) {
-							FontMetrics metrics = e.gc.getFontMetrics();
-							int height = metrics.getHeight();
-							int y = 5;
-							for(int i = 0; i < strings.length; i++) {
-								e.gc.drawString(strings[i], 5, y);
-								y += height + 5;
-							}
-						}
-					}
-				}
-			});
-			return canvas;
-		}
-		case LABEL: {
-			Label label = new Label(parent, SWT.BORDER);
-			label.setText(prefix+" Label");
-			return label;
-		}
-		case LIST: {
-			List list = new List(parent, SWT.BORDER);
-			list.setItems(new String[] {prefix+" Item a", prefix+" Item b",  prefix+" Item c",  prefix+" Item d"});
-			return list;
-		}
-		case COMBO:{
-			Combo combo = new Combo(parent, SWT.BORDER);
-			combo.setItems(new String[] {"Item a", "Item b", "Item c", "Item d"});
-			return combo;
-		}
-		default:
-			throw new SWTError(SWT.ERROR_NOT_IMPLEMENTED);
-	}
-}
-
-public void open(Display display) {
-	Shell shell = new Shell(display);
-	shell.setText("Drag and Drop Example");
-	shell.setLayout(new FillLayout());
-	
-	ScrolledComposite sc = new ScrolledComposite(shell, SWT.H_SCROLL | SWT.V_SCROLL);
-	Composite parent = new Composite(sc, SWT.NONE);
-	sc.setContent(parent);
-	parent.setLayout(new FormLayout());
-	
-	Label dragLabel = new Label(parent, SWT.LEFT);
-	dragLabel.setText("Drag Source:");
-	
-	Group dragWidgetGroup = new Group(parent, SWT.NONE);
-	dragWidgetGroup.setText("Widget");
-	createDragWidget(dragWidgetGroup);
-	
-	Composite cLeft = new Composite(parent, SWT.NONE);
-	cLeft.setLayout(new GridLayout(2, false));
-	
-	Group dragOperationsGroup = new Group(cLeft, SWT.NONE);
-	dragOperationsGroup.setLayoutData(new GridData(SWT.LEFT, SWT.FILL, false, false, 1, 1));
-	dragOperationsGroup.setText("Allowed Operation(s):");
-	createDragOperations(dragOperationsGroup);
-	
-	Group dragTypesGroup = new Group(cLeft, SWT.NONE);
-	dragTypesGroup.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false, 1, 1));
-	dragTypesGroup.setText("Transfer Type(s):");
-	createDragTypes(dragTypesGroup);
-	
-	dragConsole = new Text(cLeft, SWT.READ_ONLY | SWT.BORDER |SWT.V_SCROLL | SWT.H_SCROLL | SWT.MULTI);
-	dragConsole.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1));
-	Menu menu = new Menu (shell, SWT.POP_UP);
-	MenuItem item = new MenuItem (menu, SWT.PUSH);
-	item.setText ("Clear");
-	item.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			dragConsole.setText("");
-		}
-	});
-	item = new MenuItem (menu, SWT.CHECK);
-	item.setText ("Show Event detail");
-	item.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			MenuItem item = (MenuItem)e.widget;
-			dragEventDetail = item.getSelection();
-		}
-	});
-	dragConsole.setMenu(menu);
-	
-	Label dropLabel = new Label(parent, SWT.LEFT);
-	dropLabel.setText("Drop Target:");
-	
-	Group dropWidgetGroup = new Group(parent, SWT.NONE);
-	dropWidgetGroup.setText("Widget");
-	createDropWidget(dropWidgetGroup);
-	
-	Composite cRight = new Composite(parent, SWT.NONE);
-	cRight.setLayout(new GridLayout(2, false));
-	
-	Group dropOperationsGroup = new Group(cRight, SWT.NONE);
-	dropOperationsGroup.setLayoutData(new GridData(SWT.LEFT, SWT.FILL, false, false, 1, 2));
-	dropOperationsGroup.setText("Allowed Operation(s):");
-	createDropOperations(dropOperationsGroup);
-	
-	Group dropTypesGroup = new Group(cRight, SWT.NONE);
-	dropTypesGroup.setText("Transfer Type(s):");
-	createDropTypes(dropTypesGroup);
-	
-	Group feedbackTypesGroup = new Group(cRight, SWT.NONE);
-	feedbackTypesGroup.setText("Feedback Type(s):");
-	createFeedbackTypes(feedbackTypesGroup);
-	
-	dropConsole = new Text(cRight, SWT.READ_ONLY | SWT.BORDER |SWT.V_SCROLL | SWT.H_SCROLL | SWT.MULTI);
-	dropConsole.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1));
-	menu = new Menu (shell, SWT.POP_UP);
-	item = new MenuItem (menu, SWT.PUSH);
-	item.setText ("Clear");
-	item.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			dropConsole.setText("");
-		}
-	});
-	item = new MenuItem (menu, SWT.CHECK);
-	item.setText ("Show Event detail");
-	item.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			MenuItem item = (MenuItem)e.widget;
-			dropEventDetail = item.getSelection();
-		}
-	});
-	dropConsole.setMenu(menu);
-	
-	if (dragEnabled) createDragSource();
-	if (dropEnabled) createDropTarget();
-	
-	int height = 200;
-	FormData data = new FormData();
-	data.top = new FormAttachment(0, 10);
-	data.left = new FormAttachment(0, 10);
-	dragLabel.setLayoutData(data);
-	
-	data = new FormData();
-	data.top = new FormAttachment(dragLabel, 10);
-	data.left = new FormAttachment(0, 10);
-	data.right = new FormAttachment(50, -10);
-	data.height = height;
-	dragWidgetGroup.setLayoutData(data);
-	
-	data = new FormData();
-	data.top = new FormAttachment(dragWidgetGroup, 10);
-	data.left = new FormAttachment(0, 10);
-	data.right = new FormAttachment(50, -10);
-	data.bottom = new FormAttachment(100, -10);
-	cLeft.setLayoutData(data);
-
-	data = new FormData();
-	data.top = new FormAttachment(0, 10);
-	data.left = new FormAttachment(cLeft, 10);
-	dropLabel.setLayoutData(data);
-	
-	data = new FormData();
-	data.top = new FormAttachment(dropLabel, 10);
-	data.left = new FormAttachment(cLeft, 10);
-	data.right = new FormAttachment(100, -10);
-	data.height = height;
-	dropWidgetGroup.setLayoutData(data);
-	
-	data = new FormData();
-	data.top = new FormAttachment(dropWidgetGroup, 10);
-	data.left = new FormAttachment(cLeft, 10);
-	data.right = new FormAttachment(100, -10);
-	data.bottom = new FormAttachment(100, -10);
-	cRight.setLayoutData(data);
-		
-	sc.setMinSize(parent.computeSize(SWT.DEFAULT, SWT.DEFAULT));
-	sc.setExpandHorizontal(true);
-	sc.setExpandVertical(true);
-	
-	Point size = shell.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-	Rectangle monitorArea = shell.getMonitor().getClientArea();
-	shell.setSize(Math.min(size.x, monitorArea.width - 20), Math.min(size.y, monitorArea.height - 20));
-	shell.open();
-		
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}	
-}
-
-private void printEvent(DragSourceEvent e) {
-	if (!dragEventDetail) return;
-	StringBuffer sb = new StringBuffer();
-	sb.append("widget: "); sb.append(e.widget);
-	sb.append(", time: "); sb.append(e.time);
-	sb.append(", operation: "); sb.append(e.detail);
-	sb.append(", type: "); sb.append(e.dataType != null ? e.dataType.type : 0);
-	sb.append(", doit: "); sb.append(e.doit);
-	sb.append(", data: "); sb.append(e.data);
-	sb.append("\n");
-	dragConsole.append(sb.toString());
-}
-
-private void printEvent(DropTargetEvent e) {
-	if (!dropEventDetail) return;
-	StringBuffer sb = new StringBuffer();
-	sb.append("widget; "); sb.append(e.widget);
-	sb.append(", time: "); sb.append(e.time);
-	sb.append(", x: "); sb.append(e.x);
-	sb.append(", y: "); sb.append(e.y);
-	sb.append(", item: "); sb.append(e.item);
-	sb.append(", operations: "); sb.append(e.operations);
-	sb.append(", operation: "); sb.append(e.detail);
-	sb.append(", feedback: "); sb.append(e.feedback);
-	if (e.dataTypes != null) {
-		for (int i = 0; i < e.dataTypes.length; i++) {
-			sb.append(", dataType "); sb.append(i); sb.append(": "); sb.append(e.dataTypes[i].type);
-		}
-	} else {
-		sb.append(", dataTypes: none");
-	}
-	sb.append(", currentDataType: "); sb.append(e.currentDataType);
-	sb.append(", data: "); sb.append(e.data);
-	sb.append("\n");
-	dropConsole.append(sb.toString());
-}
-
-private void removeDragTransfer(Transfer transfer){
-	if (dragTypes.length == 1) {
-		dragTypes = new Transfer[0];
-	} else {
-		int index = -1;
-		for(int i = 0; i < dragTypes.length; i++) {
-			if (dragTypes[i] == transfer) {
-				index = i;
-				break;
-			}
-		}
-		if (index == -1) return;
-		Transfer[] newTypes = new Transfer[dragTypes.length - 1];
-		System.arraycopy(dragTypes, 0, newTypes, 0, index);
-		System.arraycopy(dragTypes, index + 1, newTypes, index, dragTypes.length - index - 1);
-		dragTypes = newTypes;
-	}
-	if (dragSource != null) {
-		dragSource.setTransfer(dragTypes);
-	}
-}
-
-private void removeDropTransfer(Transfer transfer){
-	if (dropTypes.length == 1) {
-		dropTypes = new Transfer[0];
-	} else {
-		int index = -1;
-		for(int i = 0; i < dropTypes.length; i++) {
-			if (dropTypes[i] == transfer) {
-				index = i;
-				break;
-			}
-		}
-		if (index == -1) return;
-		Transfer[] newTypes = new Transfer[dropTypes.length - 1];
-		System.arraycopy(dropTypes, 0, newTypes, 0, index);
-		System.arraycopy(dropTypes, index + 1, newTypes, index, dropTypes.length - index - 1);
-		dropTypes = newTypes;
-	}
-	if (dropTarget != null) {
-		dropTarget.setTransfer(dropTypes);
-	}
-}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/dnd/ImageTransfer.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/dnd/ImageTransfer.java
deleted file mode 100644
index c3f7ed1..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/dnd/ImageTransfer.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.examples.dnd;
-
- 
-/**
- * Transfer type to transfer SWT ImageData objects.
- */
-
-import java.io.*;
-import org.eclipse.swt.dnd.*;
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-
-public class ImageTransfer extends ByteArrayTransfer {
-	
-	private static final String TYPENAME = "imagedata";
-	private static final int TYPEID = registerType(TYPENAME);
-	private static ImageTransfer _instance = new ImageTransfer();
-
-public static ImageTransfer getInstance () {
-	return _instance;
-}
-
-public void javaToNative (Object object, TransferData transferData) {
-	if (!checkImage(object) || !isSupportedType(transferData)) {
-		DND.error(DND.ERROR_INVALID_DATA);
-	}
-	ImageData imdata = (ImageData)object;
-	try {
-		// write data to a byte array and then ask super to convert to pMedium
-		ByteArrayOutputStream out = new ByteArrayOutputStream();
-		DataOutputStream writeOut = new DataOutputStream(out);
-		ImageLoader loader = new ImageLoader();
-		loader.data = new ImageData [] {imdata};
-		loader.save(writeOut, SWT.IMAGE_BMP);
-		writeOut.close();
-		byte[] buffer = out.toByteArray();
-		super.javaToNative(buffer, transferData);
-		out.close();
-	} 
-	catch (IOException e) {
-	}
-}
-public Object nativeToJava(TransferData transferData){	
-	if (!isSupportedType(transferData)) return null;
-		
-	byte[] buffer = (byte[])super.nativeToJava(transferData);
-	if (buffer == null) return null;
-	
-	ImageData imdata;
-	try {
-		ByteArrayInputStream in = new ByteArrayInputStream(buffer);
-		DataInputStream readIn = new DataInputStream(in);
-		imdata = new ImageData(readIn);
-		readIn.close();
-	} catch (IOException ex) {
-		return null;
-	}
-	return imdata;
-}
-protected String[] getTypeNames(){
-	return new String[]{TYPENAME};
-}
-protected int[] getTypeIds(){
-	return new int[] {TYPEID};
-}
-boolean checkImage(Object object) {
-	return (object != null  && object instanceof ImageData);
-}
-protected boolean validate(Object object) {
-	return checkImage(object);
-}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/FileViewer.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/FileViewer.java
deleted file mode 100755
index 0c3d8c3..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/FileViewer.java
+++ /dev/null
@@ -1,1716 +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.swt.examples.fileviewer;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.dnd.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.program.*;
-import org.eclipse.swt.widgets.*;
-
-import java.io.*;
-import java.text.*;
-import java.util.*;
-
-/**
- * File Viewer example
- */
-public class FileViewer { 
- 	private static ResourceBundle resourceBundle = ResourceBundle.getBundle("examples_fileviewer");
-
-	private final static String DRIVE_A = "a:" + File.separator;
-	private final static String DRIVE_B = "b:" + File.separator;
-
-	/* UI elements */ 	
-	private Display display; 
-	private Shell shell;
-	private ToolBar toolBar;
-
-	private Label numObjectsLabel;
-	private Label diskSpaceLabel;
-	
-	private File currentDirectory = null;
-	private boolean initial = true;
-	
-	/* Drag and drop optimizations */
-	private boolean isDragging = false; // if this app is dragging
-	private boolean isDropping = false; // if this app is dropping
-
-	private File[]  processedDropFiles = null; // so Drag only deletes what it needs to
-	private File[]  deferredRefreshFiles = null;      // to defer notifyRefreshFiles while we do DND
-	private boolean deferredRefreshRequested = false; // to defer notifyRefreshFiles while we do DND
-	private ProgressDialog progressDialog = null; // progress dialog for locally-initiated operations
-
-	/* Combo view */
-	private static final String COMBODATA_ROOTS = "Combo.roots";
-		// File[]: Array of files whose paths are currently displayed in the combo
-	private static final String COMBODATA_LASTTEXT = "Combo.lastText";
-		// String: Previous selection text string
-
-	private Combo combo;
-
-	/* Tree view */
-	private IconCache iconCache = new IconCache();
-	private static final String TREEITEMDATA_FILE = "TreeItem.file";
-		// File: File associated with tree item
-	private static final String TREEITEMDATA_IMAGEEXPANDED = "TreeItem.imageExpanded";
-		// Image: shown when item is expanded
-	private static final String TREEITEMDATA_IMAGECOLLAPSED = "TreeItem.imageCollapsed";
-		// Image: shown when item is collapsed
-	private static final String TREEITEMDATA_STUB = "TreeItem.stub";
-		// Object: if not present or null then the item has not been populated
-
-	private Tree tree;
-	private Label treeScopeLabel;
-
-	/* Table view */
-	private static final DateFormat dateFormat = DateFormat.getDateTimeInstance(
-		DateFormat.MEDIUM, DateFormat.MEDIUM);
-	private static final String TABLEITEMDATA_FILE = "TableItem.file";
-		// File: File associated with table row
-	private static final String TABLEDATA_DIR = "Table.dir";
-		// File: Currently visible directory
-	private static final int[] tableWidths = new int[] {150, 60, 75, 150};
-	private final String[] tableTitles = new String [] {
-		FileViewer.getResourceString("table.Name.title"),
-		FileViewer.getResourceString("table.Size.title"),
-		FileViewer.getResourceString("table.Type.title"),
-		FileViewer.getResourceString("table.Modified.title")
-	};
-	private Table table;
-	private Label tableContentsOfLabel;
-
-	/* Table update worker */
-	// Control data
-	private final Object workerLock = new Object();
-		// Lock for all worker control data and state
-	private volatile Thread  workerThread = null;
-		// The worker's thread
-	private volatile boolean workerStopped = false;
-		// True if the worker must exit on completion of the current cycle
-	private volatile boolean workerCancelled = false;
-		// True if the worker must cancel its operations prematurely perhaps due to a state update
-
-	// Worker state information -- this is what gets synchronized by an update
-	private volatile File workerStateDir = null;
-
-	// State information to use for the next cycle
-	private volatile File workerNextDir = null;
-
-	/* Simulate only flag */
-	// when true, disables actual filesystem manipulations and outputs results to standard out
-	private boolean simulateOnly = true;
-
-	/**
-	 * Runs main program.
-	 */
-	public static void main (String [] args) {
-		Display display = new Display ();
-		FileViewer application = new FileViewer();
-		Shell shell = application.open(display);
-		while (! shell.isDisposed()) {
-			if (! display.readAndDispatch()) display.sleep();
-		}
-		application.close();
-		display.dispose();
-	}
-
-	/**
-	 * Opens the main program.
-	 */
-	public Shell open(Display display) {		
-		// Create the window
-		this.display = display;
-		iconCache.initResources(display);
-		shell = new Shell();
-		createShellContents();
-		notifyRefreshFiles(null);
-		shell.open();
-		return shell;
-	}
-
-	/**
-	 * Closes the main program.
-	 */
-	void close() {
-		workerStop();
-		iconCache.freeResources();
-	}
-	
-	/**
-	 * Returns a string from the resource bundle.
-	 * We don't want to crash because of a missing String.
-	 * Returns the key if not found.
-	 */
-	static String getResourceString(String key) {
-		try {
-			return resourceBundle.getString(key);
-		} catch (MissingResourceException e) {
-			return key;
-		} catch (NullPointerException e) {
-			return "!" + key + "!";
-		}			
-	}
-
-	/**
-	 * Returns a string from the resource bundle and binds it
-	 * with the given arguments. If the key is not found,
-	 * return the key.
-	 */
-	static String getResourceString(String key, Object[] args) {
-		try {
-			return MessageFormat.format(getResourceString(key), args);
-		} catch (MissingResourceException e) {
-			return key;
-		} catch (NullPointerException e) {
-			return "!" + key + "!";
-		}
-	}
-
-	/**
-	 * Construct the UI
-	 * 
-	 * @param container the ShellContainer managing the Shell we are rendering inside
-	 */
-	private void createShellContents() {
-		shell.setText(getResourceString("Title", new Object[] { "" }));	
-		shell.setImage(iconCache.stockImages[iconCache.shellIcon]);
-		Menu bar = new Menu(shell, SWT.BAR);
-		shell.setMenuBar(bar);
-		createFileMenu(bar);
-		createHelpMenu(bar);
-
-		GridLayout gridLayout = new GridLayout();
-		gridLayout.numColumns = 3;
-		gridLayout.marginHeight = gridLayout.marginWidth = 0;
-		shell.setLayout(gridLayout);
-
-		GridData gridData = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		gridData.widthHint = 185;
-		createComboView(shell, gridData);
-		gridData = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		gridData.horizontalSpan = 2;
-		createToolBar(shell, gridData);
-
-		SashForm sashForm = new SashForm(shell, SWT.NONE);
-		sashForm.setOrientation(SWT.HORIZONTAL);
-		gridData = new GridData(GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL);
-		gridData.horizontalSpan = 3;
-		sashForm.setLayoutData(gridData);
-		createTreeView(sashForm);
-		createTableView(sashForm);
-		sashForm.setWeights(new int[] { 2, 5 });
-
-		numObjectsLabel = new Label(shell, SWT.BORDER);
-		gridData = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL);
-		gridData.widthHint = 185;
-		numObjectsLabel.setLayoutData(gridData);
-		
-		diskSpaceLabel = new Label(shell, SWT.BORDER);
-		gridData = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL);
-		gridData.horizontalSpan = 2;
-		diskSpaceLabel.setLayoutData(gridData);
-	}
-	
-	/**
-	 * Creates the File Menu.
-	 * 
-	 * @param parent the parent menu
-	 */
-	private void createFileMenu(Menu parent) {
-		Menu menu = new Menu(parent);
-		MenuItem header = new MenuItem(parent, SWT.CASCADE);
-		header.setText(getResourceString("menu.File.text"));
-		header.setMenu(menu);
-
-		final MenuItem simulateItem = new MenuItem(menu, SWT.CHECK);
-		simulateItem.setText(getResourceString("menu.File.SimulateOnly.text"));
-		simulateItem.setSelection(simulateOnly);
-		simulateItem.addSelectionListener(new SelectionAdapter () {
-			public void widgetSelected(SelectionEvent e) {
-				simulateOnly = simulateItem.getSelection();
-			}
-		});
-
-		MenuItem item = new MenuItem(menu, SWT.PUSH);
-		item.setText(getResourceString("menu.File.Close.text"));
-		item.addSelectionListener(new SelectionAdapter () {
-			public void widgetSelected(SelectionEvent e) {
-				shell.close();
-			}
-		});
-	}
-	
-	/**
-	 * Creates the Help Menu.
-	 * 
-	 * @param parent the parent menu
-	 */
-	private void createHelpMenu(Menu parent) {
-		Menu menu = new Menu(parent);
-		MenuItem header = new MenuItem(parent, SWT.CASCADE);
-		header.setText(getResourceString("menu.Help.text"));
-		header.setMenu(menu);
-
-		MenuItem item = new MenuItem(menu, SWT.PUSH);
-		item.setText(getResourceString("menu.Help.About.text"));		
-		item.addSelectionListener(new SelectionAdapter () {
-			public void widgetSelected(SelectionEvent e) {
-				MessageBox box = new MessageBox(shell, SWT.ICON_INFORMATION | SWT.OK);
-				box.setText(getResourceString("dialog.About.title"));
-				box.setMessage(getResourceString("dialog.About.description",
-					new Object[] { System.getProperty("os.name") }));
-				box.open();
-			}
-		});
-	}
-
-	/**
-	 * Creates the toolbar
-	 * 
-	 * @param shell the shell on which to attach the toolbar
-	 * @param layoutData the layout data
-	 */
-	private void createToolBar(final Shell shell, Object layoutData) {
-		toolBar = new ToolBar(shell, SWT.NONE);
-		toolBar.setLayoutData(layoutData);
-		ToolItem item = new ToolItem(toolBar, SWT.SEPARATOR);
-		item = new ToolItem(toolBar, SWT.PUSH);
-		item.setImage(iconCache.stockImages[iconCache.cmdParent]);
-		item.setToolTipText(getResourceString("tool.Parent.tiptext"));
-		item.addSelectionListener(new SelectionAdapter () {
-			public void widgetSelected(SelectionEvent e) {
-				doParent();
-			}
-		});
-		item = new ToolItem(toolBar, SWT.PUSH);
-		item.setImage(iconCache.stockImages[iconCache.cmdRefresh]);
-		item.setToolTipText(getResourceString("tool.Refresh.tiptext"));
-		item.addSelectionListener(new SelectionAdapter () {
-			public void widgetSelected(SelectionEvent e) {
-				doRefresh();
-			}
-		});
-		SelectionAdapter unimplementedListener = new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				MessageBox box = new MessageBox(shell, SWT.ICON_INFORMATION | SWT.OK);
-				box.setText(getResourceString("dialog.NotImplemented.title"));
-				box.setMessage(getResourceString("dialog.ActionNotImplemented.description"));
-				box.open();
-			}
-		};
-
-		item = new ToolItem(toolBar, SWT.SEPARATOR);
-		item = new ToolItem(toolBar, SWT.PUSH);
-		item.setImage(iconCache.stockImages[iconCache.cmdCut]);
-		item.setToolTipText(getResourceString("tool.Cut.tiptext"));
-		item.addSelectionListener(unimplementedListener);
-		item = new ToolItem(toolBar, SWT.PUSH);
-		item.setImage(iconCache.stockImages[iconCache.cmdCopy]);
-		item.setToolTipText(getResourceString("tool.Copy.tiptext"));
-		item.addSelectionListener(unimplementedListener);
-		item = new ToolItem(toolBar, SWT.PUSH);
-		item.setImage(iconCache.stockImages[iconCache.cmdPaste]);
-		item.setToolTipText(getResourceString("tool.Paste.tiptext"));
-		item.addSelectionListener(unimplementedListener);
-
-		item = new ToolItem(toolBar, SWT.SEPARATOR);
-		item = new ToolItem(toolBar, SWT.PUSH);
-		item.setImage(iconCache.stockImages[iconCache.cmdDelete]);
-		item.setToolTipText(getResourceString("tool.Delete.tiptext"));
-		item.addSelectionListener(unimplementedListener);
-		item = new ToolItem(toolBar, SWT.PUSH);
-		item.setImage(iconCache.stockImages[iconCache.cmdRename]);
-		item.setToolTipText(getResourceString("tool.Rename.tiptext"));
-		item.addSelectionListener(unimplementedListener);
-
-		item = new ToolItem(toolBar, SWT.SEPARATOR);
-		item = new ToolItem(toolBar, SWT.PUSH);
-		item.setImage(iconCache.stockImages[iconCache.cmdSearch]);
-		item.setToolTipText(getResourceString("tool.Search.tiptext"));
-		item.addSelectionListener(unimplementedListener);
-		item = new ToolItem(toolBar, SWT.PUSH);
-		item.setImage(iconCache.stockImages[iconCache.cmdPrint]);
-		item.setToolTipText(getResourceString("tool.Print.tiptext"));
-		item.addSelectionListener(unimplementedListener);
-	}
-
-	/**
-	 * Creates the combo box view.
-	 * 
-	 * @param parent the parent control
-	 */
-	private void createComboView(Composite parent, Object layoutData) {
-		combo = new Combo(parent, SWT.NONE);
-		combo.setLayoutData(layoutData);
-		combo.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				final File[] roots = (File[]) combo.getData(COMBODATA_ROOTS);
-				if (roots == null) return;
-				int selection = combo.getSelectionIndex();
-				if (selection >= 0 && selection < roots.length) {
-					notifySelectedDirectory(roots[selection]);
-				}
-			}
-			public void widgetDefaultSelected(SelectionEvent e) {
-				final String lastText = (String) combo.getData(COMBODATA_LASTTEXT);
-				String text = combo.getText();
-				if (text == null) return;
-				if (lastText != null && lastText.equals(text)) return;
-				combo.setData(COMBODATA_LASTTEXT, text);
-				notifySelectedDirectory(new File(text));
-			}
-		});
-	}
-
-	/**
-	 * Creates the file tree view.
-	 * 
-	 * @param parent the parent control
-	 */
-	private void createTreeView(Composite parent) {
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout gridLayout = new GridLayout();
-		gridLayout.numColumns = 1;
-		gridLayout.marginHeight = gridLayout.marginWidth = 2;
-		gridLayout.horizontalSpacing = gridLayout.verticalSpacing = 0;
-		composite.setLayout(gridLayout);
-
-		treeScopeLabel = new Label(composite, SWT.BORDER);
-		treeScopeLabel.setText(FileViewer.getResourceString("details.AllFolders.text"));
-		treeScopeLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL));
-
-		tree = new Tree(composite, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL | SWT.SINGLE);
-		tree.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL));
-
-		tree.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent event) {
-				final TreeItem[] selection = tree.getSelection();
-				if (selection != null && selection.length != 0) {
-					TreeItem item = selection[0];
-					File file = (File) item.getData(TREEITEMDATA_FILE);
-				
-					notifySelectedDirectory(file);
-				}
-			}
-			public void widgetDefaultSelected(SelectionEvent event) {
-				final TreeItem[] selection = tree.getSelection();
-				if (selection != null && selection.length != 0) {
-					TreeItem item = selection[0];
-					item.setExpanded(true);
-					treeExpandItem(item);
-				}
-			}
-		});
-		tree.addTreeListener(new TreeAdapter() {
-			public void treeExpanded(TreeEvent event) {
-				final TreeItem item = (TreeItem) event.item;
-				final Image image = (Image) item.getData(TREEITEMDATA_IMAGEEXPANDED);
-				if (image != null) item.setImage(image);
-				treeExpandItem(item);
-			}
-			public void treeCollapsed(TreeEvent event) {
-				final TreeItem item = (TreeItem) event.item;
-				final Image image = (Image) item.getData(TREEITEMDATA_IMAGECOLLAPSED);
-				if (image != null) item.setImage(image);
-			}
-		});
-		createTreeDragSource(tree);
-		createTreeDropTarget(tree);
-	}
-
-	/**
-	 * Creates the Drag & Drop DragSource for items being dragged from the tree.
-	 * 
-	 * @return the DragSource for the tree
-	 */
-	private DragSource createTreeDragSource(final Tree tree){
-		DragSource dragSource = new DragSource(tree, DND.DROP_MOVE | DND.DROP_COPY);
-		dragSource.setTransfer(new Transfer[] { FileTransfer.getInstance() });
-		dragSource.addDragListener(new DragSourceListener() {
-			TreeItem[] dndSelection = null;
-			String[] sourceNames = null;
-			public void dragStart(DragSourceEvent event){
-				dndSelection = tree.getSelection();
-				sourceNames = null;
-				event.doit = dndSelection.length > 0;
-				isDragging = true;
-				processedDropFiles = null;
-			}
-			public void dragFinished(DragSourceEvent event){
-				dragSourceHandleDragFinished(event, sourceNames);
-				dndSelection = null;
-				sourceNames = null;
-				isDragging = false;
-				processedDropFiles = null;
-				handleDeferredRefresh();
-			}
-			public void dragSetData(DragSourceEvent event){
-				if (dndSelection == null || dndSelection.length == 0) return;
-				if (! FileTransfer.getInstance().isSupportedType(event.dataType)) return;
-				
-				sourceNames  = new String[dndSelection.length];
-				for (int i = 0; i < dndSelection.length; i++) {
-					File file = (File) dndSelection[i].getData(TREEITEMDATA_FILE);
-					sourceNames[i] = file.getAbsolutePath();
-				}
-				event.data = sourceNames;
-			}
-		});
-		return dragSource;
-	}
-
-	/**
-	 * Creates the Drag & Drop DropTarget for items being dropped onto the tree.
-	 * 
-	 * @return the DropTarget for the tree
-	 */
-	private DropTarget createTreeDropTarget(final Tree tree) {
-		DropTarget dropTarget = new DropTarget(tree, DND.DROP_MOVE | DND.DROP_COPY);
-		dropTarget.setTransfer(new Transfer[] { FileTransfer.getInstance() });
-		dropTarget.addDropListener(new DropTargetAdapter() {
-			public void dragEnter(DropTargetEvent event) {
-				isDropping = true;
-			}
-			public void dragLeave(DropTargetEvent event) {
-				isDropping = false;
-				handleDeferredRefresh();
-			}
-			public void dragOver(DropTargetEvent event) {
-				dropTargetValidate(event, getTargetFile(event));
-				event.feedback |= DND.FEEDBACK_EXPAND | DND.FEEDBACK_SCROLL;
-			}
-			public void drop(DropTargetEvent event) {
-				File targetFile = getTargetFile(event);
-				if (dropTargetValidate(event, targetFile))
-					dropTargetHandleDrop(event, targetFile);
-			}
-			private File getTargetFile(DropTargetEvent event) {
-				// Determine the target File for the drop 
-				TreeItem item = tree.getItem(tree.toControl(new Point(event.x, event.y)));
-				File targetFile = null;
-				if (item != null) {
-					// We are over a particular item in the tree, use the item's file
-					targetFile = (File) item.getData(TREEITEMDATA_FILE);
-				}
-				return targetFile;
-			}
-		});
-		return dropTarget;	
-	}
-
-	/**
-	 * Handles expand events on a tree item.
-	 * 
-	 * @param item the TreeItem to fill in
-	 */
-	private void treeExpandItem(TreeItem item) {
-		shell.setCursor(iconCache.stockCursors[iconCache.cursorWait]);
-		final Object stub = item.getData(TREEITEMDATA_STUB);
-		if (stub == null) treeRefreshItem(item, true);
-		shell.setCursor(iconCache.stockCursors[iconCache.cursorDefault]);
-	}
-	
-	/**
-	 * Traverse the entire tree and update only what has changed.
-	 * 
-	 * @param roots the root directory listing
-	 */
-	private void treeRefresh(File[] masterFiles) {
-		TreeItem[] items = tree.getItems();
-		int masterIndex = 0;
-		int itemIndex = 0;
-		for (int i = 0; i < items.length; ++i) {
-			final TreeItem item = items[i];
-			final File itemFile = (File) item.getData(TREEITEMDATA_FILE);
-			if ((itemFile == null) || (masterIndex == masterFiles.length)) {
-				// remove bad item or placeholder
-				item.dispose();
-				continue;
-			}
-			final File masterFile = masterFiles[masterIndex];
-			int compare = compareFiles(masterFile, itemFile);
-			if (compare == 0) {
-				// same file, update it
-				treeRefreshItem(item, false);
-				++itemIndex;
-				++masterIndex;
-			} else if (compare < 0) {
-				// should appear before file, insert it
-				TreeItem newItem = new TreeItem(tree, SWT.NONE, itemIndex);
-				treeInitVolume(newItem, masterFile);
-				new TreeItem(newItem, SWT.NONE); // placeholder child item to get "expand" button
-				++itemIndex;
-				++masterIndex;
-				--i;
-			} else {
-				// should appear after file, delete stale item
-				item.dispose();
-			}
-		}
-		for (;masterIndex < masterFiles.length; ++masterIndex) {
-			final File masterFile = masterFiles[masterIndex];
-			TreeItem newItem = new TreeItem(tree, SWT.NONE);
-			treeInitVolume(newItem, masterFile);
-			new TreeItem(newItem, SWT.NONE); // placeholder child item to get "expand" button
-		}		
-	}
-	
-	/**
-	 * Traverse an item in the tree and update only what has changed.
-	 * 
-	 * @param dirItem the tree item of the directory
-	 * @param forcePopulate true iff we should populate non-expanded items as well
-	 */
-	private void treeRefreshItem(TreeItem dirItem, boolean forcePopulate) {
-		final File dir = (File) dirItem.getData(TREEITEMDATA_FILE);
-		
-		if (! forcePopulate && ! dirItem.getExpanded()) {
-			// Refresh non-expanded item
-			if (dirItem.getData(TREEITEMDATA_STUB) != null) {
-				treeItemRemoveAll(dirItem);
-				new TreeItem(dirItem, SWT.NONE); // placeholder child item to get "expand" button
-				dirItem.setData(TREEITEMDATA_STUB, null);
-			}
-			return;
-		}
-		// Refresh expanded item
-		dirItem.setData(TREEITEMDATA_STUB, this); // clear stub flag
-
-		/* Get directory listing */
-		File[] subFiles = (dir != null) ? FileViewer.getDirectoryList(dir) : null;
-		if (subFiles == null || subFiles.length == 0) {
-			/* Error or no contents */
-			treeItemRemoveAll(dirItem);
-			dirItem.setExpanded(false);
-			return;
-		}
-
-		/* Refresh sub-items */
-		TreeItem[] items = dirItem.getItems();
-		final File[] masterFiles = subFiles;
-		int masterIndex = 0;
-		int itemIndex = 0;
-		File masterFile = null;
-		for (int i = 0; i < items.length; ++i) {
-			while ((masterFile == null) && (masterIndex < masterFiles.length)) {
-				masterFile = masterFiles[masterIndex++];
-				if (! masterFile.isDirectory()) masterFile = null;
-			}
-
-			final TreeItem item = items[i];
-			final File itemFile = (File) item.getData(TREEITEMDATA_FILE);
-			if ((itemFile == null) || (masterFile == null)) {
-				// remove bad item or placeholder
-				item.dispose();
-				continue;
-			}
-			int compare = compareFiles(masterFile, itemFile);
-			if (compare == 0) {
-				// same file, update it
-				treeRefreshItem(item, false);
-				masterFile = null;
-				++itemIndex;
-			} else if (compare < 0) {
-				// should appear before file, insert it
-				TreeItem newItem = new TreeItem(dirItem, SWT.NONE, itemIndex);
-				treeInitFolder(newItem, masterFile);
-				new TreeItem(newItem, SWT.NONE); // add a placeholder child item so we get the "expand" button
-				masterFile = null;
-				++itemIndex;
-				--i;
-			} else {
-				// should appear after file, delete stale item
-				item.dispose();
-			}
-		}
-		while ((masterFile != null) || (masterIndex < masterFiles.length)) {
-			if (masterFile != null) {
-				TreeItem newItem = new TreeItem(dirItem, SWT.NONE);
-				treeInitFolder(newItem, masterFile);
-				new TreeItem(newItem, SWT.NONE); // add a placeholder child item so we get the "expand" button
-				if (masterIndex == masterFiles.length) break;
-			}
-			masterFile = masterFiles[masterIndex++];
-			if (! masterFile.isDirectory()) masterFile = null;
-		}
-	}
-
-	/**
-	 * Foreign method: removes all children of a TreeItem.
-	 * @param treeItem the TreeItem
-	 */
-	private static void treeItemRemoveAll(TreeItem treeItem) {
-		final TreeItem[] children = treeItem.getItems();
-		for (int i = 0; i < children.length; ++i) {
-			children[i].dispose();
-		}
-	}
-
-	/**
-	 * Initializes a folder item.
-	 * 
-	 * @param item the TreeItem to initialize
-	 * @param folder the File associated with this TreeItem
-	 */
-	private void treeInitFolder(TreeItem item, File folder) {
-		item.setText(folder.getName());
-		item.setImage(iconCache.stockImages[iconCache.iconClosedFolder]);
-		item.setData(TREEITEMDATA_FILE, folder);
-		item.setData(TREEITEMDATA_IMAGEEXPANDED, iconCache.stockImages[iconCache.iconOpenFolder]);
-		item.setData(TREEITEMDATA_IMAGECOLLAPSED, iconCache.stockImages[iconCache.iconClosedFolder]);
-	}
-
-	/**
-	 * Initializes a volume item.
-	 * 
-	 * @param item the TreeItem to initialize
-	 * @param volume the File associated with this TreeItem
-	 */
-	private void treeInitVolume(TreeItem item, File volume) {
-		item.setText(volume.getPath());
-		item.setImage(iconCache.stockImages[iconCache.iconClosedDrive]);
-		item.setData(TREEITEMDATA_FILE, volume);
-		item.setData(TREEITEMDATA_IMAGEEXPANDED, iconCache.stockImages[iconCache.iconOpenDrive]);
-		item.setData(TREEITEMDATA_IMAGECOLLAPSED, iconCache.stockImages[iconCache.iconClosedDrive]);
-	}
-
-	/**
-	 * Creates the file details table.
-	 * 
-	 * @param parent the parent control
-	 */
-	private void createTableView(Composite parent) {
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout gridLayout = new GridLayout();
-		gridLayout.numColumns = 1;
-		gridLayout.marginHeight = gridLayout.marginWidth = 2;
-		gridLayout.horizontalSpacing = gridLayout.verticalSpacing = 0;
-		composite.setLayout(gridLayout);
-		tableContentsOfLabel = new Label(composite, SWT.BORDER);
-		tableContentsOfLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL));
-
-		table = new Table(composite, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL | SWT.MULTI | SWT.FULL_SELECTION);
-		table.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL));
-
-		for (int i = 0; i < tableTitles.length; ++i) {
-			TableColumn column = new TableColumn(table, SWT.NONE);
-			column.setText(tableTitles[i]);
-			column.setWidth(tableWidths[i]);
-		}
-		table.setHeaderVisible(true);
-		table.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				notifySelectedFiles(getSelectedFiles());
-			}
-			public void widgetDefaultSelected(SelectionEvent event) {
-				doDefaultFileAction(getSelectedFiles());
-			}
-			private File[] getSelectedFiles() {
-				final TableItem[] items = table.getSelection();
-				final File[] files = new File[items.length];
-				
-				for (int i = 0; i < items.length; ++i) {
-					files[i] = (File) items[i].getData(TABLEITEMDATA_FILE);
-				}
-				return files;
-			}
-		});
-
-		createTableDragSource(table);
-		createTableDropTarget(table);
-	}
-
-	/**
-	 * Creates the Drag & Drop DragSource for items being dragged from the table.
-	 * 
-	 * @return the DragSource for the table
-	 */
-	private DragSource createTableDragSource(final Table table) {
-		DragSource dragSource = new DragSource(table, DND.DROP_MOVE | DND.DROP_COPY);
-		dragSource.setTransfer(new Transfer[] { FileTransfer.getInstance() });
-		dragSource.addDragListener(new DragSourceListener() {
-			TableItem[] dndSelection = null;
-			String[] sourceNames = null;
-			public void dragStart(DragSourceEvent event){
-				dndSelection = table.getSelection();
-				sourceNames = null;
-				event.doit = dndSelection.length > 0;
-				isDragging = true;
-			}
-			public void dragFinished(DragSourceEvent event){
-				dragSourceHandleDragFinished(event, sourceNames);
-				dndSelection = null;
-				sourceNames = null;
-				isDragging = false;
-				handleDeferredRefresh();
-			}
-			public void dragSetData(DragSourceEvent event){
-				if (dndSelection == null || dndSelection.length == 0) return;
-				if (! FileTransfer.getInstance().isSupportedType(event.dataType)) return;
-				
-				sourceNames  = new String[dndSelection.length];
-				for (int i = 0; i < dndSelection.length; i++) {
-					File file = (File) dndSelection[i].getData(TABLEITEMDATA_FILE);
-					sourceNames[i] = file.getAbsolutePath();
-				}
-				event.data = sourceNames;
-			}
-		});
-		return dragSource;
-	}
-
-	/**
-	 * Creates the Drag & Drop DropTarget for items being dropped onto the table.
-	 * 
-	 * @return the DropTarget for the table
-	 */
-	private DropTarget createTableDropTarget(final Table table){
-		DropTarget dropTarget = new DropTarget(table, DND.DROP_MOVE | DND.DROP_COPY);
-		dropTarget.setTransfer(new Transfer[] { FileTransfer.getInstance() });
-		dropTarget.addDropListener(new DropTargetAdapter() {
-			public void dragEnter(DropTargetEvent event) {
-				isDropping = true;
-			}
-			public void dragLeave(DropTargetEvent event) {
-				isDropping = false;
-				handleDeferredRefresh();
-			}
-			public void dragOver(DropTargetEvent event) {
-				dropTargetValidate(event, getTargetFile(event));
-				event.feedback |= DND.FEEDBACK_EXPAND | DND.FEEDBACK_SCROLL;
-			}
-			public void drop(DropTargetEvent event) {
-				File targetFile = getTargetFile(event);
-				if (dropTargetValidate(event, targetFile))
-					dropTargetHandleDrop(event, targetFile);
-			}
-			private File getTargetFile(DropTargetEvent event) {
-				// Determine the target File for the drop 
-				TableItem item = table.getItem(table.toControl(new Point(event.x, event.y)));
-				File targetFile = null;
-				if (item == null) {
-					// We are over an unoccupied area of the table.
-					// If it is a COPY, we can use the table's root file.
-					if (event.detail == DND.DROP_COPY) {
-						targetFile = (File) table.getData(TABLEDATA_DIR);
-					}
-				} else {
-					// We are over a particular item in the table, use the item's file
-					targetFile = (File) item.getData(TABLEITEMDATA_FILE);
-				}
-				return targetFile;
-			}
-		});
-		return dropTarget;
-	}
-
-	/**
-	 * Notifies the application components that a new current directory has been selected
-	 * 
-	 * @param dir the directory that was selected, null is ignored
-	 */
-	void notifySelectedDirectory(File dir) {
-		if (dir == null) return;
-		if (currentDirectory != null && dir.equals(currentDirectory)) return;
-		currentDirectory = dir;
-		notifySelectedFiles(null);
-		
-		/* Shell:
-		 * Sets the title to indicate the selected directory
-		 */
-		shell.setText(getResourceString("Title", new Object[] { currentDirectory.getPath() }));
-
-		/* Table view:
-		 * Displays the contents of the selected directory.
-		 */
-		workerUpdate(dir, false);
-
-		/* Combo view:
-		 * Sets the combo box to point to the selected directory.
-		 */
-		final File[] comboRoots = (File[]) combo.getData(COMBODATA_ROOTS);
-		int comboEntry = -1;
-		if (comboRoots != null) {		
-			for (int i = 0; i < comboRoots.length; ++i) {
-				if (dir.equals(comboRoots[i])) {
-					comboEntry = i;
-					break;
-				}
-			}
-		}
-		if (comboEntry == -1) combo.setText(dir.getPath());
-		else combo.select(comboEntry);
-
-		/* Tree view:
-		 * If not already expanded, recursively expands the parents of the specified
-		 * directory until it is visible.
-		 */
-		Vector /* of File */ path = new Vector();
-		// Build a stack of paths from the root of the tree
-		while (dir != null) {
-			path.add(dir);
-			dir = dir.getParentFile();
-		}
-		// Recursively expand the tree to get to the specified directory
-		TreeItem[] items = tree.getItems();
-		TreeItem lastItem = null;
-		for (int i = path.size() - 1; i >= 0; --i) {
-			final File pathElement = (File) path.elementAt(i);
-
-			// Search for a particular File in the array of tree items
-			// No guarantee that the items are sorted in any recognizable fashion, so we'll
-			// just sequential scan.  There shouldn't be more than a few thousand entries.
-			TreeItem item = null;
-			for (int k = 0; k < items.length; ++k) {
-				item = items[k];
-				if (item.isDisposed()) continue;
-				final File itemFile = (File) item.getData(TREEITEMDATA_FILE);
-				if (itemFile != null && itemFile.equals(pathElement)) break;
-			}
-			if (item == null) break;
-			lastItem = item;
-			if (i != 0 && !item.getExpanded()) {
-				treeExpandItem(item);
-				item.setExpanded(true);
-			}
-			items = item.getItems();
-		}
-		tree.setSelection((lastItem != null) ? new TreeItem[] { lastItem } : new TreeItem[0]);
-	}
-	
-	/**
-	 * Notifies the application components that files have been selected
-	 * 
-	 * @param files the files that were selected, null or empty array indicates no active selection
-	 */
-	void notifySelectedFiles(File[] files) {
-		/* Details:
-		 * Update the details that are visible on screen.
-		 */
-		if ((files != null) && (files.length != 0)) {
-			numObjectsLabel.setText(getResourceString("details.NumberOfSelectedFiles.text",
-				new Object[] { new Integer(files.length) }));
-			long fileSize = 0L;
-			for (int i = 0; i < files.length; ++i) {
-				fileSize += files[i].length();
-			}
-			diskSpaceLabel.setText(getResourceString("details.FileSize.text",
-				new Object[] { new Long(fileSize) }));
-		} else {
-			// No files selected
-			diskSpaceLabel.setText("");
-			if (currentDirectory != null) {
-				int numObjects = getDirectoryList(currentDirectory).length;
-				numObjectsLabel.setText(getResourceString("details.DirNumberOfObjects.text",
-					new Object[] { new Integer(numObjects) }));
-			} else {
-				numObjectsLabel.setText("");
-			}
-		}
-	}
-
-	/**
-	 * Notifies the application components that files must be refreshed
-	 * 
-	 * @param files the files that need refreshing, empty array is a no-op, null refreshes all
-	 */
-	void notifyRefreshFiles(File[] files) {
-		if (files != null && files.length == 0) return;
-
-		if ((deferredRefreshRequested) && (deferredRefreshFiles != null) && (files != null)) {
-			// merge requests
-			File[] newRequest = new File[deferredRefreshFiles.length + files.length];
-			System.arraycopy(deferredRefreshFiles, 0, newRequest, 0, deferredRefreshFiles.length);
-			System.arraycopy(files, 0, newRequest, deferredRefreshFiles.length, files.length);
-			deferredRefreshFiles = newRequest;
-		} else {
-			deferredRefreshFiles = files;
-			deferredRefreshRequested = true;
-		}
-		handleDeferredRefresh();
-	}
-
-	/**
-	 * Handles deferred Refresh notifications (due to Drag & Drop)
-	 */
-	void handleDeferredRefresh() {
-		if (isDragging || isDropping || ! deferredRefreshRequested) return;
-		if (progressDialog != null) {
-			progressDialog.close();
-			progressDialog = null;
-		}
-
-		deferredRefreshRequested = false;
-		File[] files = deferredRefreshFiles;
-		deferredRefreshFiles = null;
-
-		shell.setCursor(iconCache.stockCursors[iconCache.cursorWait]);
-
-		/* Table view:
-		 * Refreshes information about any files in the list and their children.
-		 */
-		boolean refreshTable = false;
-		if (files != null) {
-			for (int i = 0; i < files.length; ++i) {
-				final File file = files[i];
-				if (file.equals(currentDirectory)) {
-					refreshTable = true;
-					break;
-				}
-				File parentFile = file.getParentFile();
-				if ((parentFile != null) && (parentFile.equals(currentDirectory))) {
-					refreshTable = true;
-					break;
-				}
-			}
-		} else refreshTable = true;
-		if (refreshTable) workerUpdate(currentDirectory, true);
-
-		/* Combo view:
-		 * Refreshes the list of roots
-		 */
-		final File[] roots = getRoots();
-
-		if (files == null) {
-			boolean refreshCombo = false;
-			final File[] comboRoots = (File[]) combo.getData(COMBODATA_ROOTS);
-		
-			if ((comboRoots != null) && (comboRoots.length == roots.length)) {
-				for (int i = 0; i < roots.length; ++i) {
-					if (! roots[i].equals(comboRoots[i])) {
-						refreshCombo = true;
-						break;
-					}
-				}
-			} else refreshCombo = true;
-
-			if (refreshCombo) {
-				combo.removeAll();
-				combo.setData(COMBODATA_ROOTS, roots);
-				for (int i = 0; i < roots.length; ++i) {
-					final File file = roots[i];
-					combo.add(file.getPath());
-				}
-			}
-		}
-
-		/* Tree view:
-		 * Refreshes information about any files in the list and their children.
-		 */
-		treeRefresh(roots);
-		
-		// Remind everyone where we are in the filesystem
-		final File dir = currentDirectory;
-		currentDirectory = null;
-		notifySelectedDirectory(dir);
-
-		shell.setCursor(iconCache.stockCursors[iconCache.cursorDefault]);
-	}
-
-	/**
-	 * Performs the default action on a set of files.
-	 * 
-	 * @param files the array of files to process
-	 */
-	void doDefaultFileAction(File[] files) {
-		// only uses the 1st file (for now)
-		if (files.length == 0) return;
-		final File file = files[0];
-
-		if (file.isDirectory()) {
-			notifySelectedDirectory(file);
-		} else {
-			final String fileName = file.getAbsolutePath();
-			if (! Program.launch(fileName)) {	
-				MessageBox dialog = new MessageBox(shell, SWT.ICON_ERROR | SWT.OK);
-				dialog.setMessage(getResourceString("error.FailedLaunch.message", new Object[] { fileName }));
-				dialog.setText(shell.getText ());
-				dialog.open();
-			}
-		}
-	}
-
-	/**
-	 * Navigates to the parent directory
-	 */
-	void doParent() {
-		if (currentDirectory == null) return;
-		File parentDirectory = currentDirectory.getParentFile();
-		notifySelectedDirectory(parentDirectory);
-	}
-	 
-	/**
-	 * Performs a refresh
-	 */
-	void doRefresh() {
-		notifyRefreshFiles(null);
-	}
-
-	/**
-	 * Validates a drop target as a candidate for a drop operation.
-	 * <p>
-	 * Used in dragOver() and dropAccept().<br>
-	 * Note event.detail is set to DND.DROP_NONE by this method if the target is not valid.
-	 * </p>
-	 * @param event the DropTargetEvent to validate
-	 * @param targetFile the File representing the drop target location
-	 *        under inspection, or null if none
-	 */
-	private boolean dropTargetValidate(DropTargetEvent event, File targetFile) {
-		if (targetFile != null && targetFile.isDirectory()) {
-			if (event.detail != DND.DROP_COPY && event.detail != DND.DROP_MOVE) {
-				event.detail = DND.DROP_MOVE;
-			}
-		} else {
-			event.detail = DND.DROP_NONE;
-		}
-		return event.detail != DND.DROP_NONE;
-	}
-
-	/**
-	 * Handles a drop on a dropTarget.
-	 * <p>
-	 * Used in drop().<br>
-	 * Note event.detail is modified by this method.
-	 * </p>
-	 * @param event the DropTargetEvent passed as parameter to the drop() method
-	 * @param targetFile the File representing the drop target location
-	 *        under inspection, or null if none
-	 */
-	private void dropTargetHandleDrop(DropTargetEvent event, File targetFile) {
-		// Get dropped data (an array of filenames)
-		if (! dropTargetValidate(event, targetFile)) return;
-		final String[] sourceNames = (String[]) event.data;
-		if (sourceNames == null) event.detail = DND.DROP_NONE;
-		if (event.detail == DND.DROP_NONE) return;
-
-		// Open progress dialog
-		progressDialog = new ProgressDialog(shell,
-			(event.detail == DND.DROP_MOVE) ? ProgressDialog.MOVE : ProgressDialog.COPY);
-		progressDialog.setTotalWorkUnits(sourceNames.length);
-		progressDialog.open();
-
-		// Copy each file
-		Vector /* of File */ processedFiles = new Vector();
-		for (int i = 0; (i < sourceNames.length) && (! progressDialog.isCancelled()); i++){
-			final File source = new File(sourceNames[i]);
-			final File dest = new File(targetFile, source.getName());
-			if (source.equals(dest)) continue; // ignore if in same location
-
-			progressDialog.setDetailFile(source, ProgressDialog.COPY);
-			while (! progressDialog.isCancelled()) {
-				if (copyFileStructure(source, dest)) {
-					processedFiles.add(source);
-					break;
-				} else if (! progressDialog.isCancelled()) {
-					if (event.detail == DND.DROP_MOVE && (!isDragging)) {
-						// It is not possible to notify an external drag source that a drop
-						// operation was only partially successful.  This is particularly a
-						// problem for DROP_MOVE operations since unless the source gets
-						// DROP_NONE, it will delete the original data including bits that
-						// may not have been transferred successfully.
-						MessageBox box = new MessageBox(shell, SWT.ICON_ERROR | SWT.RETRY | SWT.CANCEL);
-						box.setText(getResourceString("dialog.FailedCopy.title"));
-						box.setMessage(getResourceString("dialog.FailedCopy.description",
-							new Object[] { source, dest }));
-						int button = box.open();
-						if (button == SWT.CANCEL) {
-							i = sourceNames.length;
-							event.detail = DND.DROP_NONE;
-							break;
-						}
-					} else {
-						// We can recover gracefully from errors if the drag source belongs
-						// to this application since it will look at processedDropFiles.
-						MessageBox box = new MessageBox(shell, SWT.ICON_ERROR | SWT.ABORT | SWT.RETRY | SWT.IGNORE);
-						box.setText(getResourceString("dialog.FailedCopy.title"));
-						box.setMessage(getResourceString("dialog.FailedCopy.description",
-							new Object[] { source, dest }));
-						int button = box.open();
-						if (button == SWT.ABORT) i = sourceNames.length;
-						if (button != SWT.RETRY) break;
-					}
-				}
-				progressDialog.addProgress(1);
-			}
-		}
-		if (isDragging) {
-			// Remember exactly which files we processed
-			processedDropFiles = ((File[]) processedFiles.toArray(new File[processedFiles.size()]));
-		} else {
-			progressDialog.close();
-			progressDialog = null;
-		}
-		notifyRefreshFiles(new File[] { targetFile });
-	}
-
-	/**
-	 * Handles the completion of a drag on a dragSource.
-	 * <p>
-	 * Used in dragFinished().<br>
-	 * </p>
-	 * @param event the DragSourceEvent passed as parameter to the dragFinished() method
-	 * @param sourceNames the names of the files that were dragged (event.data is invalid)
-	 */
-	private void dragSourceHandleDragFinished(DragSourceEvent event, String[] sourceNames) {
-		if (sourceNames == null) return;
-		if (event.detail != DND.DROP_MOVE) return;
-
-		// Get array of files that were actually transferred
-		final File[] sourceFiles;
-		if (processedDropFiles != null) {
-			sourceFiles = processedDropFiles;
-		} else {
-			sourceFiles = new File[sourceNames.length];
-			for (int i = 0; i < sourceNames.length; ++i)
-				sourceFiles[i] = new File(sourceNames[i]);
-		}	
-		if (progressDialog == null)
-			progressDialog = new ProgressDialog(shell, ProgressDialog.MOVE);
-		progressDialog.setTotalWorkUnits(sourceFiles.length);
-		progressDialog.setProgress(0);
-		progressDialog.open();
-
-		// Delete each file
-		for (int i = 0; (i < sourceFiles.length) && (! progressDialog.isCancelled()); i++){
-			final File source = sourceFiles[i];
-			progressDialog.setDetailFile(source, ProgressDialog.DELETE);
-			while (! progressDialog.isCancelled()) {
-				if (deleteFileStructure(source)) {
-					break;
-				} else if (! progressDialog.isCancelled()) {
-					MessageBox box = new MessageBox(shell, SWT.ICON_ERROR | SWT.ABORT | SWT.RETRY | SWT.IGNORE);
-					box.setText(getResourceString("dialog.FailedDelete.title"));
-					box.setMessage(getResourceString("dialog.FailedDelete.description",
-						new Object[] { source }));
-					int button = box.open();
-					if (button == SWT.ABORT) i = sourceNames.length;
-					if (button == SWT.RETRY) break;
-				}
-			}
-			progressDialog.addProgress(1);
-		}
-		notifyRefreshFiles(sourceFiles);
-		progressDialog.close();
-		progressDialog = null;
-	}
-
-	/**
-	 * Gets filesystem root entries
-	 * 
-	 * @return an array of Files corresponding to the root directories on the platform,
-	 *         may be empty but not null
-	 */
-	File[] getRoots() {
-		/*
-		 * On JDK 1.22 only...
-		 */
-		// return File.listRoots();
-
-		/*
-		 * On JDK 1.1.7 and beyond...
-		 * -- PORTABILITY ISSUES HERE --
-		 */
-		if (System.getProperty ("os.name").indexOf ("Windows") != -1) {
-			Vector /* of File */ list = new Vector();
-			list.add(new File(DRIVE_A));
-			list.add(new File(DRIVE_B));
-			for (char i = 'c'; i <= 'z'; ++i) {
-				File drive = new File(i + ":" + File.separator);
-				if (drive.isDirectory() && drive.exists()) {
-					list.add(drive);
-					if (initial && i == 'c') {
-						currentDirectory = drive;
-						initial = false;
-					}
-				}
-			}
-			File[] roots = (File[]) list.toArray(new File[list.size()]);
-			sortFiles(roots);
-			return roots;
-		}
-		File root = new File(File.separator);
-		if (initial) {
-			currentDirectory = root;
-			initial = false;
-		}
-		return new File[] { root };
-	}
-
-	/**
-	 * Gets a directory listing
-	 * 
-	 * @param file the directory to be listed
-	 * @return an array of files this directory contains, may be empty but not null
-	 */
-	static File[] getDirectoryList(File file) {
-		File[] list = file.listFiles();
-		if (list == null) return new File[0];
-		sortFiles(list);
-		return list;
-	}
-	
-	/**
-	 * Copies a file or entire directory structure.
-	 * 
-	 * @param oldFile the location of the old file or directory
-	 * @param newFile the location of the new file or directory
-	 * @return true iff the operation succeeds without errors
-	 */
-	boolean copyFileStructure(File oldFile, File newFile) {
-		if (oldFile == null || newFile == null) return false;
-		
-		// ensure that newFile is not a child of oldFile or a dupe
-		File searchFile = newFile;
-		do {
-			if (oldFile.equals(searchFile)) return false;
-			searchFile = searchFile.getParentFile();
-		} while (searchFile != null);
-		
-		if (oldFile.isDirectory()) {
-			/*
-			 * Copy a directory
-			 */
-			if (progressDialog != null) {
-				progressDialog.setDetailFile(oldFile, ProgressDialog.COPY);
-			}
-			if (simulateOnly) {
-				//System.out.println(getResourceString("simulate.DirectoriesCreated.text",
-				//	new Object[] { newFile.getPath() }));
-			} else {
-				if (! newFile.mkdirs()) return false;
-			}
-			File[] subFiles = oldFile.listFiles();
-			if (subFiles != null) {
-				if (progressDialog != null) {
-					progressDialog.addWorkUnits(subFiles.length);
-				}
-				for (int i = 0; i < subFiles.length; i++) {
-					File oldSubFile = subFiles[i];
-					File newSubFile = new File(newFile, oldSubFile.getName());
-					if (! copyFileStructure(oldSubFile, newSubFile)) return false;
-					if (progressDialog != null) {
-						progressDialog.addProgress(1);
-						if (progressDialog.isCancelled()) return false;
-					}
-				}
-			}
-		} else {
-			/*
-			 * Copy a file
-			 */
-			if (simulateOnly) {
-				//System.out.println(getResourceString("simulate.CopyFromTo.text",
-				//	new Object[] { oldFile.getPath(), newFile.getPath() }));
-			} else {
-				FileReader in = null;
-				FileWriter out = null;
-				try {
-					in = new FileReader(oldFile);
-					out = new FileWriter(newFile);
-			
-					int count;
-					while ((count = in.read()) != -1) out.write(count);
-				} catch (FileNotFoundException e) {
-					return false;
-				} catch (IOException e) {
-					return false;
-				} finally {
-					try {
-						if (in != null) in.close();
-						if (out != null) out.close();
-					} catch (IOException e) {
-						return false;
-					}
-				}
-			}
-		}
-		return true;
-	}
-
-	/**
-	 * Deletes a file or entire directory structure.
-	 * 
-	 * @param oldFile the location of the old file or directory
-	 * @return true iff the operation succeeds without errors
-	 */
-	boolean deleteFileStructure(File oldFile) {
-		if (oldFile == null) return false;		
-		if (oldFile.isDirectory()) {
-			/*
-			 * Delete a directory
-			 */
-			if (progressDialog != null) {
-				progressDialog.setDetailFile(oldFile, ProgressDialog.DELETE);
-			}
-			File[] subFiles = oldFile.listFiles();
-			if (subFiles != null) {
-				if (progressDialog != null) {
-					progressDialog.addWorkUnits(subFiles.length);
-				}
-				for (int i = 0; i < subFiles.length; i++) {
-					File oldSubFile = subFiles[i];
-					if (! deleteFileStructure(oldSubFile)) return false;
-					if (progressDialog != null) {
-						progressDialog.addProgress(1);
-						if (progressDialog.isCancelled()) return false;
-					}
-				}
-			}
-		}
-		if (simulateOnly) {
-			//System.out.println(getResourceString("simulate.Delete.text",
-			//	new Object[] { oldFile.getPath(), oldFile.getPath() }));
-			return true;
-		}
-		return oldFile.delete();
-	}
-	
-	/**
-	 * Sorts files lexicographically by name.
-	 * 
-	 * @param files the array of Files to be sorted
-	 */
-	static void sortFiles(File[] files) {
-		/* Very lazy merge sort algorithm */
-		sortBlock(files, 0, files.length - 1, new File[files.length]);
-	}
-	private static void sortBlock(File[] files, int start, int end, File[] mergeTemp) {
-		final int length = end - start + 1;
-		if (length < 8) {
-			for (int i = end; i > start; --i) {
-				for (int j = end; j > start; --j)  {
-					if (compareFiles(files[j - 1], files[j]) > 0) {
-					    final File temp = files[j]; 
-					    files[j] = files[j-1]; 
-					    files[j-1] = temp;
-					}
-			    }
-			}
-			return;
-		}
-		final int mid = (start + end) / 2;
-		sortBlock(files, start, mid, mergeTemp);
-		sortBlock(files, mid + 1, end, mergeTemp);
-		int x = start;
-		int y = mid + 1;
-		for (int i = 0; i < length; ++i) {
-			if ((x > mid) || ((y <= end) && compareFiles(files[x], files[y]) > 0)) {
-				mergeTemp[i] = files[y++];
-			} else {
-				mergeTemp[i] = files[x++];
-			}
-		}
-		for (int i = 0; i < length; ++i) files[i + start] = mergeTemp[i];
-	}
-	private static int compareFiles(File a, File b) {
-//		boolean aIsDir = a.isDirectory();
-//		boolean bIsDir = b.isDirectory();
-//		if (aIsDir && ! bIsDir) return -1;
-//		if (bIsDir && ! aIsDir) return 1;
-
-		// sort case-sensitive files in a case-insensitive manner
-		int compare = a.getName().compareToIgnoreCase(b.getName());
-		if (compare == 0) compare = a.getName().compareTo(b.getName());
-		return compare;
-	}
-	
-	/*
-	 * This worker updates the table with file information in the background.
-	 * <p>
-	 * Implementation notes:
-	 * <ul>
-	 * <li> It is designed such that it can be interrupted cleanly.
-	 * <li> It uses asyncExec() in some places to ensure that SWT Widgets are manipulated in the
-	 *      right thread.  Exclusive use of syncExec() would be inappropriate as it would require a pair
-	 *      of context switches between each table update operation.
-	 * </ul>
-	 * </p>
-	 */
-
-	/**
-	 * Stops the worker and waits for it to terminate.
-	 */
-	void workerStop() {
-		if (workerThread == null) return;
-		synchronized(workerLock) {
-			workerCancelled = true;
-			workerStopped = true;
-			workerLock.notifyAll();
-		}
-		while (workerThread != null) {
-			if (! display.readAndDispatch()) display.sleep();
-		}
-	}
-
-	/**
-	 * Notifies the worker that it should update itself with new data.
-	 * Cancels any previous operation and begins a new one.
-	 * 
-	 * @param dir the new base directory for the table, null is ignored
-	 * @param force if true causes a refresh even if the data is the same
-	 */
-	void workerUpdate(File dir, boolean force) {
-		if (dir == null) return;
-		if ((!force) && (workerNextDir != null) && (workerNextDir.equals(dir))) return;
-
-		synchronized(workerLock) {
-			workerNextDir = dir;
-			workerStopped = false;
-			workerCancelled = true;
-			workerLock.notifyAll();
-		}
-		if (workerThread == null) {
-			workerThread = new Thread(workerRunnable);
-			workerThread.start();
-		}
-	}
-
-	/**
-	 * Manages the worker's thread
-	 */
-	private final Runnable workerRunnable = new Runnable() {
-		public void run() {
-			while (! workerStopped) {
-				synchronized(workerLock) {
-					workerCancelled = false;
-					workerStateDir = workerNextDir;
-				}
-				workerExecute();
-				synchronized(workerLock) {
-					try {
-						if ((!workerCancelled) && (workerStateDir == workerNextDir)) workerLock.wait();
-					} catch (InterruptedException e) {
-					}
-				}
-			}
-			workerThread = null;
-			// wake up UI thread in case it is in a modal loop awaiting thread termination
-			// (see workerStop())
-			display.wake();
-		}
-	};
-	
-	/**
-	 * Updates the table's contents
-	 */
-	private void workerExecute() {
-		File[] dirList;
-		// Clear existing information
-		display.syncExec(new Runnable() {
-			public void run() {
-				tableContentsOfLabel.setText(FileViewer.getResourceString("details.ContentsOf.text",
-					new Object[] { workerStateDir.getPath() }));
-				table.removeAll();
-				table.setData(TABLEDATA_DIR, workerStateDir);
-			}
-		});
-		dirList = getDirectoryList(workerStateDir);
-		
-		for (int i = 0; (! workerCancelled) && (i < dirList.length); i++) {
-			workerAddFileDetails(dirList[i]);
-		}
-
-	}
-		
-	/**
-	 * Adds a file's detail information to the directory list
-	 */
-	private void workerAddFileDetails(final File file) {
-		final String nameString = file.getName();
-		final String dateString = dateFormat.format(new Date(file.lastModified()));
-		final String sizeString;
-		final String typeString;
-		final Image iconImage;
-		
-		if (file.isDirectory()) {
-			typeString = getResourceString("filetype.Folder");
-			sizeString = "";
-			iconImage = iconCache.stockImages[iconCache.iconClosedFolder];
-		} else {
-			sizeString = getResourceString("filesize.KB",
-				new Object[] { new Long((file.length() + 512) / 1024) });
-			
-			int dot = nameString.lastIndexOf('.');
-			if (dot != -1) {
-				String extension = nameString.substring(dot);
-				Program program = Program.findProgram(extension);
-				if (program != null) {
-					typeString = program.getName();
-					iconImage = iconCache.getIconFromProgram(program);
-				} else {
-					typeString = getResourceString("filetype.Unknown", new Object[] { extension.toUpperCase() });
-					iconImage = iconCache.stockImages[iconCache.iconFile];
-				}
-			} else {
-				typeString = getResourceString("filetype.None");
-				iconImage = iconCache.stockImages[iconCache.iconFile];
-			}
-		}
-		final String[] strings = new String[] { nameString, sizeString, typeString, dateString };
-
-		display.syncExec(new Runnable() {
-			public void run () {
-				// guard against the shell being closed before this runs
-				if (shell.isDisposed()) return;
-				TableItem tableItem = new TableItem(table, 0);
-				tableItem.setText(strings);
-				tableItem.setImage(iconImage);
-				tableItem.setData(TABLEITEMDATA_FILE, file);
-			}
-		});
-	}
-	
-	/**
-	 * Instances of this class manage a progress dialog for file operations.
-	 */
-	class ProgressDialog {
-		public final static int COPY = 0;
-		public final static int DELETE = 1;
-		public final static int MOVE = 2;
-
-		Shell shell;
-		Label messageLabel, detailLabel;
-		ProgressBar progressBar;
-		Button cancelButton;
-		boolean isCancelled = false;
-
-		final String operationKeyName[] = {
-			"Copy",
-			"Delete",
-			"Move"
-		};
-	
-		/**
-		 * Creates a progress dialog but does not open it immediately.
-		 * 
-		 * @param parent the parent Shell
-		 * @param style one of COPY, MOVE
-		 */
-		public ProgressDialog(Shell parent, int style) {
-			shell = new Shell(parent, SWT.BORDER | SWT.TITLE | SWT.APPLICATION_MODAL);
-			GridLayout gridLayout = new GridLayout();
-			shell.setLayout(gridLayout);
-			shell.setText(getResourceString("progressDialog." + operationKeyName[style] + ".title"));
-			shell.addShellListener(new ShellAdapter() {
-				public void shellClosed(ShellEvent e) {
-					isCancelled = true;
-				}
-			});
-			
-			messageLabel = new Label(shell, SWT.HORIZONTAL);
-			messageLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL));
-			messageLabel.setText(getResourceString("progressDialog." + operationKeyName[style] + ".description"));
-			
-			progressBar = new ProgressBar(shell, SWT.HORIZONTAL | SWT.WRAP);
-			progressBar.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL));
-			progressBar.setMinimum(0);
-			progressBar.setMaximum(0);
-			
-			detailLabel = new Label(shell, SWT.HORIZONTAL);
-			GridData gridData = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING);
-			gridData.widthHint = 400;
-			detailLabel.setLayoutData(gridData);
-			
-			cancelButton = new Button(shell, SWT.PUSH);
-			cancelButton.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END | GridData.VERTICAL_ALIGN_FILL));
-			cancelButton.setText(getResourceString("progressDialog.cancelButton.text"));
-			cancelButton.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					isCancelled = true;
-					cancelButton.setEnabled(false);
-				}
-			});
-		}
-		/**
-		 * Sets the detail text to show the filename along with a string
-		 * representing the operation being performed on that file.
-		 * 
-		 * @param file the file to be detailed
-		 * @param operation one of COPY, DELETE
-		 */
-		public void setDetailFile(File file, int operation) {
-			detailLabel.setText(getResourceString("progressDialog." + operationKeyName[operation] + ".operation",
-				new Object[] { file }));
-		}
-		/**
-		 * Returns true if the Cancel button was been clicked.
-		 * 
-		 * @return true if the Cancel button was clicked.
-		 */
-		public boolean isCancelled() {
-			return isCancelled;
-		}
-		/**
-		 * Sets the total number of work units to be performed.
-		 * 
-		 * @param work the total number of work units
-		 */
-		public void setTotalWorkUnits(int work) {
-			progressBar.setMaximum(work);
-		}
-		/**
-		 * Adds to the total number of work units to be performed.
-		 * 
-		 * @param work the number of work units to add
-		 */
-		public void addWorkUnits(int work) {
-			setTotalWorkUnits(progressBar.getMaximum() + work);
-		}
-		/**
-		 * Sets the progress of completion of the total work units.
-		 * 
-		 * @param work the total number of work units completed
-		 */
-		public void setProgress(int work) {
-			progressBar.setSelection(work);
-			while (display.readAndDispatch()) {} // enable event processing
-		}
-		/**
-		 * Adds to the progress of completion of the total work units.
-		 * 
-		 * @param work the number of work units completed to add
-		 */
-		public void addProgress(int work) {
-			setProgress(progressBar.getSelection() + work);
-		}
-		/**
-		 * Opens the dialog.
-		 */
-		public void open() {
-			shell.pack();
-			final Shell parentShell = (Shell) shell.getParent();
-			Rectangle rect = parentShell.getBounds();
-			Rectangle bounds = shell.getBounds();
-			bounds.x = rect.x + (rect.width - bounds.width) / 2;
-			bounds.y = rect.y + (rect.height - bounds.height) / 2;
-			shell.setBounds(bounds);
-			shell.open();
-		}
-		/**
-		 * Closes the dialog and disposes its resources.
-		 */
-		public void close() {
-			shell.close();
-			shell.dispose();
-			shell = null;
-			messageLabel = null;
-			detailLabel = null;
-			progressBar = null;
-			cancelButton = null;
-		}
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/IconCache.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/IconCache.java
deleted file mode 100755
index 914dc96..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/IconCache.java
+++ /dev/null
@@ -1,161 +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.swt.examples.fileviewer;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.program.*;
-import org.eclipse.swt.widgets.*;
-
-import java.io.*;
-import java.util.*;
-
-/**
- * Manages icons for the application.
- * This is necessary as we could easily end up creating thousands of icons
- * bearing the same image.
- */
-class IconCache {
-	// Stock images
-	public final int
-		shellIcon = 0,
-		iconClosedDrive = 1,
-		iconClosedFolder = 2,
-		iconFile = 3,
-		iconOpenDrive = 4,
-		iconOpenFolder = 5,
-		cmdCopy = 6,
-		cmdCut = 7,
-		cmdDelete = 8,
-		cmdParent = 9,
-		cmdPaste = 10,
-		cmdPrint = 11,
-		cmdRefresh = 12,
-		cmdRename = 13,
-		cmdSearch = 14;
-	public final String[] stockImageLocations = {
-		"generic_example.gif",
-		"icon_ClosedDrive.gif",
-		"icon_ClosedFolder.gif",
-		"icon_File.gif",
-		"icon_OpenDrive.gif",
-		"icon_OpenFolder.gif",
-		"cmd_Copy.gif",
-		"cmd_Cut.gif",
-		"cmd_Delete.gif",
-		"cmd_Parent.gif",
-		"cmd_Paste.gif",
-		"cmd_Print.gif",
-		"cmd_Refresh.gif",
-		"cmd_Rename.gif",
-		"cmd_Search.gif"
-	};
-	public Image stockImages[];
-	
-	// Stock cursors
-	public final int
-		cursorDefault = 0,
-		cursorWait = 1;
-	public Cursor stockCursors[];
-	// Cached icons
-	private Hashtable iconCache; /* map Program to Image */
-	
-	public IconCache() {
-	}
-	/**
-	 * Loads the resources
-	 * 
-	 * @param display the display
-	 */
-	public void initResources(Display display) {
-		if (stockImages == null) {
-			stockImages = new Image[stockImageLocations.length];
-				
-			for (int i = 0; i < stockImageLocations.length; ++i) {
-				Image image = createStockImage(display, stockImageLocations[i]);
-				if (image == null) {
-					freeResources();
-					throw new IllegalStateException(
-						FileViewer.getResourceString("error.CouldNotLoadResources"));
-				}
-				stockImages[i] = image;
-			}
-		}	
-		if (stockCursors == null) {
-			stockCursors = new Cursor[] {
-				null,
-				new Cursor(display, SWT.CURSOR_WAIT)
-			};
-		}
-		iconCache = new Hashtable();
-	}
-	/**
-	 * Frees the resources
-	 */
-	public void freeResources() {
-		if (stockImages != null) {
-			for (int i = 0; i < stockImages.length; ++i) {
-				final Image image = stockImages[i];
-				if (image != null) image.dispose();
-			}
-			stockImages = null;
-		}
-		if (iconCache != null) {
-			for (Enumeration it = iconCache.elements(); it.hasMoreElements(); ) {
-				Image image = (Image) it.nextElement();
-				image.dispose();
-			}
-		}
-		if (stockCursors != null) {
-			for (int i = 0; i < stockCursors.length; ++i) {
-				final Cursor cursor = stockCursors[i];
-				if (cursor != null) cursor.dispose();
-			}
-			stockCursors = null;
-		}
-	}
-	/**
-	 * Creates a stock image
-	 * 
-	 * @param display the display
-	 * @param path the relative path to the icon
-	 */
-	private Image createStockImage(Display display, String path) {
-		InputStream stream = IconCache.class.getResourceAsStream (path);
-		ImageData imageData = new ImageData (stream);
-		ImageData mask = imageData.getTransparencyMask ();
-		Image result = new Image (display, imageData, mask);
-		try {
-			stream.close ();
-		} catch (IOException e) {
-			e.printStackTrace ();
-		}
-		return result;
-	}
-	/**
-	 * Gets an image for a file associated with a given program
-	 *
-	 * @param program the Program
-	 */
-	public Image getIconFromProgram(Program program) {
-		Image image = (Image) iconCache.get(program);
-		if (image == null) {
-			ImageData imageData = program.getImageData();
-			if (imageData != null) {
-				image = new Image(null, imageData, imageData.getTransparencyMask());
-				iconCache.put(program, image);
-			} else {
-				image = stockImages[iconFile];
-			}
-		}
-		return image;
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/cmd_Copy.gif b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/cmd_Copy.gif
deleted file mode 100755
index 4274b07..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/cmd_Copy.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/cmd_Cut.gif b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/cmd_Cut.gif
deleted file mode 100755
index eb948b9..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/cmd_Cut.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/cmd_Delete.gif b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/cmd_Delete.gif
deleted file mode 100755
index 6f64766..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/cmd_Delete.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/cmd_Parent.gif b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/cmd_Parent.gif
deleted file mode 100755
index 9b278e6..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/cmd_Parent.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/cmd_Paste.gif b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/cmd_Paste.gif
deleted file mode 100755
index 75e0ab2..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/cmd_Paste.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/cmd_Print.gif b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/cmd_Print.gif
deleted file mode 100755
index 4dfa8cd..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/cmd_Print.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/cmd_Refresh.gif b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/cmd_Refresh.gif
deleted file mode 100755
index a063c23..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/cmd_Refresh.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/cmd_Rename.gif b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/cmd_Rename.gif
deleted file mode 100755
index 25b1325..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/cmd_Rename.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/cmd_Search.gif b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/cmd_Search.gif
deleted file mode 100755
index 6dc3ebe..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/cmd_Search.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/generic_example.gif b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/generic_example.gif
deleted file mode 100755
index f9fb6b0..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/generic_example.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/icon_ClosedDrive.gif b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/icon_ClosedDrive.gif
deleted file mode 100755
index 04e530e..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/icon_ClosedDrive.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/icon_ClosedFolder.gif b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/icon_ClosedFolder.gif
deleted file mode 100755
index beb6ed1..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/icon_ClosedFolder.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/icon_File.gif b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/icon_File.gif
deleted file mode 100755
index 6b86d07..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/icon_File.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/icon_OpenDrive.gif b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/icon_OpenDrive.gif
deleted file mode 100755
index 7b2b633..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/icon_OpenDrive.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/icon_OpenFolder.gif b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/icon_OpenFolder.gif
deleted file mode 100755
index a9c77734..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/icon_OpenFolder.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/AdvancedGraphics.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/AdvancedGraphics.java
deleted file mode 100644
index 81ab1c1..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/AdvancedGraphics.java
+++ /dev/null
@@ -1,104 +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.swt.examples.graphics;
-
-/* 
- * Drawing with transformations, paths and alpha blending
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import java.io.*;
-import java.util.*;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class AdvancedGraphics {
-	
-	private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle("examples_graphics");
-	
-	static Image loadImage (Device device, Class clazz, String string) {
-		InputStream stream = clazz.getResourceAsStream (string);
-		if (stream == null) return null;
-		Image image = null;
-		try {
-			image = new Image (device, stream);
-		} catch (SWTException ex) {
-		} finally {
-			try {
-				stream.close ();
-			} catch (IOException ex) {}
-		}
-		return image;
-	}
-
-	public Shell open(final Display display) {
-		final Shell shell = new Shell(display);
-		shell.setText(RESOURCE_BUNDLE.getString("AdvancedGraphics")); //$NON-NLS-1$
-		try {
-			Path path = new Path(display);
-			path.dispose();
-		} catch (SWTException e) {
-			MessageBox dialog = new MessageBox(shell, SWT.ICON_WARNING | SWT.OK);
-			dialog.setText(RESOURCE_BUNDLE.getString("Warning")); //$NON-NLS-1$
-			dialog.setMessage(RESOURCE_BUNDLE.getString("LibNotFound")); //$NON-NLS-1$
-			dialog.open();
-			shell.dispose();
-			return null;
-		}
-		FontData fd = shell.getFont().getFontData()[0];
-		final Font font = new Font(display, fd.getName(), 96, SWT.BOLD | SWT.ITALIC);
-		final Image image = loadImage(display, AdvancedGraphics.class, "irmaos.jpg");
-		final Rectangle rect = image.getBounds();
-		shell.addListener(SWT.Paint, new Listener() {
-			public void handleEvent(Event event) {
-				GC gc = event.gc;				
-				Transform tr = new Transform(display);
-				tr.translate(rect.width / 4, rect.height / 2);
-				tr.rotate(-30);
-				if (image != null) {
-					gc.drawImage(image, 0, 0, rect.width, rect.height, 0, 0, rect.width, rect.height);
-				}
-				gc.setAlpha(100);
-				gc.setTransform(tr);
-				Path path = new Path(display);
-				path.addString("SWT", 0, 0, font);
-				gc.setBackground(display.getSystemColor(SWT.COLOR_GREEN));
-				gc.setForeground(display.getSystemColor(SWT.COLOR_BLUE));
-				gc.fillPath(path);
-				gc.drawPath(path);
-				tr.dispose();
-				path.dispose();
-			}			
-		});
-		shell.setSize(shell.computeSize(rect.width, rect.height));
-		shell.open();
-		shell.addListener(SWT.Dispose, new Listener() {
-			public void handleEvent(Event event) {
-				if (image != null) image.dispose();
-				font.dispose();
-			}
-		});	
-		return shell;
-	}
-	
-	public static void main(String[] args) {
-		Display display = new Display();
-		Shell shell = new AdvancedGraphics().open(display);
-		while (shell != null && !shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		display.dispose();
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/AlphaTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/AlphaTab.java
deleted file mode 100644
index f2908ad..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/AlphaTab.java
+++ /dev/null
@@ -1,234 +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.swt.examples.graphics;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-
-/**
- * This tab demonstrates alpha blending. It draws various shapes and images as
- * alpha values change.
- */
-public class AlphaTab extends AnimatedGraphicsTab {
-	/**
-	 * Value used in setAlpha API call. Goes from 0 to 255 and then starts over.
-	 */
-	int alphaValue;
-	
-	/**
-	 * Value used in setAlpha API call. Goes from 0 to 255, then from 255 to 0
-	 * and then starts over.
-	 */
-	int alphaValue2;
-
-	boolean reachedMax = false;
-	int diameter;
-	
-	/** random numbers used for positioning "SWT" */
-	int randX, randY;
-	Image alphaImg1, alphaImg2;
-
-	public AlphaTab(GraphicsExample example) {
-		super(example);
-	}
-	
-	public String getCategory() {
-		return GraphicsExample.getResourceString("Alpha"); //$NON-NLS-1$
-	}
-
-	public String getText() {
-		return GraphicsExample.getResourceString("Alpha"); //$NON-NLS-1$
-	}
-	
-	public String getDescription() {
-		return GraphicsExample.getResourceString("AlphaDescription"); //$NON-NLS-1$
-	}
-	
-	public int getInitialAnimationTime() {
-		return 20;
-	}
-	
-	public void dispose() {
-		if (alphaImg1 != null) {
-			alphaImg1.dispose();
-			alphaImg1 = null;
-		}
-		if (alphaImg2 != null) {
-			alphaImg2.dispose();
-			alphaImg2 = null;
-		}
-	}
-
-	public void next(int width, int height) {
-		alphaValue = (alphaValue+5)%255;
-		
-		alphaValue2 = reachedMax ? alphaValue2 - 5 : alphaValue2 + 5;
-			
-		if (alphaValue2 == 255) {
-			reachedMax = true;
-		} else if (alphaValue2 == 0) {
-			reachedMax = false;
-		}
-		
-		diameter = (diameter + 10)%(width > height ? width : height);
-	}
-
-	/** 
-	 * Paint the receiver into the specified GC. 
-	 */
-	public void paint(GC gc, int width, int height) {
-		if (!example.checkAdvancedGraphics()) return;
-		Device device = gc.getDevice();
-
-		if (alphaImg1 == null) {
-			alphaImg1 = GraphicsExample.loadImage(device, GraphicsExample.class, "alpha_img1.png");
-			alphaImg2 = GraphicsExample.loadImage(device, GraphicsExample.class, "alpha_img2.png");	
-		}
-
-		Rectangle rect = alphaImg1.getBounds();
-		
-		gc.setAlpha(alphaValue);
-		gc.drawImage(alphaImg1, rect.x, rect.y, rect.width, rect.height, 
-				width/2, height/2, width/4, height/4);
-		
-		gc.drawImage(alphaImg1, rect.x, rect.y, rect.width, rect.height, 
-				0, 0, width/4, height/4);
-
-		gc.setAlpha(255-alphaValue);
-		gc.drawImage(alphaImg2, rect.x, rect.y, rect.width, rect.height, 
-				width/2, 0, width/4, height/4);
-		
-		gc.drawImage(alphaImg2, rect.x, rect.y, rect.width, rect.height, 
-				0, 3*height/4, width/4, height/4);
-		
-		// pentagon
-		gc.setBackground(device.getSystemColor(SWT.COLOR_DARK_MAGENTA));
-		gc.fillPolygon(new int [] {width/10, height/2, 3*width/10, height/2-width/6, 5*width/10, height/2, 
-				4*width/10, height/2+width/6, 2*width/10, height/2+width/6});
-
-		gc.setBackground(device.getSystemColor(SWT.COLOR_RED));
-
-		// square
-		gc.setAlpha(alphaValue);
-		gc.fillRectangle(width/2, height-75, 75, 75);
-		
-		// triangle
-		gc.setAlpha(alphaValue + 15);
-		gc.fillPolygon(new int[]{width/2+75, height-(2*75), width/2+75, height-75, width/2+(2*75), height-75});
-		
-		// triangle
-		gc.setAlpha(alphaValue + 30);
-		gc.fillPolygon(new int[]{width/2+80, height-(2*75), width/2+(2*75), height-(2*75), width/2+(2*75), height-80});
-		
-		// triangle
-		gc.setAlpha(alphaValue + 45);
-		gc.fillPolygon(new int[]{width/2+(2*75), height-(2*75), width/2+(3*75), height-(2*75), width/2+(3*75), height-(3*75)});
-		
-		// triangle
-		gc.setAlpha(alphaValue + 60);
-		gc.fillPolygon(new int[]{width/2+(2*75), height-((2*75)+5), width/2+(2*75), height-(3*75), width/2+((3*75)-5), height-(3*75)});
-		
-		// square
-		gc.setAlpha(alphaValue + 75);
-		gc.fillRectangle(width/2+(3*75), height-(4*75), 75, 75);
-		
-		gc.setBackground(device.getSystemColor(SWT.COLOR_GREEN));
-		
-		// circle in top right corner
-		gc.setAlpha(alphaValue2);
-		gc.fillOval(width-100, 0, 100, 100);
-		
-		// triangle
-		gc.setAlpha(alphaValue + 90);
-		gc.fillPolygon(new int[]{width-300, 10, width-100, 10, width-275, 50});
-	
-		// triangle
-		gc.setAlpha(alphaValue + 105);
-		gc.fillPolygon(new int[]{width-10, 100, width-10, 300, width-50, 275});
-		
-		// quadrilateral shape
-		gc.setAlpha(alphaValue + 120);
-		gc.fillPolygon(new int[]{width-100, 100, width-200, 150, width-200, 200, width-150, 200});
-		
-		// blue circles
-		gc.setBackground(device.getSystemColor(SWT.COLOR_BLUE));
-		int size = 50;
-		int alpha = 20;
-		for (int i = 0; i < 10; i++) {
-			gc.setAlpha(alphaValue + alpha);
-			if (i % 2 > 0) {
-				gc.fillOval(width-((i+1)*size), height-size, size, size);
-			} else {
-				gc.fillOval(width-((i+1)*size), height-(3*size/2), size, size);
-			}
-			alpha = alpha + 20;
-		}
-		
-		// SWT string appearing randomly
-		gc.setAlpha(alphaValue2);
-		String text = GraphicsExample.getResourceString("SWT");
-		Font font = createFont(device, 100, SWT.NONE);
-		gc.setFont(font);
-		
-		Point textSize = gc.stringExtent(text);
-		int textWidth = textSize.x;
-		int textHeight = textSize.y;
-		
-		if (alphaValue2 == 0){
-			randX = (int)(width*Math.random());
-			randY = (int)(height*Math.random());
-			randX = (randX > textWidth) ? randX - textWidth : randX;
-			randY = (randY > textHeight) ? randY - textHeight : randY;
-		}
-		
-		gc.drawString(text, randX, randY, true);
-		font.dispose();
-		
-		// gray donut
-		gc.setAlpha(100);
-		Path path = new Path(device);
-		path.addArc((width-diameter)/2, (height-diameter)/2, diameter, diameter, 0, 360);
-		path.close();
-		path.addArc((width-diameter+25)/2, (height-diameter+25)/2, diameter-25, diameter-25, 0, 360);
-		path.close();
-		gc.setBackground(device.getSystemColor(SWT.COLOR_GRAY));
-		gc.fillPath(path);
-		gc.drawPath(path);
-		path.dispose();
-	}
-	
-	/**
-	 * Creates a font using the specified arguments and returns it.
-	 * This method takes into account the resident platform.
-	 * 
-	 * @param face
-	 * 			The name of the font
-	 * @param points
-	 * 			The size of the font in point
-	 * @param style
-	 * 			The style to be applied to the font
-	 */
-	static Font createFont(Device device, int points, int style) {		
-		if(SWT.getPlatform() == "win32") {
-			return new Font(device, "Verdana", points, style);	
-		} else if (SWT.getPlatform() == "motif") {
-			return new Font(device, "Times", points, style);		
-		} else if (SWT.getPlatform() == "gtk") {
-			return new Font(device, "Baekmuk Batang", points, style);		
-		} else if (SWT.getPlatform() == "carbon") {
-			return new Font(device, "Verdana", points, style);
-		} else { // photon
-			return new Font(device, "Verdana", points, style);
-		}
-	}
-}
-
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/AnimatedGraphicsTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/AnimatedGraphicsTab.java
deleted file mode 100644
index 6c442f3..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/AnimatedGraphicsTab.java
+++ /dev/null
@@ -1,156 +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.swt.examples.graphics;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * This class extends the GraphicsTab class to create animated graphics.
- * */
-public abstract class AnimatedGraphicsTab extends GraphicsTab {
-
-	ToolBar toolBar;
-	ToolItem playItem, pauseItem;
-	Spinner timerSpinner;		// to input the speed of the animation 
-	private boolean animate;	// flag that indicates whether or not to animate the graphic
-
-	public AnimatedGraphicsTab(GraphicsExample example) {
-		super(example);
-		animate = true;
-	}
-
-	/**
-	 * Sets the layout of the composite to RowLayout and creates the toolbar.
-	 * 
-	 * @see org.eclipse.swt.examples.graphics.GraphicsTab#createControlPanel(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createControlPanel(Composite parent) {
-		
-		// setup layout
-		RowLayout layout = new RowLayout();
-		layout.wrap = true;
-		layout.spacing = 8;
-		parent.setLayout(layout);
-		
-		createToolBar(parent);
-	}
-	
-	/**
-	 * Creates the toolbar controls: play, pause and animation timer.
-	 * 
-	 * @param parent A composite
-	 */
-	void createToolBar(final Composite parent) {
-		final Display display = parent.getDisplay();
-				
-		toolBar = new ToolBar(parent, SWT.FLAT);
-		Listener toolBarListener = new Listener() {
-			public void handleEvent(Event event) {
-				switch (event.type) {
-					case SWT.Selection: {
-						if (event.widget == playItem) {
-							animate = true;
-							playItem.setEnabled(!animate);
-							pauseItem.setEnabled(animate);
-						} else if (event.widget == pauseItem) {
-							animate = false;
-							playItem.setEnabled(!animate);
-							pauseItem.setEnabled(animate);
-						}
-					}
-					break;
-				}
-			}
-		};
-		
-		// play tool item
-		playItem = new ToolItem(toolBar, SWT.PUSH);
-		playItem.setText(GraphicsExample.getResourceString("Play")); //$NON-NLS-1$
-		playItem.setImage(example.loadImage(display, "play.gif")); //$NON-NLS-1$
-		playItem.addListener(SWT.Selection, toolBarListener);
-		
-		// pause tool item
-		pauseItem = new ToolItem(toolBar, SWT.PUSH);
-		pauseItem.setText(GraphicsExample.getResourceString("Pause")); //$NON-NLS-1$
-		pauseItem.setImage(example.loadImage(display, "pause.gif")); //$NON-NLS-1$
-		pauseItem.addListener(SWT.Selection, toolBarListener);
-		
-		// timer spinner
-		Composite comp = new Composite(parent, SWT.NONE);
-		GridLayout gridLayout = new GridLayout(2, false);
-		comp.setLayout(gridLayout);
-
-		Label label = new Label(comp, SWT.CENTER);
-		label.setText(GraphicsExample.getResourceString("Animation")); //$NON-NLS-1$
-		timerSpinner = new Spinner(comp, SWT.BORDER | SWT.WRAP);
-		timerSpinner.setMaximum(1000);
-		
-		playItem.setEnabled(false);
-		animate = true;
-
-		timerSpinner.setSelection(getInitialAnimationTime());
-	}
-	
-	/**
-	 *  Answer whether the receiver's drawing should be double bufferer.
-	 */
-	public boolean getDoubleBuffered() {
-		return true;
-	}
-	
-	/**
-	 * Gets the initial animation time to be used by the tab. Animation time:
-	 * number of milliseconds between the current drawing and the next (the time
-	 * interval between calls to the next method). Should be overridden to
-	 * return a value that is more appropriate for the tab.
-	 */
-	public int getInitialAnimationTime() {
-		return 30;
-	}
-	
-	/**
-	 * Gets the animation time that is selected in the spinner. Animation time:
-	 * number of milliseconds between the current drawing and the next (the time
-	 * interval between calls to the next method). Should be overridden to
-	 * return a value that is more appropriate for the tab.
-	 */
-	public int getAnimationTime() {
-		return timerSpinner.getSelection();
-	}
-	
-	/**
-	 * Returns the true if the tab is currently animated; false otherwise.
-	 */
-	public boolean getAnimation() {
-		return animate;
-	}
-	
-	/**
-	 * Causes the animation to stop or start.
-	 * 
-	 * @param flag
-	 *            true starts the animation; false stops the animation.
-	 */
-	public void setAnimation(boolean flag) {
-		animate = flag;
-		playItem.setEnabled(!flag);
-		pauseItem.setEnabled(flag);
-	}
-
-	/**
-	 * Advance the animation.
-	 */
-	public abstract void next(int width, int height);
-	
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/BallTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/BallTab.java
deleted file mode 100644
index 404be71..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/BallTab.java
+++ /dev/null
@@ -1,159 +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.swt.examples.graphics;
-
-import java.util.LinkedList;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Device;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Path;
-import org.eclipse.swt.graphics.Transform;
-
-/**
- * This tab uses alpha blending to simulate "ghosting" of a ball in movement.
- */
-public class BallTab extends AnimatedGraphicsTab {
-
-	BallCollection[] bc;
-
-	/**
-	 * This inner class serves as a container for the data needed to display a
-	 * collection of balls.
-	 */
-	static class BallCollection {
-		float x, y; // position of ball
-		float incX, incY; // values by which to move the ball
-		int ball_size; // size (diameter) of the ball
-		int capacity; // number of balls in the collection
-		LinkedList prevx, prevy; // collection of previous x and y positions
-								 // of ball
-		Color[] colors; // colors used for this ball collection
-
-		public BallCollection(float x, float y, float incX, float incY,
-				int ball_size, int capacity, Color[] colors) {
-			this.x = x;
-			this.y = y;
-			this.incX = incX;
-			this.incY = incY;
-			this.ball_size = ball_size;
-			this.capacity = capacity;
-			prevx = new LinkedList();
-			prevy = new LinkedList();
-			this.colors = colors;
-		}
-	}
-
-	public void dispose() {
-		bc[0] = bc[1] = bc[2] = bc[3] = bc[4] = null;
-	}
-
-	public BallTab(GraphicsExample example) {
-		super(example);
-		bc = new BallCollection[5];
-	}
-
-	public String getCategory() {
-		return GraphicsExample.getResourceString("Alpha"); //$NON-NLS-1$
-	}
-
-	public String getText() {
-		return GraphicsExample.getResourceString("Ball"); //$NON-NLS-1$
-	}
-
-	public String getDescription() {
-		return GraphicsExample.getResourceString("BallDescription"); //$NON-NLS-1$
-	}
-	
-	public int getInitialAnimationTime() {
-		return 10;
-	}
-
-	public void next(int width, int height) {
-		for (int i = 0; i < bc.length; i++) {
-			if (bc[i] == null) return;
-			if (bc[i].prevx.size() == 0) {
-				bc[i].prevx.addLast(new Float(bc[i].x));
-				bc[i].prevy.addLast(new Float(bc[i].y));
-			} else if (bc[i].prevx.size() == bc[i].capacity) {
-				bc[i].prevx.removeFirst();
-				bc[i].prevy.removeFirst();
-			}
-
-			bc[i].x += bc[i].incX;
-			bc[i].y += bc[i].incY;
-
-			float random = (float) Math.random();
-
-			// right
-			if (bc[i].x + bc[i].ball_size > width) {
-				bc[i].x = width - bc[i].ball_size;
-				bc[i].incX = random * -width / 16 - 1;
-			}
-			// left
-			if (bc[i].x < 0) {
-				bc[i].x = 0;
-				bc[i].incX = random * width / 16 + 1;
-			}
-			// bottom
-			if (bc[i].y + bc[i].ball_size > height) {
-				bc[i].y = (height - bc[i].ball_size) - 2;
-				bc[i].incY = random * -height / 16 - 1;
-			}
-			// top
-			if (bc[i].y < 0) {
-				bc[i].y = 0;
-				bc[i].incY = random * height / 16 + 1;
-			}
-			bc[i].prevx.addLast(new Float(bc[i].x));
-			bc[i].prevy.addLast(new Float(bc[i].y));
-		}
-	}
-
-	public void paint(GC gc, int width, int height) {
-		if (!example.checkAdvancedGraphics()) return;
-		Device device = gc.getDevice();
-
-		if (bc[0] == null) {
-			bc[0] = new BallCollection(0, 0, 5, 5, 20, 20, new Color[] { device
-					.getSystemColor(SWT.COLOR_GREEN) });
-			bc[1] = new BallCollection(50, 300, 10, -5, 50, 10,
-					new Color[] { device.getSystemColor(SWT.COLOR_BLUE) });
-			bc[2] = new BallCollection(250, 100, -5, 8, 25, 12,
-					new Color[] { device.getSystemColor(SWT.COLOR_RED) });
-			bc[3] = new BallCollection(150, 400, 5, 8, 35, 14,
-					new Color[] { device.getSystemColor(SWT.COLOR_BLACK) });
-			bc[4] = new BallCollection(100, 250, -5, -18, 100, 5,
-					new Color[] { device.getSystemColor(SWT.COLOR_MAGENTA) });
-		}
-
-		for (int j = 0; j < bc.length; j++) {
-			for (int i = 0; i < bc[j].prevx.size(); i++) {
-				Transform transform = new Transform(device);
-				transform.translate(((Float) bc[j].prevx.get(bc[j].prevx.size()
-						- (i + 1))).floatValue(), ((Float) bc[j].prevy
-						.get(bc[j].prevy.size() - (i + 1))).floatValue());
-				gc.setTransform(transform);
-				transform.dispose();
-
-				Path path = new Path(device);
-				path.addArc(0, 0, bc[j].ball_size, bc[j].ball_size, 0, 360);
-				gc.setAlpha(255 - i * (255 / bc[j].capacity));
-				gc.setBackground(bc[j].colors[0]);
-				gc.fillPath(path);
-				gc.drawPath(path);
-				path.dispose();
-			}
-		}
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/BlackHoleTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/BlackHoleTab.java
deleted file mode 100644
index 4401a30..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/BlackHoleTab.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.swt.examples.graphics;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-
-public class BlackHoleTab extends AnimatedGraphicsTab {
-	
-	int size = 1;
-	
-public BlackHoleTab(GraphicsExample example) {
-	super(example);
-}
-
-public String getText() {
-	return GraphicsExample.getResourceString("BlackHole"); //$NON-NLS-1$
-}
-
-public String getDescription() {
-	return GraphicsExample.getResourceString("BlackHoleDescription"); //$NON-NLS-1$
-}
-
-public void next(int width, int height) {
-	if (size > width * 3 / 2) size = 0;
-	else size += 10;
-}
-
-public void paint(GC gc, int width, int height) {
-	Device device = gc.getDevice();
-	gc.setBackground(device.getSystemColor(SWT.COLOR_BLACK));
-	gc.fillOval((width - size) / 2, (height - size) / 2, size, size);
-}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/CardsTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/CardsTab.java
deleted file mode 100644
index acf547d..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/CardsTab.java
+++ /dev/null
@@ -1,179 +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.swt.examples.graphics;
-
-import org.eclipse.swt.graphics.*;
-
-/**
- * This tab demonstrates various transformations, such as scaling, rotation, and
- * translation.
- */
-public class CardsTab extends AnimatedGraphicsTab {
-	
-	float movClubX, movClubY, movDiamondX, movDiamondY, movHeart, movSpade;
-	float inc_club = 5.0f;
-	float inc_diamond = 5.0f;
-	float inc_hearts = 5.0f;
-	float inc_spade = 5.0f;
-	float scale, scaleWidth;
-	int rotationAngle = 0;
-	float scaleArg = 0;
-	float heartScale = 0.5f;
-	float spadeScale = 0.333f;
-	int clubWidth, diamondWidth, heartWidth, spadeHeight; 
-	
-	Image ace_club, ace_spade, ace_diamond, ace_hearts;
-
-/**
- * Constructor
- * @param example A GraphicsExample
- */
-public CardsTab(GraphicsExample example) {
-	super(example);
-}
-
-public String getCategory() {
-	return GraphicsExample.getResourceString("Transform"); //$NON-NLS-1$
-}
-
-public String getText() {
-	return GraphicsExample.getResourceString("Cards"); //$NON-NLS-1$
-}
-
-public String getDescription() {
-	return GraphicsExample.getResourceString("CardsDescription"); //$NON-NLS-1$
-}
-
-public void dispose() {
-	if (ace_club != null) {
-		ace_club.dispose();
-		ace_club = null;
-		ace_spade.dispose();
-		ace_spade = null;
-		ace_diamond.dispose();
-		ace_diamond = null;
-		ace_hearts.dispose();
-		ace_hearts = null;
-	}
-}
-public void next(int width, int height) {
-	rotationAngle = (rotationAngle+10)%360;
-
-	// scaleVal goes from 0 to 1, then 1 to 0, then starts over
-	scaleArg = (float)((scaleArg == 1) ? scaleArg - 0.1 : scaleArg + 0.1);
-	scale = (float)Math.cos(scaleArg);
-	
-	movClubX += inc_club;
-	movDiamondX += inc_diamond;
-	movHeart += inc_hearts;
-	movSpade += inc_spade;
-	
-	scaleWidth = (float) ((movClubY/height)*0.35 + 0.15);
-	movClubY = 2*height/5 * (float)Math.sin(0.01*movClubX - 90) + 2*height/5;
-    movDiamondY = 2*height/5 * (float)Math.cos(0.01*movDiamondX) + 2*height/5;
-    
-    if (movClubX + clubWidth*scaleWidth > width) {
-    	movClubX = width - clubWidth*scaleWidth;
-        inc_club = -inc_club;
-    }
-    if (movClubX < 0) {
-        movClubX = 0;
-        inc_club = -inc_club;
-    }
-    if (movDiamondX + diamondWidth*scaleWidth > width) {
-	    movDiamondX = width - diamondWidth*scaleWidth;
-        inc_diamond = -inc_diamond;
-    }
-    if (movDiamondX < 0) {
-	    movDiamondX = 0;
-        inc_diamond = -inc_diamond;
-    }
-    if (movHeart + heartWidth*heartScale > width) {
-    	movHeart = width - heartWidth*heartScale;
-    	inc_hearts = -inc_hearts;
-    }
-    if (movHeart < 0) {
-    	movHeart = 0;
-    	inc_hearts = -inc_hearts;
-    }
-    if (movSpade + spadeHeight*spadeScale > height) {
-    	movSpade = height - spadeHeight*spadeScale;
-    	inc_spade = -inc_spade;
-    }
-    if (movSpade < 0) {
-    	movSpade = 0;
-    	inc_spade = -inc_spade;
-    }
-}
-
-/* (non-Javadoc)
- * @see org.eclipse.swt.examples.graphics.GraphicsTab#paint(org.eclipse.swt.graphics.GC, int, int)
- */
-public void paint(GC gc, int width, int height) {
-	if (!example.checkAdvancedGraphics()) return;
-	Device device = gc.getDevice();
-	
-	if (ace_club == null) {
-		ace_club = GraphicsExample.loadImage(device, GraphicsExample.class, "ace_club.jpg");
-		ace_spade = GraphicsExample.loadImage(device, GraphicsExample.class, "ace_spade.jpg");
-		ace_diamond = GraphicsExample.loadImage(device, GraphicsExample.class, "ace_diamond.jpg");
-		ace_hearts = GraphicsExample.loadImage(device, GraphicsExample.class, "ace_hearts.jpg");
-	}
-	
-	clubWidth = ace_club.getBounds().width;
-	diamondWidth = ace_diamond.getBounds().width;
-	heartWidth = ace_hearts.getBounds().width;
-	spadeHeight = ace_spade.getBounds().height;
-
-	Transform transform;
-	
-	// ace of clubs		
-	transform = new Transform(device);
-	transform.translate((int)movClubX, (int)movClubY);	
-	transform.scale(scaleWidth, scaleWidth);
-	
-	// rotate on center of image
-	Rectangle rect = ace_club.getBounds();
-	transform.translate(rect.width/2, rect.height/2);
-	transform.rotate(rotationAngle);
-	transform.translate(-rect.width/2, -rect.height/2);
-
-	gc.setTransform(transform);
-	transform.dispose();
-	gc.drawImage(ace_club, 0, 0);
-	
-	// ace of diamonds
-	transform = new Transform(device);
-	transform.translate((int)movDiamondX, (int)movDiamondY);
-	transform.scale(scaleWidth, scaleWidth);
-	gc.setTransform(transform);
-	transform.dispose();
-	gc.drawImage(ace_diamond, 0, 0);
-
-	// ace of hearts
-	transform = new Transform(device);
-	transform.translate(movHeart, height/2);
-	transform.scale(heartScale, 0.5f*scale);
-	gc.setTransform(transform);
-	transform.dispose();
-	gc.drawImage(ace_hearts, 0, 0);
-	
-	// ace of spades
-	transform = new Transform(device);
-	transform.translate(movSpade, movSpade);
-	transform.scale(0.5f*scale, spadeScale);
-	gc.setTransform(transform);
-	transform.dispose();
-	gc.drawImage(ace_spade, 0, 0);
-}
-}
-
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ColorListener.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ColorListener.java
deleted file mode 100644
index a72d806..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ColorListener.java
+++ /dev/null
@@ -1,24 +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.swt.examples.graphics;
-
-/**
- * Used to perform an action after an item in a Menu has been selected.
- * 
- * @see org.eclipse.swt.examples.graphics.ColorMenu.java
- * @see org.eclipse.swt.examples.graphics.GraphicsBackground.java
- */
-public interface ColorListener {
-
-	public void setColor(GraphicsBackground gb);
-
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ColorMenu.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ColorMenu.java
deleted file mode 100644
index 2ded07c..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ColorMenu.java
+++ /dev/null
@@ -1,372 +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.swt.examples.graphics;
-
-import java.util.*;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * This class utilizes the factory design pattern to create menus that may
- * contain color items, pattern items and gradient items. To create a menu:
- * first set the menu items that you wish to have appear in the menu by calling
- * the setters (setColorItems(), setPatternItems(), setGradientItems()), and
- * then call createMenu() to get an instance of a menu. By default, the menu
- * will contain color items.
- */
-public class ColorMenu {
-
-	boolean enableColorItems, enablePatternItems, enableGradientItems;
-	
-	public ColorMenu() {
-		enableColorItems = true;
-	}
-	
-	/**
-	 * Method used to specify whether or not the color menu items will appear in
-	 * the menu.
-	 * 
-	 * @param enable
-	 *            A boolean flag - true to make the color menu items visible in
-	 *            the menu; false otherwise.
-	 */
-	public void setColorItems(boolean enable) {
-		enableColorItems = enable;
-	}
-	
-	/**
-	 * @return true if color menu items are contained in the menu; false otherwise.
-	 * */
-	public boolean getColorItems() {
-		return enableColorItems;
-	}
-	
-	/**
-	 * Method used to specify whether or not the pattern menu items will appear
-	 * in the menu.
-	 * 
-	 * @param enable
-	 *            A boolean flag - true to make the pattern menu items visible
-	 *            in the menu; false otherwise.
-	 */
-	public void setPatternItems(boolean enable) {
-		enablePatternItems = enable;
-	}
-	
-	/**
-	 * @return true if pattern menu items are contained in the menu; false otherwise.
-	 * */
-	public boolean getPatternItems() {
-		return enablePatternItems;
-	}
-	
-	/**
-	 * Method used to specify whether or not the gradient menu items will appear
-	 * in the menu.
-	 * 
-	 * @param enable
-	 *            A boolean flag - true to make the gradient menu items visible
-	 *            in the menu; false otherwise.
-	 */
-	public void setGradientItems(boolean enable) {
-		enableGradientItems = enable;
-	}
-	
-	/**
-	 * @return true if gradient menu items are contained in the menu; false otherwise.
-	 */
-	public boolean getGradientItems() {
-		return enableGradientItems;
-	}
-	
-	/**
-	 * Creates and returns the menu based on the settings provided via
-	 * setColorItems(), setPatternItems() and setGradientItems()
-	 * 
-	 * @return A menu based on the settings
-	 */
-	public Menu createMenu(Control parent, ColorListener cl) {
-		Menu menu = new Menu(parent);
-	
-		MenuItemListener menuItemListener = createMenuItemListener(parent);
-		menu.addListener(SWT.Selection, menuItemListener);
-		menu.addListener(SWT.Dispose, menuItemListener);
-		menuItemListener.setColorListener(cl);
-
-		if (enableColorItems) {
-			addColorItems(menu, menuItemListener, menuItemListener.getMenuResources());
-		}
-		if (enablePatternItems) {
-			addPatternItems(menu, menuItemListener, menuItemListener.getMenuResources());
-		}
-		if (enableGradientItems) {
-			addGradientItems(menu, menuItemListener);
-		}
-		return menu;
-	}
-	
-	/** Adds the colors items to the menu. */
-	private void addColorItems(Menu menu, MenuItemListener menuListener,
-			ArrayList menuResources) {
-		Display display = menu.getDisplay();
-		
-		if (menu.getItemCount() != 0) {
-			new MenuItem(menu, SWT.SEPARATOR);
-		}
-		
-		// color names
-		String[] names = new String[]{
-			GraphicsExample.getResourceString("White"), //$NON-NLS-1$
-			GraphicsExample.getResourceString("Black"), //$NON-NLS-1$
-			GraphicsExample.getResourceString("Red"), //$NON-NLS-1$
-			GraphicsExample.getResourceString("Green"), //$NON-NLS-1$
-			GraphicsExample.getResourceString("Blue"), //$NON-NLS-1$
-			GraphicsExample.getResourceString("Yellow"), //$NON-NLS-1$
-			GraphicsExample.getResourceString("Cyan"), //$NON-NLS-1$
-		};
-		
-		// colors needed for the background menu
-		Color[] colors = new Color[]{
-			display.getSystemColor(SWT.COLOR_WHITE),
-			display.getSystemColor(SWT.COLOR_BLACK),
-			display.getSystemColor(SWT.COLOR_RED),
-			display.getSystemColor(SWT.COLOR_GREEN),
-			display.getSystemColor(SWT.COLOR_BLUE),
-			display.getSystemColor(SWT.COLOR_YELLOW),
-			display.getSystemColor(SWT.COLOR_CYAN),
-		};
-	
-		// add standard color items to menu
-		for (int i = 0; i < names.length; i++) {
-			MenuItem item = new MenuItem(menu, SWT.NONE);
-			item.setText(names[i]);
-			item.addListener(SWT.Selection, menuListener);
-			Color color = colors[i];
-			GraphicsBackground gb = new GraphicsBackground();
-			Image image = GraphicsExample.createImage(display, color);
-			gb.setBgColor1(color);
-			gb.setBgImage(image);
-			gb.setThumbNail(image);
-			menuResources.add(image);
-			item.setImage(image);
-			item.setData(gb);
-		}
-		
-		// add custom color item to menu
-		menuListener.customColorMI = new MenuItem(menu, SWT.NONE);
-		menuListener.customColorMI.setText(GraphicsExample.getResourceString("CustomColor")); //$NON-NLS-1$
-		menuListener.customColorMI.addListener(SWT.Selection, menuListener);
-		GraphicsBackground gb = new GraphicsBackground();
-		menuListener.customColorMI.setData(gb);		
-	}
-	
-	/** Adds the pattern items to the menu. */
-	private void addPatternItems(Menu menu, MenuItemListener menuListener,
-			ArrayList menuResources) {
-		Display display = menu.getDisplay();
-		
-		if (menu.getItemCount() != 0) {
-			new MenuItem(menu, SWT.SEPARATOR);
-		}
-		
-		// pattern names
-		String[] names = new String[]{
-			GraphicsExample.getResourceString("Pattern1"), //$NON-NLS-1$
-			GraphicsExample.getResourceString("Pattern2"), //$NON-NLS-1$
-			GraphicsExample.getResourceString("Pattern3"), //$NON-NLS-1$
-		};
-		
-		// pattern images
-		Image[] images = new Image[]{
-			loadImage(display, "pattern1.jpg", menuResources),	
-			loadImage(display, "pattern2.jpg", menuResources),
-			loadImage(display, "pattern3.jpg", menuResources),
-		};
-		
-		// add the pre-defined patterns to the menu
-		for (int i = 0; i < names.length; i++) {
-			MenuItem item = new MenuItem(menu, SWT.NONE);
-			item.setText(names[i]);
-			item.addListener(SWT.Selection, menuListener);
-			Image image = images[i];
-			GraphicsBackground gb = new GraphicsBackground();			
-			gb.setBgImage(image);
-			gb.setThumbNail(image);
-			item.setImage(image);
-			item.setData(gb);
-		}
-		
-		// add the custom pattern item	
-		menuListener.customPatternMI = new MenuItem(menu, SWT.NONE);
-		menuListener.customPatternMI.setText(GraphicsExample.getResourceString("CustomPattern")); //$NON-NLS-1$
-		menuListener.customPatternMI.addListener(SWT.Selection, menuListener);
-		GraphicsBackground gb = new GraphicsBackground();
-		menuListener.customPatternMI.setData(gb);			
-	}
-	
-	/** Adds the gradient menu item. */
-	private void addGradientItems(Menu menu, MenuItemListener menuListener) {
-		if (menu.getItemCount() != 0) {
-			new MenuItem(menu, SWT.SEPARATOR);
-		}
-		menuListener.customGradientMI = new MenuItem(menu, SWT.NONE);
-		menuListener.customGradientMI.setText(GraphicsExample.getResourceString("Gradient")); //$NON-NLS-1$
-		menuListener.customGradientMI.addListener(SWT.Selection, menuListener);
-		GraphicsBackground gb = new GraphicsBackground();
-		menuListener.customGradientMI.setData(gb);
-	}
-	
-	/** Creates and returns the listener for menu items. */
-	private MenuItemListener createMenuItemListener(final Control parent) {
-		return new MenuItemListener(parent);
-	}
-	
-	/**
-	 * Creates and returns an instance of Image using on the path of an image.
-	 * 
-	 * @param display
-	 *            A Display
-	 * @param name
-	 *            The path of the image file
-	 * @param resources
-	 *            The list of resources of the menu
-	 */
-	private Image loadImage(Display display, String name, ArrayList resources) {
-		Image image = GraphicsExample.loadImage(display, GraphicsExample.class, name);
-		if (image != null) resources.add(image);
-		return image;
-	}
-
-	/**
-	 * An inner class used as a listener for MenuItems added to the menu.
-	 */
-	static class MenuItemListener implements Listener {
-		MenuItem customColorMI, customPatternMI, customGradientMI;	// custom menu items
-		Control parent;
-		Image customImage, customImageThumb;
-		Color customColor;
-		GraphicsBackground background;	// used to store information about the background
-		ColorListener colorListener;
-		ArrayList resources;
-		
-		public MenuItemListener(Control parent){
-			this.parent = parent; 
-			resources = new ArrayList();
-		}
-		/**
-		 * Method used to set the ColorListener
-		 * 
-		 * @param cl
-		 *            A ColorListener
-		 * @see org.eclipse.swt.examples.graphics.ColorListener.java
-		 */
-		public void setColorListener(ColorListener cl) {
-			this.colorListener = cl;
-		}
-		
-		public ArrayList getMenuResources() {
-			return resources;
-		}
-
-		public void handleEvent(Event event) {
-			switch (event.type) {
-
-			case SWT.Dispose:
-				for (int i = 0; i < resources.size(); i++) {
-					((Resource) resources.get(i)).dispose();
-				}
-				resources = new ArrayList();
-				break;
-			case SWT.Selection:
-				Display display = event.display;
-				MenuItem item = (MenuItem) event.widget;
-				if (customColorMI == item) {
-					ColorDialog dialog = new ColorDialog(parent.getShell());
-					if (customColor != null && !customColor.isDisposed()) {
-						dialog.setRGB(customColor.getRGB());
-					}
-					RGB rgb = dialog.open();
-					if (rgb == null) return;
-					if (customColor != null) customColor.dispose();
-					customColor = new Color(display, rgb);
-					if (customPatternMI != null) customPatternMI.setImage(null);
-					if (customGradientMI != null) customGradientMI.setImage(null);
-					if (customImage != null) customImage.dispose();
-					customImage = GraphicsExample.createImage(display, customColor);
-					GraphicsBackground gb = new GraphicsBackground();
-					gb.setBgImage(customImage);
-					gb.setThumbNail(customImage);
-					gb.setBgColor1(customColor);
-					item.setData(gb);
-					item.setImage(customImage);
-					resources.add(customColor);
-					resources.add(customImage);
-				} else if (customPatternMI == item) {
-					FileDialog dialog = new FileDialog(parent.getShell());
-					dialog.setFilterExtensions(new String[] { "*.jpg", "*.gif",	"*.*" });
-					String name = dialog.open();
-					if (name == null) return;
-					if (customColorMI != null) customColorMI.setImage(null);
-					if (customGradientMI != null) customGradientMI.setImage(null);
-					if (customColor != null) customColor.dispose();
-					if (customImage != null) customImage.dispose();
-					if (customImageThumb != null) customImageThumb.dispose();
-					customImage = new Image(display, name);
-					customImageThumb = GraphicsExample.createThumbnail(display, name);
-					GraphicsBackground gb = new GraphicsBackground();
-					gb.setBgImage(customImage);
-					gb.setThumbNail(customImageThumb);
-					item.setData(gb);
-					item.setImage(customImageThumb);
-					resources.add(customImageThumb);
-				} else if (customGradientMI == item) {
-					GradientDialog dialog = new GradientDialog(parent.getShell());
-					if (background != null) {
-						if (background.getBgColor1() != null)
-							dialog.setFirstRGB(background.getBgColor1().getRGB());
-						if (background.getBgColor2() != null)
-							dialog.setSecondRGB(background.getBgColor2().getRGB());						
-					}					
-					if (dialog.open() != SWT.OK) return;
-					Color colorA = new Color(display, dialog.getFirstRGB());
-					Color colorB = new Color(display, dialog.getSecondRGB());
-					if (colorA == null || colorB == null) return;
-					if (customColorMI != null) customColorMI.setImage(null);
-					if (customPatternMI != null) customPatternMI.setImage(null);
-					if (customColor != null) customColor.dispose();
-					if (customImage != null) customImage.dispose();
-					customImage = GraphicsExample.createImage(display, colorA, 
-							colorB, 16, 16);
-					GraphicsBackground gb = new GraphicsBackground();
-					gb.setBgImage(customImage);
-					gb.setThumbNail(customImage);
-					gb.setBgColor1(colorA);
-					gb.setBgColor2(colorB);
-					item.setData(gb);
-					item.setImage(customImage);
-					resources.add(colorA);
-					resources.add(colorB);
-					resources.add(customImage);
-				} else {
-					if (customColorMI != null) customColorMI.setImage(null);
-					if (customPatternMI != null) customPatternMI.setImage(null);
-					if (customGradientMI != null) customGradientMI.setImage(null);
-				}
-				background = (GraphicsBackground) item.getData();
-				colorListener.setColor(background);
-				break;
-			}
-		}
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/CountDownTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/CountDownTab.java
deleted file mode 100644
index d483539..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/CountDownTab.java
+++ /dev/null
@@ -1,262 +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.swt.examples.graphics;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * This tab presents a count down from 5 to 1, then displays SWT.
- * */
-public class CountDownTab extends AnimatedGraphicsTab {
-
-	final int startNumber = 5;			// number at which to start the countdown
-	int nextNumber = startNumber;		// next number to be displayed
-	int angle = -90;					// angle used to rotate the bar
-
-	Spinner lineWidthSpinner;			// spinner for line width
-	Combo aliasCombo, lineCapCombo;		// combo for alias type and line cap
-	int antialias, lineCap;				// antialias and linecap values
-	int[] capValues = { SWT.CAP_FLAT, SWT.CAP_SQUARE, SWT.CAP_ROUND };
-	int[] aliasValues = { SWT.DEFAULT, SWT.OFF, SWT.ON };
-
-	/**
-	 * Constructor
-	 * 
-	 * @param example
-	 *            A GraphicsExample
-	 */
-	public CountDownTab(GraphicsExample example) {
-		super(example);
-	}
-
-	/**
-	 * This method creates the controls specific to the tab. The call to the
-	 * createControlPanel method in the super class create the controls that are
-	 * defined in the super class.
-	 * 
-	 * @param parent
-	 *            The parent composite
-	 */
-	public void createControlPanel(Composite parent) {
-		super.createControlPanel(parent);
-
-		if (nextNumber < 1)
-			nextNumber = startNumber;
-
-		// add selection listener to reset nextNumber after
-		// the sequence has completed
-		playItem.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event event) {
-				if (nextNumber < 1)
-					nextNumber = startNumber;
-			}
-		});
-
-		Composite comp;
-		GridLayout gridLayout = new GridLayout(2, false);
-
-		// create spinner for line width
-		comp = new Composite(parent, SWT.NONE);
-		comp.setLayout(gridLayout);
-		new Label(comp, SWT.CENTER).setText(GraphicsExample
-				.getResourceString("LineWidth")); //$NON-NLS-1$
-		lineWidthSpinner = new Spinner(comp, SWT.BORDER | SWT.WRAP);
-		lineWidthSpinner.setSelection(20);
-		lineWidthSpinner.setMinimum(1);
-		lineWidthSpinner.setMaximum(100);
-		lineWidthSpinner.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event event) {
-				if (!pauseItem.isEnabled()) {
-					example.redraw();
-				}
-			}
-		});
-
-		// create drop down combo for antialiasing
-		comp = new Composite(parent, SWT.NONE);
-		comp.setLayout(gridLayout);
-		new Label(comp, SWT.CENTER).setText(GraphicsExample
-				.getResourceString("Antialiasing")); //$NON-NLS-1$
-		aliasCombo = new Combo(comp, SWT.DROP_DOWN);
-		aliasCombo.add("DEFAULT");
-		aliasCombo.add("OFF");
-		aliasCombo.add("ON");
-		aliasCombo.select(0);
-		antialias = aliasValues[0];
-		aliasCombo.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event event) {
-				antialias = aliasValues[aliasCombo.getSelectionIndex()];
-				if (!pauseItem.isEnabled()) {
-					example.redraw();
-				}
-			}
-		});
-
-		// create drop down combo for line cap
-		comp = new Composite(parent, SWT.NONE);
-		comp.setLayout(gridLayout);
-		new Label(comp, SWT.CENTER).setText(GraphicsExample
-				.getResourceString("LineCap")); //$NON-NLS-1$
-		lineCapCombo = new Combo(comp, SWT.DROP_DOWN);
-		lineCapCombo.add("FLAT");
-		lineCapCombo.add("SQUARE");
-		lineCapCombo.add("ROUND");
-		lineCapCombo.select(0);
-		lineCap = capValues[0];
-		lineCapCombo.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event event) {
-				lineCap = capValues[lineCapCombo.getSelectionIndex()];
-				if (!pauseItem.isEnabled()) {
-					example.redraw();
-				}
-			}
-		});
-	}
-
-	public String getCategory() {
-		return GraphicsExample.getResourceString("Misc"); //$NON-NLS-1$
-	}
-
-	public String getText() {
-		return GraphicsExample.getResourceString("Countdown"); //$NON-NLS-1$
-	}
-	
-	public String getDescription() {
-		return GraphicsExample.getResourceString("CountdownDescription"); //$NON-NLS-1$
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.swt.examples.graphics.AnimatedGraphicsTab#getAnimationTime()
-	 */
-	public int getInitialAnimationTime() {
-		return 28;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.swt.examples.graphics.AnimatedGraphicsTab#next(int, int)
-	 */
-	public void next(int width, int height) {
-
-		if (angle == 270) {
-			nextNumber--;
-			if (nextNumber < 1) {
-				// stop animation
-				setAnimation(false);
-			}
-			angle = -90;
-		}
-		angle += 10;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.swt.examples.graphics.GraphicsTab#paint(org.eclipse.swt.graphics.GC,
-	 *      int, int)
-	 */
-	public void paint(GC gc, int width, int height) {
-		if (!example.checkAdvancedGraphics()) return;
-		Device device = gc.getDevice();
-
-		// diameter of the circle in pixels
-		int diameter = ((width < height) ? width - 25 : height - 25);
-
-		if (!getAnimation() && nextNumber == 0) {
-			Font font = new Font(device, getPlatformFontFace(1), diameter/2,
-					SWT.NONE);
-			gc.setFont(font);
-
-			// display "SWT"
-			gc.setForeground(device.getSystemColor(SWT.COLOR_DARK_BLUE));
-			gc.setTextAntialias(SWT.ON);
-
-			// determine the dimensions of the word
-			String text = GraphicsExample.getResourceString("SWT");
-			Point point = gc.stringExtent(text);
-			int textWidth = point.x;
-			int textHeight = point.y;
-			gc.drawString(text, (width-textWidth)/2,
-					(height-textHeight)/2, true);
-			font.dispose();
-
-		} else {
-
-			Font font = new Font(device, getPlatformFontFace(0),
-					6*diameter/10, SWT.NONE);
-			gc.setFont(font);
-
-			// set attributes from controls
-			gc.setLineWidth(lineWidthSpinner.getSelection());
-			gc.setLineCap(lineCap); // round line ends
-			gc.setAntialias(antialias); // smooth jagged edges
-			gc.setTextAntialias(antialias); // smooth jagged edges
-
-			// draw the circles
-			Path path = new Path(device);
-			path.addArc((width-diameter)/2, (height-diameter)/2,
-					diameter, diameter, 0, 360);
-			path.addArc((width-diameter+50)/2,
-					(height-diameter+50)/2, diameter-50, diameter-50,
-					0, 360);
-			gc.drawPath(path);
-			gc.setBackground(device.getSystemColor(SWT.COLOR_RED));
-			gc.fillPath(path);
-			path.dispose();
-
-			Point point = gc.stringExtent(new Integer(nextNumber).toString());
-			int textWidth = point.x;
-			int textHeight = point.y;
-
-			// draw the number
-			gc.drawString(new Integer(nextNumber).toString(),
-					(width-textWidth)/2, (height-textHeight)/2, true);
-
-			// draw the rotating arm
-			Transform transform = new Transform(device);
-			transform.translate(width/2, height/2);
-			transform.rotate(angle);
-			gc.setTransform(transform);
-			gc.setForeground(device.getSystemColor(SWT.COLOR_RED));
-			gc.drawLine(0, 0, diameter/2, 0);
-			transform.dispose();
-
-			font.dispose();
-		}
-	}
-
-	/**
-	 * Returns the name of a valid font for the resident platform.
-	 * 
-	 * @param index
-	 *            index is used to determine the appropriate font face
-	 */
-	static String getPlatformFontFace(int index) {
-		if (SWT.getPlatform() == "win32") {
-			return new String[] { "Courier", "Impact" }[index];
-		} else if (SWT.getPlatform() == "motif") {
-			return new String[] { "Courier", "URW Gothic L" }[index];
-		} else if (SWT.getPlatform() == "gtk") {
-			return new String[] { "Courier", "Baekmuk Headline" }[index];
-		} else if (SWT.getPlatform() == "carbon") {
-			return new String[] { "Courier", "Impact" }[index];
-		} else { // photon, etc ...
-			return new String[] { "Courier", "Verdana" }[index];
-		}
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/CurvesSWTTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/CurvesSWTTab.java
deleted file mode 100644
index 156e7aa..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/CurvesSWTTab.java
+++ /dev/null
@@ -1,389 +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.swt.examples.graphics;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * This tab presents cubic and quadratic curves that can be drawn. As a
- * demonstration, cubic and quadratic curves are used to spell out "SWT".
- * The user may reposition the cubic and quadratic handles. 
- */
-public class CurvesSWTTab extends GraphicsTab {
-	/** These rectangles represent the handles on the curves. */
-	private Rectangle sRect1, sRect2, wRect1, wRect2, tTopRect1, tTopRect2, 
-			tBottomRect1, tBottomRect2;
-	
-	/** These values represent the positions of the curves. */
-	private float sXPos, sYPos, wXPos, wYPos, topTXPos, topTYPos, 
-			botTXPos, botTYPos;
-	
-	/** These values represent the x and y displacement of each handle. */
-	private float sDiffX1, sDiffY1, sDiffX2, sDiffY2;
-	private float wDiffX1, wDiffY1, wDiffX2, wDiffY2;
-	private float tTopDiffX1, tTopDiffY1, tTopDiffX2, tTopDiffY2;
-	private float tBotDiffX1, tBotDiffY1, tBotDiffX2, tBotDiffY2;
-	
-	/** These are flags that indicate whether or not a handle has been moved. */
-	private boolean sLeftPtMoved, sRightPtMoved, wPt1Moved, wPt2Moved,
-			tTopPt1Moved, tTopPt2Moved, tBotPt1Moved, tBotPt2Moved;
-	
-	private MouseMoveListener mouseMoveListener;
-	private MouseListener mouseListener;
-	private Cursor cursor;
-	
-	/** true if hovering over a handle, false otherwise */
-	private boolean hovering = false;
-	
-	/** true if left mouse button is held down, false otherwise */
-	private boolean mouseDown = false;
-
-	
-public CurvesSWTTab(GraphicsExample example) {
-	super(example);
-	sRect1 = new Rectangle(-75, 50, 5, 5);
-	sRect2 = new Rectangle(75, 100, 5, 5);
-	sDiffX1 = sDiffY1 = 0;
-	sDiffX2 = sDiffY2 = 0;
-	wRect1 = new Rectangle(80, 300, 5, 5);
-	wRect2 = new Rectangle(120, 300, 5, 5);
-	wDiffX1 = wDiffY1 = wDiffX2 = wDiffY2 = 0;
-	tTopRect1 = new Rectangle(33, -20, 5, 5);
-	tTopRect2 = new Rectangle(66, 20, 5, 5);
-	tTopDiffX1 = tTopDiffY1 = tTopDiffX2 = tTopDiffY2 = 0;
-	tBottomRect1 = new Rectangle(-33, 50, 5, 5);
-	tBottomRect2 = new Rectangle(33, 100, 5, 5);
-	tBotDiffX1 = tBotDiffY1 = tBotDiffX2 = tBotDiffY2 = 0;
-}
-
-public String getCategory() {
-	return GraphicsExample.getResourceString("Curves"); //$NON-NLS-1$
-}
-
-public String getText() {
-	return GraphicsExample.getResourceString("SWT"); //$NON-NLS-1$
-}
-
-public String getDescription() {
-	return GraphicsExample.getResourceString("CurvesSWTDescription"); //$NON-NLS-1$
-}
-
-public boolean getDoubleBuffered() {
-	return true;
-}
-
-public void dispose() {
-	if (mouseListener != null)
-		example.canvas.removeMouseListener(mouseListener);
-	
-	if (mouseMoveListener != null)
-		example.canvas.removeMouseMoveListener(mouseMoveListener);
-	
-	if (cursor != null) {
-		cursor.dispose();
-		cursor = null;
-	}
-}
-
-	/**
-	 * This helper method determines whether or not the cursor is positioned
-	 * over a handle.
-	 * 
-	 * @param e
-	 *            A MouseEvent
-	 * @return true if cursor is positioned over a handle; false otherwise
-	 */
-private boolean isHovering(MouseEvent e) {
-	Rectangle r1 = new Rectangle(sRect1.x + (int)sXPos - 1, sRect1.y + (int)sYPos - 1, sRect1.width+2, sRect1.height+2);
-	Rectangle r2 = new Rectangle(sRect2.x + (int)sXPos - 1, sRect2.y + (int)sYPos - 1, sRect2.width+2, sRect2.height+2);
-	Rectangle w1 = new Rectangle(wRect1.x + (int)wXPos - 1, wRect1.y + (int)wYPos - 1, wRect1.width+2, wRect1.height+2);
-	Rectangle w2 = new Rectangle(wRect2.x + (int)wXPos - 1, wRect2.y + (int)wYPos - 1, wRect2.width+2, wRect2.height+2);
-	Rectangle tTop1 = new Rectangle(tTopRect1.x + (int)topTXPos - 1, tTopRect1.y + (int)topTYPos - 1, tTopRect1.width+2, tTopRect1.height+2);
-	Rectangle tTop2 = new Rectangle(tTopRect2.x + (int)topTXPos - 1, tTopRect2.y + (int)topTYPos - 1, tTopRect2.width+2, tTopRect2.height+2);
-	Rectangle tBot1 = new Rectangle(tBottomRect1.x + (int)botTXPos - 1, tBottomRect1.y + (int)botTYPos - 1, tBottomRect1.width+2, tBottomRect1.height+2);
-	Rectangle tBot2 = new Rectangle(tBottomRect2.x + (int)botTXPos - 1, tBottomRect2.y + (int)botTYPos - 1, tBottomRect2.width+2, tBottomRect2.height+2);
-	
-	return ( r1.contains(e.x, e.y) || r2.contains(e.x, e.y) 
-		 || w1.contains(e.x, e.y) || w2.contains(e.x, e.y) 
-		 || tTop1.contains(e.x, e.y) || tTop2.contains(e.x, e.y) 
-		 || tBot1.contains(e.x, e.y) || tBot2.contains(e.x, e.y) );
-}
-/** 
- * Creates the widgets used to control the drawing.
- */
-public void createControlPanel(Composite parent) {
-	if (cursor == null) { 
-		cursor = new Cursor(parent.getDisplay(), SWT.CURSOR_HAND);
-	}
-
-	mouseMoveListener = new MouseMoveListener() {
-		
-		public void mouseMove(MouseEvent e) {
-			if (hovering && mouseDown) {
-				example.canvas.setCursor(cursor);
-			} else if (isHovering(e)) {
-				example.canvas.setCursor(cursor);
-				hovering = true;
-			} else {
-				example.canvas.setCursor(null);
-				hovering = false;
-			}
-
-			if (sLeftPtMoved) {
-				sDiffX1 = sDiffX1 + e.x - (int)sXPos - sRect1.x;
-				sDiffY1 = sDiffY1 + e.y - (int)sYPos - sRect1.y;
-				sRect1.x = e.x - (int)sXPos;
-				sRect1.y = e.y - (int)sYPos;
-			} else if (sRightPtMoved) {
-				sDiffX2 = sDiffX2 + e.x - (int)sXPos - sRect2.x;
-				sDiffY2 = sDiffY2 + e.y - (int)sYPos - sRect2.y;
-				sRect2.x = e.x - (int)sXPos;
-				sRect2.y = e.y - (int)sYPos;
-			} else if (wPt1Moved) {
-				wDiffX1 = wDiffX1 + e.x - (int)wXPos - wRect1.x;
-				wDiffY1 = wDiffY1 + e.y - (int)wYPos - wRect1.y;
-				wRect1.x = e.x - (int)wXPos;
-				wRect1.y = e.y - (int)wYPos;				
-			} else if (wPt2Moved) {
-				wDiffX2 = wDiffX2 + e.x - (int)wXPos - wRect2.x;
-				wDiffY2 = wDiffY2 + e.y - (int)wYPos - wRect2.y;
-				wRect2.x = e.x - (int)wXPos;
-				wRect2.y = e.y - (int)wYPos;	
-			} else if (tTopPt1Moved) {
-				tTopDiffX1 = tTopDiffX1 + e.x - (int)topTXPos - tTopRect1.x;
-				tTopDiffY1 = tTopDiffY1 + e.y - (int)topTYPos - tTopRect1.y;
-				tTopRect1.x = e.x - (int)topTXPos;
-				tTopRect1.y = e.y - (int)topTYPos;	
-			} else if (tTopPt2Moved) {
-				tTopDiffX2 = tTopDiffX2 + e.x - (int)topTXPos - tTopRect2.x;
-				tTopDiffY2 = tTopDiffY2 + e.y - (int)topTYPos - tTopRect2.y;
-				tTopRect2.x = e.x - (int)topTXPos;
-				tTopRect2.y = e.y - (int)topTYPos;
-			} else if (tBotPt1Moved) {
-				tBotDiffX1 = tBotDiffX1 + e.x - (int)botTXPos - tBottomRect1.x;
-				tBotDiffY1 = tBotDiffY1 + e.y - (int)botTYPos - tBottomRect1.y;
-				tBottomRect1.x = e.x - (int)botTXPos;
-				tBottomRect1.y = e.y - (int)botTYPos;	
-			} else if (tBotPt2Moved) {
-				tBotDiffX2 = tBotDiffX2 + e.x - (int)botTXPos - tBottomRect2.x;
-				tBotDiffY2 = tBotDiffY2 + e.y - (int)botTYPos - tBottomRect2.y;
-				tBottomRect2.x = e.x - (int)botTXPos;
-				tBottomRect2.y = e.y - (int)botTYPos;
-			}
-			example.redraw();			
-		}
-	};
-	
-	mouseListener = new MouseListener() {
-
-		public void mouseDoubleClick(MouseEvent e) {}
-
-		/**
-		 * Sent when a mouse button is pressed.
-		 *
-		 * @param e an event containing information about the mouse button press
-		 */
-		public void mouseDown(MouseEvent e) {  
-			Rectangle r1 = new Rectangle(sRect1.x + (int)sXPos - 1, sRect1.y + (int)sYPos - 1, sRect1.width+2, sRect1.height+2);
-			Rectangle r2 = new Rectangle(sRect2.x + (int)sXPos - 1, sRect2.y + (int)sYPos - 1, sRect2.width+2, sRect2.height+2);
-			Rectangle w1 = new Rectangle(wRect1.x + (int)wXPos - 1, wRect1.y + (int)wYPos - 1, wRect1.width+2, wRect1.height+2);
-			Rectangle w2 = new Rectangle(wRect2.x + (int)wXPos - 1, wRect2.y + (int)wYPos - 1, wRect2.width+2, wRect2.height+2);
-			Rectangle tTop1 = new Rectangle(tTopRect1.x + (int)topTXPos - 1, tTopRect1.y + (int)topTYPos - 1, tTopRect1.width+2, tTopRect1.height+2);
-			Rectangle tTop2 = new Rectangle(tTopRect2.x + (int)topTXPos - 1, tTopRect2.y + (int)topTYPos - 1, tTopRect2.width+2, tTopRect2.height+2);
-			Rectangle tBot1 = new Rectangle(tBottomRect1.x + (int)botTXPos - 1, tBottomRect1.y + (int)botTYPos - 1, tBottomRect1.width+2, tBottomRect1.height+2);
-			Rectangle tBot2 = new Rectangle(tBottomRect2.x + (int)botTXPos - 1, tBottomRect2.y + (int)botTYPos - 1, tBottomRect2.width+2, tBottomRect2.height+2);
-
-			if (r1.contains(e.x, e.y)) {
-				sLeftPtMoved = true;
-				mouseDown = true;
-			} else if (r2.contains(e.x, e.y)) {
-				sRightPtMoved = true;
-				mouseDown = true;
-			} else if (w1.contains(e.x, e.y)) {
-				wPt1Moved = true;
-				mouseDown = true;
-			} else if (w2.contains(e.x, e.y)) {
-				wPt2Moved = true;
-				mouseDown = true;
-			} else if (tTop1.contains(e.x, e.y)) {
-				tTopPt1Moved = true;
-				mouseDown = true;
-			} else if (tTop2.contains(e.x, e.y)) {
-				tTopPt2Moved = true;
-				mouseDown = true;
-			} else if (tBot1.contains(e.x, e.y)) {
-				tBotPt1Moved = true;
-				mouseDown = true;
-			} else if (tBot2.contains(e.x, e.y)) {
-				tBotPt2Moved = true;
-				mouseDown = true;
-			}
-		}
-
-		/**
-		 * Sent when a mouse button is released.
-		 *
-		 * @param e an event containing information about the mouse button release
-		 */
-		public void mouseUp(MouseEvent e) {
-			mouseDown = false;
-			if (isHovering(e)) {
-				example.canvas.setCursor(cursor);
-			} else {
-				example.canvas.setCursor(null);
-			}
-			if (sLeftPtMoved)
-				sLeftPtMoved = false;
-			if (sRightPtMoved)
-				sRightPtMoved = false;
-			if (wPt1Moved)
-				wPt1Moved = false;
-			if (wPt2Moved)
-				wPt2Moved = false;
-			if (tTopPt1Moved)
-				tTopPt1Moved = false;	
-			if (tTopPt2Moved)
-				tTopPt2Moved = false;	
-			if (tBotPt1Moved)
-				tBotPt1Moved = false;	
-			if (tBotPt2Moved)
-				tBotPt2Moved = false;
-			
-			example.redraw();
-		}
-	};
-	example.canvas.addMouseMoveListener(mouseMoveListener);
-	example.canvas.addMouseListener(mouseListener);
-}
-
-public void paint(GC gc, int width, int height) {
-	if (!example.checkAdvancedGraphics()) return;
-	Device device = gc.getDevice();
-	
-	Font font = new Font(device, getPlatformFont(), 16, SWT.ITALIC);
-	gc.setFont(font);
-	gc.setLineWidth(2);
-	
-	Transform transform;
-	
-	// ----- letter s -----	
-	sXPos = 4*width/16;
-	sYPos = (height-150)/2;
-	
-	transform = new Transform(device);
-	transform.translate(sXPos, sYPos);
-	gc.setTransform(transform);
-	transform.dispose();
-
-	gc.setForeground(device.getSystemColor(SWT.COLOR_DARK_BLUE));
-	gc.drawString(GraphicsExample.getResourceString("Cubic"), 0, 175, true);
-	
-	Path path = new Path(device);
-	path.cubicTo(-200 + sDiffX1, 50 + sDiffY1, 200 + sDiffX2, 100 + sDiffY2, 0, 150);
-	gc.drawPath(path);
-	path.dispose();
-	
-	// draw the spline points
-	gc.setTransform(null);
-	gc.drawRectangle(sRect1.x + (int)sXPos, sRect1.y + (int)sYPos, sRect1.width, sRect1.height);
-	gc.drawRectangle(sRect2.x + (int)sXPos, sRect2.y + (int)sYPos, sRect2.width, sRect2.height);
-	
-	// ----- letter w -----
-	wXPos = 6*width/16;
-	wYPos = (height-150)/2;
-	
-	transform = new Transform(device);
-	transform.translate(wXPos, wYPos);
-	gc.setTransform(transform);
-	transform.dispose();
-	
-	gc.setForeground(device.getSystemColor(SWT.COLOR_GRAY));
-	gc.drawString(GraphicsExample.getResourceString("Quadratic"), 0, -50, true);
-	gc.drawString(GraphicsExample.getResourceString("Quadratic"), 110, -50, true);
-	
-	path = new Path(device);
-	path.quadTo(100 + wDiffX1, 300 + wDiffY1, 100, 0);
-	path.quadTo(100+wDiffX2, 300+wDiffY2, 200, 0);
-	gc.drawPath(path);
-	path.dispose();
-	
-	gc.setTransform(null);	
-	gc.drawRectangle(wRect1.x + (int)wXPos, wRect1.y + (int)wYPos, wRect1.width, wRect1.height);
-	gc.drawRectangle(wRect2.x + (int)wXPos, wRect2.y + (int)wYPos, wRect2.width, wRect2.height);
-	
-	
-	// ----- top of letter t -----
-	topTXPos = 11*width/16;
-	topTYPos = (height-150)/2;
-	
-	transform = new Transform(device);
-	transform.translate(topTXPos, topTYPos);
-	gc.setTransform(transform);
-	transform.dispose();
-	
-	gc.setForeground(device.getSystemColor(SWT.COLOR_YELLOW));
-	gc.drawString(GraphicsExample.getResourceString("Cubic"), 25, -50, true);
-	
-	path = new Path(device);
-	path.cubicTo(33 + tTopDiffX1, -20 + tTopDiffY1, 66 + tTopDiffX2, 20 + tTopDiffY2, 100, 0);
-	gc.drawPath(path);
-	path.dispose();
-
-	gc.setTransform(null);
-	gc.drawRectangle(tTopRect1.x + (int)topTXPos, tTopRect1.y + (int)topTYPos, tTopRect1.width, tTopRect1.height);
-	gc.drawRectangle(tTopRect2.x + (int)topTXPos, tTopRect2.y + (int)topTYPos, tTopRect2.width, tTopRect2.height);
-	
-
-	// ----- vertical bar of letter t -----
-	botTXPos = 12*width/16;
-	botTYPos = (height-150)/2;
-
-	transform = new Transform(device);
-	transform.translate(botTXPos, botTYPos);
-	gc.setTransform(transform);
-	transform.dispose();
-	
-	gc.setForeground(device.getSystemColor(SWT.COLOR_RED));
-	gc.drawString(GraphicsExample.getResourceString("Cubic"), 0, 175, true);
-	
-	path = new Path(device);
-	path.cubicTo(-33 + tBotDiffX1, 50 + tBotDiffY1, 33 + tBotDiffX2, 100 + tBotDiffY2, 0, 150);
-	gc.drawPath(path);
-	path.dispose();
-	
-	gc.setTransform(null);
-	gc.drawRectangle(tBottomRect1.x + (int)botTXPos, tBottomRect1.y + (int)botTYPos, tBottomRect1.width, tBottomRect1.height);
-	gc.drawRectangle(tBottomRect2.x + (int)botTXPos, tBottomRect2.y + (int)botTYPos, tBottomRect2.width, tBottomRect2.height);
-
-	font.dispose();
-}
-
-/**
- * Returns the name of a valid font for the resident platform.
- */
-static String getPlatformFont() {
-	if(SWT.getPlatform() == "win32") {
-		return "Arial";	
-	} else if (SWT.getPlatform() == "motif") {
-		return "Helvetica";		
-	} else if (SWT.getPlatform() == "gtk") {
-		return "Baekmuk Batang";		
-	} else if (SWT.getPlatform() == "carbon") {
-		return "Arial";
-	} else { // photon, etc ...
-		return "Verdana";
-	}
-}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/CurvesTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/CurvesTab.java
deleted file mode 100644
index 9784154..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/CurvesTab.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.swt.examples.graphics;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * This tab presents cubic and quadratic curves that can be drawn.
- * The user may reposition the cubic and quadratic handles. 
- */
-public class CurvesTab extends GraphicsTab {
-	/** These rectangles represent the handles on the curves. */
-	private Rectangle quadHndl, quadEndHndl, cubHndl1, cubHndl2, cubEndHndl;
-	
-	/** These values represent the positions of the curves. */
-	private float quadXPos, quadYPos, cubXPos, cubYPos;
-	
-	/** These values represent the x and y displacement of each handle. */
-	private float quadDiffX, quadDiffY, quadEndDiffX, quadEndDiffY;
-	private float cubDiffX1, cubDiffY1, cubDiffX2, cubDiffY2, cubEndDiffX, cubEndDiffY;
-	
-	/** These are flags that indicate whether or not a handle has been moved. */
-	private boolean quadPtMoved, quadEndPtMoved, cubPt1Moved, cubPt2Moved, cubEndPtMoved;
-
-	private MouseMoveListener mouseMoveListener;
-	private MouseListener mouseListener;
-	private Cursor cursor;
-
-	/** true if hovering over a handle, false otherwise */
-	private boolean hovering = false;
-	
-	/** true if left mouse button is held down, false otherwise */
-	private boolean mouseDown = false;
-
-	
-public CurvesTab(GraphicsExample example) {
-	super(example);
-	quadHndl = new Rectangle(200, 150, 5, 5);
-	quadEndHndl = new Rectangle(400, 0, 5, 5);
-	quadDiffX = quadDiffY = quadEndDiffX = quadEndDiffY = 0;
-	cubHndl1 = new Rectangle(133, -60, 5, 5);
-	cubHndl2 = new Rectangle(266, 60, 5, 5);
-	cubDiffX1 = cubDiffY1 = cubDiffX2 = cubDiffY2 = 0;
-	cubEndHndl = new Rectangle(400, 0, 5, 5);
-	cubEndDiffX = cubEndDiffY = 0;
-}
-
-public String getCategory() {
-	return GraphicsExample.getResourceString("Curves"); //$NON-NLS-1$
-}
-
-public String getText() {
-	return GraphicsExample.getResourceString("Curves"); //$NON-NLS-1$
-}
-
-public String getDescription() {
-	return GraphicsExample.getResourceString("CurvesDescription"); //$NON-NLS-1$
-}
-
-public boolean getDoubleBuffered() {
-	return true;
-}
-
-public void dispose() {
-	if (mouseListener != null)
-		example.canvas.removeMouseListener(mouseListener);
-	
-	if (mouseMoveListener != null)
-		example.canvas.removeMouseMoveListener(mouseMoveListener);
-	
-	if (cursor != null) {
-		cursor.dispose();
-		cursor = null;
-	}
-}
-
-/**
- * This helper method determines whether or not the cursor is positioned
- * over a handle.
- * 
- * @param e
- *            A MouseEvent
- * @return true if cursor is positioned over a handle; false otherwise
- */
-private boolean isHovering(MouseEvent e) {
-	Rectangle quad = new Rectangle(quadHndl.x + (int)quadXPos - 1, quadHndl.y + (int)quadYPos - 1, quadHndl.width+2, quadHndl.height+2);
-	Rectangle quadEnd = new Rectangle(quadEndHndl.x + (int)quadXPos - 1, quadEndHndl.y + (int)quadYPos - 1, quadEndHndl.width+2, quadEndHndl.height+2);
-	Rectangle cub1 = new Rectangle(cubHndl1.x + (int)cubXPos - 1, cubHndl1.y + (int)cubYPos - 1, cubHndl1.width+2, cubHndl1.height+2);
-	Rectangle cub2 = new Rectangle(cubHndl2.x + (int)cubXPos - 1, cubHndl2.y + (int)cubYPos - 1, cubHndl2.width+2, cubHndl2.height+2);
-	Rectangle cubEnd = new Rectangle(cubEndHndl.x + (int)cubXPos - 1, cubEndHndl.y + (int)cubYPos - 1, cubEndHndl.width+2, cubEndHndl.height+2);
-
-	return ( quad.contains(e.x, e.y) || quadEnd.contains(e.x, e.y) 
-		 || cub1.contains(e.x, e.y) || cub2.contains(e.x, e.y) 
-		 || cubEnd.contains(e.x, e.y));
-}
-/** 
- * Creates the widgets used to control the drawing.
- */
-public void createControlPanel(Composite parent) {
-	if (cursor == null) { 
-		cursor = new Cursor(parent.getDisplay(), SWT.CURSOR_HAND);
-	}
-
-	mouseMoveListener = new MouseMoveListener() {
-		
-		public void mouseMove(MouseEvent e) {
-			if (hovering && mouseDown) {
-				example.canvas.setCursor(cursor);
-			} else if (isHovering(e)) {
-				example.canvas.setCursor(cursor);
-				hovering = true;
-			} else {
-				example.canvas.setCursor(null);
-				hovering = false;
-			}
-
-			if (quadPtMoved) {
-				quadDiffX = quadDiffX + e.x - (int)quadXPos - quadHndl.x;
-				quadDiffY = quadDiffY + e.y - (int)quadYPos - quadHndl.y;
-				quadHndl.x = e.x - (int)quadXPos;
-				quadHndl.y = e.y - (int)quadYPos;				
-			} else if (quadEndPtMoved) {
-				quadEndDiffX = quadEndDiffX + e.x - (int)quadXPos - quadEndHndl.x;
-				quadEndDiffY = quadEndDiffY + e.y - (int)quadYPos - quadEndHndl.y;
-				quadEndHndl.x = e.x - (int)quadXPos;
-				quadEndHndl.y = e.y - (int)quadYPos;	
-			} else if (cubPt1Moved) {
-				cubDiffX1 = cubDiffX1 + e.x - (int)cubXPos - cubHndl1.x;
-				cubDiffY1 = cubDiffY1 + e.y - (int)cubYPos - cubHndl1.y;
-				cubHndl1.x = e.x - (int)cubXPos;
-				cubHndl1.y = e.y - (int)cubYPos;	
-			} else if (cubPt2Moved) {
-				cubDiffX2 = cubDiffX2 + e.x - (int)cubXPos - cubHndl2.x;
-				cubDiffY2 = cubDiffY2 + e.y - (int)cubYPos - cubHndl2.y;
-				cubHndl2.x = e.x - (int)cubXPos;
-				cubHndl2.y = e.y - (int)cubYPos;
-			} else if (cubEndPtMoved) {
-				cubEndDiffX = cubEndDiffX + e.x - (int)cubXPos - cubEndHndl.x;
-				cubEndDiffY = cubEndDiffY + e.y - (int)cubYPos - cubEndHndl.y;
-				cubEndHndl.x = e.x - (int)cubXPos;
-				cubEndHndl.y = e.y - (int)cubYPos;
-			}
-			example.redraw();			
-		}
-	};
-	
-	mouseListener = new MouseListener() {
-
-		public void mouseDoubleClick(MouseEvent e) {}
-
-		/**
-		 * Sent when a mouse button is pressed.
-		 *
-		 * @param e an event containing information about the mouse button press
-		 */
-		public void mouseDown(MouseEvent e) {  
-			Rectangle quad = new Rectangle(quadHndl.x + (int)quadXPos - 1, quadHndl.y + (int)quadYPos - 1, quadHndl.width+2, quadHndl.height+2);
-			Rectangle quadEnd = new Rectangle(quadEndHndl.x + (int)quadXPos - 1, quadEndHndl.y + (int)quadYPos - 1, quadEndHndl.width+2, quadEndHndl.height+2);
-			Rectangle cub1 = new Rectangle(cubHndl1.x + (int)cubXPos - 1, cubHndl1.y + (int)cubYPos - 1, cubHndl1.width+2, cubHndl1.height+2);
-			Rectangle cub2 = new Rectangle(cubHndl2.x + (int)cubXPos - 1, cubHndl2.y + (int)cubYPos - 1, cubHndl2.width+2, cubHndl2.height+2);
-			Rectangle cubEnd = new Rectangle(cubEndHndl.x + (int)cubXPos - 1, cubEndHndl.y + (int)cubYPos - 1, cubEndHndl.width+2, cubEndHndl.height+2);
-			
-			if (quad.contains(e.x, e.y)) {
-				quadPtMoved = true;
-				mouseDown = true;
-			} else if (quadEnd.contains(e.x, e.y)) {
-				quadEndPtMoved = true;
-				mouseDown = true;
-			} else if (cub1.contains(e.x, e.y)) {
-				cubPt1Moved = true;
-				mouseDown = true;
-			} else if (cub2.contains(e.x, e.y)) {
-				cubPt2Moved = true;
-				mouseDown = true;
-			} else if (cubEnd.contains(e.x, e.y)) {
-				cubEndPtMoved = true;
-				mouseDown = true;
-			}
-		}
-
-		/**
-		 * Sent when a mouse button is released.
-		 *
-		 * @param e an event containing information about the mouse button release
-		 */
-		public void mouseUp(MouseEvent e) {
-			mouseDown = false;
-			if (isHovering(e)) {
-				example.canvas.setCursor(cursor);
-			} else {
-				example.canvas.setCursor(null);
-			}
-
-			if (quadPtMoved)
-				quadPtMoved = false;
-			if (quadEndPtMoved)
-				quadEndPtMoved = false;
-			if (cubPt1Moved)
-				cubPt1Moved = false;	
-			if (cubPt2Moved)
-				cubPt2Moved = false;
-			if (cubEndPtMoved)
-				cubEndPtMoved = false;
-			
-			example.redraw();
-		}
-	};
-	example.canvas.addMouseMoveListener(mouseMoveListener);
-	example.canvas.addMouseListener(mouseListener);
-}
-
-public void paint(GC gc, int width, int height) {
-	if (!example.checkAdvancedGraphics()) return;
-	Device device = gc.getDevice();
-	
-	Font font = new Font(device, getPlatformFont(), 16, SWT.ITALIC);
-	gc.setFont(font);
-	gc.setLineWidth(5);
-	
-	Transform transform;
-
-	// ----- cubic curve -----
-	cubXPos = width/5;
-	cubYPos = height/3;
-	
-	transform = new Transform(device);
-	transform.translate(cubXPos, cubYPos);
-	gc.setTransform(transform);
-	transform.dispose();
-	
-	gc.setForeground(device.getSystemColor(SWT.COLOR_RED));
-	gc.drawString(GraphicsExample.getResourceString("Cubic"), 25, -70, true);
-	
-	Path path = new Path(device);
-	path.cubicTo(133 + cubDiffX1, -60 + cubDiffY1, 266 + cubDiffX2, 60 + cubDiffY2, 400 + cubEndDiffX, 0 + cubEndDiffY);
-	gc.drawPath(path);
-	path.dispose();
-
-	gc.setTransform(null);
-	gc.setForeground(device.getSystemColor(SWT.COLOR_DARK_BLUE));
-	gc.drawRectangle(cubHndl1.x + (int)cubXPos, cubHndl1.y + (int)cubYPos, cubHndl1.width, cubHndl1.height);
-	gc.drawRectangle(cubHndl2.x + (int)cubXPos, cubHndl2.y + (int)cubYPos, cubHndl2.width, cubHndl2.height);
-	gc.drawRectangle(cubEndHndl.x + (int)cubXPos, cubEndHndl.y + (int)cubYPos, cubEndHndl.width, cubEndHndl.height);
-	
-	// ----- quadratic curve -----
-	quadXPos = width/5;
-	quadYPos = 2*height/3;
-	
-	transform = new Transform(device);
-	transform.translate(quadXPos, quadYPos);
-	gc.setTransform(transform);
-	transform.dispose();
-	
-	gc.setForeground(device.getSystemColor(SWT.COLOR_GREEN));
-	gc.drawString(GraphicsExample.getResourceString("Quadratic"), 0, -50, true);
-	
-	path = new Path(device);
-	path.quadTo(200 + quadDiffX, 150 + quadDiffY, 400 + quadEndDiffX, 0 + quadEndDiffY);
-	gc.drawPath(path);
-	path.dispose();
-	
-	gc.setTransform(null);
-	gc.setForeground(device.getSystemColor(SWT.COLOR_GRAY));
-	gc.drawRectangle(quadHndl.x + (int)quadXPos, quadHndl.y + (int)quadYPos, quadHndl.width, quadHndl.height);
-	gc.drawRectangle(quadEndHndl.x + (int)quadXPos, quadEndHndl.y + (int)quadYPos, quadEndHndl.width, quadEndHndl.height);
-
-	font.dispose();
-}
-
-/**
- * Returns the name of a valid font for the resident platform.
- */
-static String getPlatformFont() {
-	if(SWT.getPlatform() == "win32") {
-		return "Arial";	
-	} else if (SWT.getPlatform() == "motif") {
-		return "Helvetica";		
-	} else if (SWT.getPlatform() == "gtk") {
-		return "Baekmuk Batang";		
-	} else if (SWT.getPlatform() == "carbon") {
-		return "Arial";
-	} else { // photon, etc ...
-		return "Verdana";
-	}
-}
-
-}
-
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/CustomAlphaTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/CustomAlphaTab.java
deleted file mode 100644
index 386fc5a..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/CustomAlphaTab.java
+++ /dev/null
@@ -1,159 +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.swt.examples.graphics;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * This tab demonstrates the use of alpha blending. It allows a user to specify
- * a custom alpha value.
- */
-public class CustomAlphaTab extends AnimatedGraphicsTab {
-	
-	private Spinner alphaSpinner;
-	private Button colorButton;
-	private GraphicsBackground background;
-	private Menu menu;
-	private int angle;
-
-public CustomAlphaTab(GraphicsExample example) {
-	super(example);
-}
-
-public String getCategory() {
-	return GraphicsExample.getResourceString("Alpha"); //$NON-NLS-1$
-}
-
-public String getText() {
-	return GraphicsExample.getResourceString("CustomAlpha"); //$NON-NLS-1$
-}
-
-public String getDescription() {
-	return GraphicsExample.getResourceString("CustomAlphaDescription"); //$NON-NLS-1$
-}
-
-public void dispose() {
-	if (menu != null) {
-		menu.dispose();
-		menu = null;
-	}
-}
-
-/** 
- * Creates the widgets used to control the drawing.
- */
-public void createControlPanel(Composite parent) {
-	super.createControlPanel(parent);
-	
-	// create drop down combo for choosing clipping
-	Composite comp;
-	
-	// create spinner for line width
-	comp = new Composite(parent, SWT.NONE);
-	comp.setLayout(new GridLayout(2, false));
-	new Label(comp, SWT.CENTER).setText(GraphicsExample
-				.getResourceString("Alpha")); //$NON-NLS-1$
-	alphaSpinner = new Spinner(comp, SWT.BORDER | SWT.WRAP);
-	alphaSpinner.setMinimum(0);
-	alphaSpinner.setMaximum(255);
-	alphaSpinner.setSelection(127);
-	alphaSpinner.addListener(SWT.Selection, new Listener() {
-		public void handleEvent(Event event) {
-				example.redraw();
-		}
-	});
-	
-	// color menu
-	ColorMenu cm = new ColorMenu();
-	cm.setPatternItems(example.checkAdvancedGraphics());
-	menu = cm.createMenu(parent.getParent(), new ColorListener() {
-		public void setColor(GraphicsBackground gb) {
-			background = gb;		
-			colorButton.setImage(gb.getThumbNail());
-			example.redraw();
-		}
-	});
-
-	// initialize the background to the 5th item in the menu (blue)
-	background = (GraphicsBackground)menu.getItem(4).getData();
-	
-	// color button
-	comp = new Composite(parent, SWT.NONE);
-	comp.setLayout(new GridLayout(2, false));
-	
-	colorButton = new Button(comp, SWT.PUSH);
-	colorButton.setText(GraphicsExample
-			.getResourceString("Color")); //$NON-NLS-1$
-	colorButton.setImage(background.getThumbNail());
-	colorButton.addListener(SWT.Selection, new Listener() { 
-		public void handleEvent(Event event) {
-			final Button button = (Button) event.widget;
-			final Composite parent = button.getParent(); 
-			Rectangle bounds = button.getBounds();
-			Point point = parent.toDisplay(new Point(bounds.x, bounds.y));
-			menu.setLocation(point.x, point.y + bounds.height);
-			menu.setVisible(true);
-		}
-	});
-}
-
-public void next(int width, int height) {
-	
-	angle = (angle+1)%360;
-}
-
-public void paint(GC gc, int width, int height) {
-	if (!example.checkAdvancedGraphics()) return;
-	Device device = gc.getDevice();
-
-	Pattern pattern = null;
-	if (background.getBgColor1() != null) {
-		gc.setBackground(background.getBgColor1());
-	} else if (background.getBgImage() != null) {
-		pattern = new Pattern(device, background.getBgImage());
-		gc.setBackgroundPattern(pattern);
-	}
-	
-	gc.setAntialias(SWT.ON);
-	gc.setAlpha(alphaSpinner.getSelection());
-	
-	// rotate on center
-	Transform transform = new Transform(device);
-	transform.translate(width/2, height/2);
-	transform.rotate(-angle);
-	transform.translate(-width/2, -height/2);
-	gc.setTransform(transform);
-	transform.dispose();
-	
-	// choose the smallest between height and width
-	int diameter = (height < width) ? height : width;
-	
-	Path path = new Path(device);
-	path.addArc((width-diameter/5)/2, (height-diameter/5)/2, diameter/5, diameter/5, 0, 360);
-	path.addArc(5*(width-diameter/8)/12, 4*(height-diameter/8)/12, diameter/8, diameter/8, 0, 360);
-	path.addArc(7*(width-diameter/8)/12, 8*(height-diameter/8)/12, diameter/8, diameter/8, 0, 360);
-	path.addArc(6*(width-diameter/12)/12, 3*(height-diameter/12)/12, diameter/12, diameter/12, 0, 360);
-	path.addArc(6*(width-diameter/12)/12, 9*(height-diameter/12)/12, diameter/12, diameter/12, 0, 360);
-	path.addArc(11.5f*(width-diameter/18)/20, 5*(height-diameter/18)/18, diameter/18, diameter/18, 0, 360);	
-	path.addArc(8.5f*(width-diameter/18)/20, 13*(height-diameter/18)/18, diameter/18, diameter/18, 0, 360);
-	path.addArc(62f*(width-diameter/25)/100, 32*(height-diameter/25)/100, diameter/25, diameter/25, 0, 360);
-	path.addArc(39f*(width-diameter/25)/100, 67*(height-diameter/25)/100, diameter/25, diameter/25, 0, 360);
-		
-	gc.fillPath(path);
-	path.dispose();
-			
-    if (pattern != null) pattern.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/CustomFontTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/CustomFontTab.java
deleted file mode 100644
index ff8d283..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/CustomFontTab.java
+++ /dev/null
@@ -1,202 +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.swt.examples.graphics;
-
-import java.util.*;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * This tab demonstrates various text fonts. It allows the user to specify font
- * parameters such as face, style and size.
- */
-public class CustomFontTab extends GraphicsTab {
-
-	String text = GraphicsExample.getResourceString("SWT");
-	GraphicsBackground fontForeground;
-	Combo fontFaceCb, fontStyleCb;
-	Spinner fontPointSpinner;
-	Button colorButton;
-	ArrayList fontNames;
-	int [] styleValues;
-	String [] fontStyles;
-	Menu menu;
-	
-public CustomFontTab(GraphicsExample example) {
-	super(example);
-	
-	// create list of fonts for this platform
-	FontData [] fontData = Display.getCurrent().getFontList(null, true);
-	fontNames = new ArrayList();
-	for (int i=0; i < fontData.length; i++) {
-		// remove duplicates and sort
-		String nextName = fontData[i].getName();
-		if (!fontNames.contains(nextName)) {
-			int j = 0;
-			while(j < fontNames.size() && nextName.compareTo((String)fontNames.get(j)) > 0) {
-				j++;
-			}
-			fontNames.add(j, nextName);
-		}
-	}
-	fontStyles = new String [] {
-			GraphicsExample.getResourceString("Regular"), //$NON-NLS-1$
-			GraphicsExample.getResourceString("Italic"), //$NON-NLS-1$
-			GraphicsExample.getResourceString("Bold"), //$NON-NLS-1$
-			GraphicsExample.getResourceString("BoldItalic") //$NON-NLS-1$
-	};
-	styleValues = new int [] {SWT.NORMAL, SWT.ITALIC, SWT.BOLD, SWT.BOLD | SWT.ITALIC};
-}
-
-public String getCategory() {
-	return GraphicsExample.getResourceString("Font"); //$NON-NLS-1$
-}
-
-public String getText() {
-	return GraphicsExample.getResourceString("CustomFont"); //$NON-NLS-1$
-}
-
-public String getDescription() {
-	return GraphicsExample.getResourceString("CustomFontDescription"); //$NON-NLS-1$
-}
-
-public void dispose() {
-	if (menu != null) {
-		menu.dispose();
-		menu = null;
-	}
-}
-
-public void createControlPanel(Composite parent) {
-
-	Composite mainComp = new Composite(parent, SWT.NONE);
-	mainComp.setLayout(new RowLayout());
-	
-	// create combo for font face
-	Composite comp = new Composite(mainComp, SWT.NONE);
-	comp.setLayout(new GridLayout(2, false));
-	
-	new Label(comp, SWT.LEFT).setText(GraphicsExample.getResourceString("FontFace")); //$NON-NLS-1$
-	fontFaceCb = new Combo(comp, SWT.DROP_DOWN);
-	for (int i=0; i < fontNames.size(); i++) {
-		String name = (String)fontNames.get(i);
-		fontFaceCb.add(name);
-	}
-	fontFaceCb.select(0);
-	fontFaceCb.addListener(SWT.Selection, new Listener() {
-		public void handleEvent (Event event) {
-			example.redraw();
-		}
-	});
-	
-	// create combo for font style
-	comp = new Composite(mainComp, SWT.NONE);
-	comp.setLayout(new GridLayout(2, false));
-	
-	new Label(comp, SWT.LEFT).setText(GraphicsExample.getResourceString("FontStyle")); //$NON-NLS-1$
-	fontStyleCb = new Combo(comp, SWT.DROP_DOWN);
-	for (int i=0; i < fontStyles.length; i++) {
-		fontStyleCb.add(fontStyles[i]);
-	}
-	fontStyleCb.select(0);
-	fontStyleCb.addListener(SWT.Selection, new Listener() {
-		public void handleEvent (Event event) {
-			example.redraw();
-		}
-	});
-	
-	// create spinner for font size (points)
-	comp = new Composite(mainComp, SWT.NONE);
-	comp.setLayout(new GridLayout(2, false));
-	
-	new Label(comp, SWT.LEFT).setText(GraphicsExample.getResourceString("FontSize")); //$NON-NLS-1$
-	fontPointSpinner = new Spinner(comp, SWT.BORDER | SWT.WRAP);
-	fontPointSpinner.setMinimum(1);
-	fontPointSpinner.setMaximum(1000);
-	fontPointSpinner.setSelection(200);
-	fontPointSpinner.addListener(SWT.Selection, new Listener() {
-		public void handleEvent(Event event) {
-				example.redraw();
-		}
-	});
-
-	ColorMenu cm = new ColorMenu();
-	cm.setColorItems(true);
-	cm.setPatternItems(example.checkAdvancedGraphics());
-	menu = cm.createMenu(parent.getParent(), new ColorListener() {
-		public void setColor(GraphicsBackground gb) {
-			fontForeground = gb;
-			colorButton.setImage(gb.getThumbNail());
-			example.redraw();
-		}
-	});
-	
-	// initialize the background to the 2nd item in the menu (black)
-	fontForeground = (GraphicsBackground)menu.getItem(1).getData();
-	
-	// create color button
-	comp = new Composite(parent, SWT.NONE);
-	comp.setLayout(new GridLayout());
-		
-	colorButton = new Button(comp, SWT.PUSH);
-	colorButton.setText(GraphicsExample.getResourceString("Color")); //$NON-NLS-1$
-	colorButton.setImage(fontForeground.getThumbNail());
-	colorButton.addListener(SWT.Selection, new Listener() { 
-		public void handleEvent(Event event) {
-			final Button button = (Button) event.widget;
-			final Composite parent = button.getParent(); 
-			Rectangle bounds = button.getBounds();
-			Point point = parent.toDisplay(new Point(bounds.x, bounds.y));
-			menu.setLocation(point.x, point.y + bounds.height);
-			menu.setVisible(true);
-		}
-	});
-}
-
-/* (non-Javadoc)
- * @see org.eclipse.swt.examples.graphics.GraphicsTab#paint(org.eclipse.swt.graphics.GC, int, int)
- */
-public void paint(GC gc, int width, int height) {
-	if (!example.checkAdvancedGraphics()) return;
-	Device device = gc.getDevice();
-	
-	String fontFace = (String)fontNames.get(fontFaceCb.getSelectionIndex());
-	int points = fontPointSpinner.getSelection();
-	int style = styleValues[fontStyleCb.getSelectionIndex()];
-	
-	Font font = new Font(device, fontFace, points, style);
-	gc.setFont(font);
-	gc.setTextAntialias(SWT.ON);
-
-	Point size = gc.stringExtent(text);
-	int textWidth = size.x;
-	int textHeight = size.y;
-
-	Pattern pattern = null;
-	if (fontForeground.getBgColor1() != null) {
-		gc.setForeground(fontForeground.getBgColor1());
-	} else if (fontForeground.getBgImage() != null) {
-		pattern = new Pattern(device, fontForeground.getBgImage());
-		gc.setForegroundPattern(pattern);
-	}
-	
-	gc.drawString(text, (width-textWidth)/2, (height-textHeight)/2, true);
-
-	font.dispose();
-	if (pattern != null) pattern.dispose();	
-}
-
-}
-
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/FontBounceTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/FontBounceTab.java
deleted file mode 100644
index f7418cb..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/FontBounceTab.java
+++ /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
- *******************************************************************************/
-
-package org.eclipse.swt.examples.graphics;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-
-/**
- * This tab is an animated graphic. It presents the word SWT in different fonts
- * as it bounces around the screen.
- */
-public class FontBounceTab extends AnimatedGraphicsTab {
-	
-	float x, y;
-	float incX = 10.0f;				// units by which to move the word along X axis
-	float incY = 5.0f;				// units by which to move the word along Y axis 
-	int textWidth, textHeight;		// width and height of the word SWT
-	String text = GraphicsExample.getResourceString("SWT");
-	int fontSize = 100;
-	int fontFace = 0; 
-	int foreGrdColor, fillColor;	// font colors
-	int fontStyle;				// represents various style attributes applicable to a Font
-	
-public FontBounceTab(GraphicsExample example) {
-	super(example);
-}
-
-public String getCategory() {
-	return GraphicsExample.getResourceString("Font"); //$NON-NLS-1$
-}
-
-public String getText() {
-	return GraphicsExample.getResourceString("Bounce"); //$NON-NLS-1$
-}
-
-public String getDescription() {
-	return GraphicsExample.getResourceString("FontBounceDescription"); //$NON-NLS-1$
-}
-
-/* (non-Javadoc)
- * @see org.eclipse.swt.examples.graphics.AnimatedGraphicsTab#next(int, int)
- */
-public void next(int width, int height) {
-	x += incX;
-    y += incY;
-	float random = (float)Math.random();
-	
-	// collision with right side of screen 
-    if (x + textWidth > width) {
-        x = width - textWidth;
-        incX = random * -width / 16 - 1;
-        fontFace = 0;
-        fontSize = 125;
-        fillColor = SWT.COLOR_DARK_BLUE;  
-        foreGrdColor = SWT.COLOR_YELLOW;
-        fontStyle = SWT.ITALIC;
-    }
-	// collision with left side of screen
-    if (x < 0) {
-        x = 0;
-        incX = random * width / 16 + 1;
-        fontFace = 1;
-        fontSize = 80;
-        fillColor = SWT.COLOR_DARK_MAGENTA;
-        foreGrdColor = SWT.COLOR_CYAN;
-        fontStyle = SWT.NONE;
-    }
-	// collision with bottom side of screen
-    if (y + textHeight > height) {
-        y = (height - textHeight)- 2;
-        incY = random * -height / 16 - 1;
-        fontFace = 2;
-        fontSize = 100;
-        fillColor = SWT.COLOR_YELLOW;
-        foreGrdColor = SWT.COLOR_BLACK;
-        fontStyle = SWT.BOLD;
-    }
-	// collision with top side of screen
-    if (y < 0) {
-        y = 0;
-        incY = random * height / 16 + 1;
-        fontFace = 3;
-        fontSize = 120;
-        fillColor = SWT.COLOR_GREEN;
-        foreGrdColor = SWT.COLOR_GRAY;
-        fontStyle = SWT.NONE;
-    }
-}
-
-
-/* (non-Javadoc)
- * @see org.eclipse.swt.examples.graphics.GraphicsTab#paint(org.eclipse.swt.graphics.GC, int, int)
- */
-public void paint(GC gc, int width, int height) {
-	if (!example.checkAdvancedGraphics()) return;
-	Device device = gc.getDevice();
-	
-	Font font = new Font(device, getPlatformFontFace(fontFace), fontSize, fontStyle);
-	gc.setFont(font);
-	
-	Point size = gc.stringExtent(text);
-	textWidth = size.x;
-	textHeight = size.y;
-	
-	Path path = new Path(device);
-	path.addString(text, x, y, font);
-
-	gc.setForeground(device.getSystemColor(foreGrdColor));
-	gc.setBackground(device.getSystemColor(fillColor));
-
-	gc.fillPath(path);
-	gc.drawPath(path);
-	font.dispose();
-	path.dispose();
-}
-
-/**
- * Returns the name of the font using the specified index.
- * This method takes into account the resident platform.
- * 
- * @param index
- * 			The index of the font to be used
- */
-static String getPlatformFontFace(int index) {	
-	if(SWT.getPlatform() == "win32") {
-		return new String [] {"Arial", "Impact", "Times", "Verdana"} [index];	
-	} else if (SWT.getPlatform() == "motif") {
-		return new String [] {"URW Chancery L", "URW Gothic L", "Times", "qub"} [index];		
-	} else if (SWT.getPlatform() == "gtk") {
-		return new String [] {"URW Chancery L", "Baekmuk Batang", "Baekmuk Headline", "KacsTitleL"} [index];
-	} else if (SWT.getPlatform() == "carbon") {
-		return new String [] {"Arial", "Impact", "Times", "Verdana"} [index];
-	} else { // photon, etc ...
-		return new String [] {"Arial", "Impact", "Times", "Verdana"} [index];
-	}
-}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/GradientDialog.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/GradientDialog.java
deleted file mode 100644
index af8a685..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/GradientDialog.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.swt.examples.graphics;
-
-import java.util.*;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * This dialog is used for prompting the user to select two colors for the
- * creation of a gradient.
- */
-public class GradientDialog extends Dialog {
-
-	Canvas canvas;
-
-	Button colorButton1, colorButton2;		// color buttons
-
-	Button okButton, cancelButton;
-
-	Menu menu1, menu2;
-	
-	RGB rgb1, rgb2;			// first and second color used in gradient
-	int returnVal; 			// value to be returned by open(), set to SWT.OK 
-							// if the ok button has been pressed		
-	ArrayList resources;
-			
-	public GradientDialog(Shell parent) {		
-		this (parent, SWT.PRIMARY_MODAL);
-	}
-	
-	public GradientDialog(Shell parent, int style) {
-		super(parent, style);
-		rgb1 = rgb2 = null;
-		returnVal = SWT.CANCEL;
-		resources = new ArrayList();
-	}
-	
-	/**
-	 * Sets up the dialog and opens it.
-	 * */
-	public int open() {
-		final Shell dialog = new Shell(getParent(), SWT.DIALOG_TRIM | SWT.RESIZE | getStyle());
-		dialog.setText(GraphicsExample.getResourceString("Gradient")); //$NON-NLS-1$
-				
-		GridLayout gridLayout = new GridLayout();
-	    gridLayout.numColumns = 2;
-	    gridLayout.marginHeight = 10;
-	    gridLayout.marginWidth = 10;
-	    dialog.setLayout(gridLayout);
-	    
-	    // create the controls in the dialog
-	    createDialogControls(dialog);
-		
-		dialog.addListener(SWT.Close, new Listener() {
-			public void handleEvent(Event event) {
-				for (int i = 0; i < resources.size(); i++) {
-					Object obj = resources.get(i);
-					if (obj != null && obj instanceof Resource) {
-						((Resource) obj).dispose();
-					}
-				}
-				dialog.dispose();
-			}
-		});	
-
-		dialog.setDefaultButton (okButton);
-		dialog.pack ();
-		Rectangle rect = getParent().getMonitor().getBounds();
-		Rectangle bounds = dialog.getBounds();
-		dialog.setLocation(rect.x + (rect.width - bounds.width) / 2, rect.y + (rect.height - bounds.height) / 2);
-		dialog.setMinimumSize(bounds.width, bounds.height);
-		
-		dialog.open ();
-		
-		Display display = getParent().getDisplay();
-		while (!dialog.isDisposed()) {
-			if (!display.readAndDispatch()) display.sleep();
-		}
-		
-		if (menu1 != null) {
-			menu1.dispose();
-			menu1 = null;
-		}
-		
-		if (menu2 != null) {
-			menu2.dispose();
-			menu2 = null;
-		}
-
-		return returnVal;
-	}
-	
-	/**
-	 * Creates the controls of the dialog.
-	 * */
-	public void createDialogControls(final Shell parent) {
-		final Display display = parent.getDisplay();
-		
-		// message
-		Label message = new Label(parent, SWT.NONE); 
-		message.setText(GraphicsExample.getResourceString("GradientDlgMsg"));
-		GridData gridData = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		gridData.horizontalSpan = 2;
-		message.setLayoutData(gridData);
-		
-		// default colors are white and black
-		if (rgb1 == null || rgb2 == null) {
-			rgb1 = display.getSystemColor(SWT.COLOR_WHITE).getRGB();
-			rgb2 = display.getSystemColor(SWT.COLOR_BLACK).getRGB();
-		}			
-
-		// canvas
-		canvas = new Canvas(parent, SWT.NONE);
-		gridData = new GridData(GridData.FILL_BOTH);
-		gridData.widthHint = 200;
-		gridData.heightHint = 100;
-		canvas.setLayoutData(gridData);
-		canvas.addListener (SWT.Paint, new Listener () {
-			public void handleEvent (Event e) {
-				Image preview = null;
-				Point size = canvas.getSize();
-				Color color1 = new Color(display, rgb1);
-				Color color2 = new Color(display, rgb2);
-				preview = GraphicsExample.createImage(display, color1, color2, size.x, size.y);
-				if (preview != null) {
-					e.gc.drawImage (preview, 0, 0);
-				}
-				preview.dispose();
-				color1.dispose();
-				color2.dispose();
-			}
-		});
-		
-		// composite used for both color buttons
-		Composite colorButtonComp = new Composite(parent, SWT.NONE);
-		
-		// layout buttons
-		RowLayout layout = new RowLayout();;
-		layout.type = SWT.VERTICAL;
-		layout.pack = false;
-		colorButtonComp.setLayout(layout);
-
-		// position composite
-		gridData = new GridData(GridData.VERTICAL_ALIGN_BEGINNING);
-	    colorButtonComp.setLayoutData(gridData);
-	    
-		ColorMenu colorMenu = new ColorMenu();
-		
-		// color controls: first color
-		colorButton1 = new Button(colorButtonComp, SWT.PUSH);
-		colorButton1.setText(GraphicsExample.getResourceString("GradientDlgButton1"));
-		Color color1 = new Color(display, rgb1);
-		Image img1 = GraphicsExample.createImage(display, color1);
-		color1.dispose();
-		colorButton1.setImage(img1);
-		resources.add(img1);
-		menu1 = colorMenu.createMenu(parent.getParent(), new ColorListener() {
-			public void setColor(GraphicsBackground gb) {
-				rgb1 = gb.getBgColor1().getRGB();
-				colorButton1.setImage(gb.getThumbNail());
-				if (canvas != null) canvas.redraw();
-			}
-		});
-		colorButton1.addListener(SWT.Selection, new Listener() { 
-			public void handleEvent(Event event) {
-				final Button button = (Button) event.widget;
-				final Composite parent = button.getParent(); 
-				Rectangle bounds = button.getBounds();
-				Point point = parent.toDisplay(new Point(bounds.x, bounds.y));
-				menu1.setLocation(point.x, point.y + bounds.height);
-				menu1.setVisible(true);
-			}
-		});
-		
-		// color controls: second color 
-		colorButton2 = new Button(colorButtonComp, SWT.PUSH);
-		colorButton2.setText(GraphicsExample.getResourceString("GradientDlgButton2"));
-		Color color2 = new Color(display, rgb2);
-		Image img2 = GraphicsExample.createImage(display, color2);
-		color2.dispose();
-		colorButton2.setImage(img2);
-		resources.add(img2);
-		menu2 = colorMenu.createMenu(parent.getParent(), new ColorListener() {
-			public void setColor(GraphicsBackground gb) {
-				rgb2 = gb.getBgColor1().getRGB();
-				colorButton2.setImage(gb.getThumbNail());
-				if (canvas != null) canvas.redraw();
-			}
-		});
-		colorButton2.addListener(SWT.Selection, new Listener() { 
-			public void handleEvent(Event event) {
-				final Button button = (Button) event.widget;
-				final Composite parent = button.getParent(); 
-				Rectangle bounds = button.getBounds();
-				Point point = parent.toDisplay(new Point(bounds.x, bounds.y));
-				menu2.setLocation(point.x, point.y + bounds.height);
-				menu2.setVisible(true);
-			}
-		});
-		
-		// composite used for ok and cancel buttons
-		Composite okCancelComp = new Composite(parent, SWT.NONE);
-
-		// layout buttons
-		RowLayout rowLayout = new RowLayout();
-		rowLayout.pack = false;
-		rowLayout.marginTop = 5;
-		okCancelComp.setLayout(rowLayout);
-
-		// position composite
-		gridData = new GridData(GridData.HORIZONTAL_ALIGN_END);
-	    gridData.horizontalSpan = 2;
-	    okCancelComp.setLayoutData(gridData);
-		
-	    // OK button
-		okButton = new Button (okCancelComp, SWT.PUSH);
-		okButton.setText("&OK");
-		okButton.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event event) {
-				returnVal = SWT.OK;
-				parent.close();
-			}
-		});
-		
-		// cancel button
-		cancelButton = new Button (okCancelComp, SWT.PUSH);
-		cancelButton.setText("&Cancel");
-		cancelButton.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event event) {
-				parent.close();
-			}
-		});
-	}
-	
-	/**
-	 * Returns the first RGB selected by the user.
-	 * */
-	public RGB getFirstRGB() {
-		return rgb1;		
-	}
-	
-	/**
-	 * Sets the first RGB.
-	 * @param rgb
-	 */
-	public void setFirstRGB(RGB rgb) {
-		this.rgb1 = rgb;
-	}
-	
-	/**
-	 * Returns the second RGB selected by the user.
-	 * */
-	public RGB getSecondRGB() {
-		return rgb2;
-	}
-
-	/**
-	 * Sets the second RGB.
-	 * @param rgb
-	 */
-	public void setSecondRGB(RGB rgb) {
-		this.rgb2 = rgb;
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/GradientTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/GradientTab.java
deleted file mode 100644
index 33034bb..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/GradientTab.java
+++ /dev/null
@@ -1,210 +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.swt.examples.graphics;
-
-import java.util.*;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * This tab draws an image consisting of gradients of two colors.
- * */
-public class GradientTab extends GraphicsTab {
-	
-	ToolBar toolBar;
-	ToolItem colorItem1, colorItem2;
-	Menu menu1, menu2;
-	GraphicsBackground colorGB1, colorGB2;
-	ArrayList resources;		// resources to be disposed when the dipose() method is invoked
-	
-
-public GradientTab(GraphicsExample example) {
-	super(example);
-	resources = new ArrayList();
-}
-
-/**
- * Dispose resources created by this tab.
- * */
-public void dispose() {
-	for (int i = 0; i < resources.size(); i++) {
-		Object obj = resources.get(i);
-		if (obj != null && obj instanceof Resource) 
-			((Resource) obj).dispose();
-	}
-	resources = new ArrayList();
-	
-	if (menu1 != null) {
-		menu1.dispose();
-		menu1 = null;
-	}
-	if (menu2 != null) {
-		menu2.dispose();
-		menu2 = null;
-	}
-}
-
-public String getCategory() {
-	return GraphicsExample.getResourceString("Gradient"); //$NON-NLS-1$
-}
-
-public String getText() {
-	return GraphicsExample.getResourceString("GradImage"); //$NON-NLS-1$
-}
-
-public String getDescription() {
-	return GraphicsExample.getResourceString("GradientImageDescription"); //$NON-NLS-1$
-}
-
-/* (non-Javadoc)
- * @see org.eclipse.swt.examples.graphics.GraphicsTab#createControlPanel(org.eclipse.swt.widgets.Composite)
- */
-public void createControlPanel(final Composite parent) {
-	final Display display = parent.getDisplay();
-	
-	toolBar = new ToolBar(parent, SWT.FLAT);
-	
-	ColorMenu colorMenu = new ColorMenu();
-
-	// menu for colorItem1
-	menu1 = colorMenu.createMenu(parent.getParent(), new ColorListener() {
-		public void setColor(GraphicsBackground gb) {
-			colorGB1 = gb;
-			colorItem1.setImage(gb.getThumbNail());
-			example.redraw();
-		}
-	});
-	
-	// initialize the background to the 5th item in the menu (blue)
-	colorGB1 = (GraphicsBackground)menu1.getItem(4).getData();
-	
-	// toolbar item for color1
-	colorItem1 = new ToolItem(toolBar, SWT.PUSH);
-	colorItem1.setText(GraphicsExample.getResourceString("GradientTabItem1"));
-	colorItem1.setImage(colorGB1.getThumbNail());
-	colorItem1.addListener(SWT.Selection, new Listener(){
-		public void handleEvent(Event event) {
-			final ToolItem toolItem = (ToolItem) event.widget;
-			final ToolBar  toolBar = toolItem.getParent();
-			Rectangle toolItemBounds = toolItem.getBounds();
-			Point point = toolBar.toDisplay(new Point(toolItemBounds.x, toolItemBounds.y));
-			menu1.setLocation(point.x, point.y + toolItemBounds.height);
-			menu1.setVisible(true);
-		}
-	});
-	
-	// menu for colorItem2
-	menu2 = colorMenu.createMenu(parent.getParent(), new ColorListener() {
-		public void setColor(GraphicsBackground gb) {
-			colorGB2 = gb;
-			colorItem2.setImage(gb.getThumbNail());
-			example.redraw();
-		}
-	});
-	
-	// initialize the background to the 3rd item in the menu (red)
-	colorGB2 = (GraphicsBackground)menu2.getItem(2).getData();
-	
-	// toolbar item for color2
-	colorItem2 = new ToolItem(toolBar, SWT.PUSH);
-	colorItem2.setText(GraphicsExample.getResourceString("GradientTabItem2"));
-	colorItem2.setImage(colorGB2.getThumbNail());
-	colorItem2.addListener(SWT.Selection, new Listener(){
-		public void handleEvent(Event event) {
-			final ToolItem toolItem = (ToolItem) event.widget;
-			final ToolBar  toolBar = toolItem.getParent();
-			Rectangle toolItemBounds = toolItem.getBounds();
-			Point point = toolBar.toDisplay(new Point(toolItemBounds.x, toolItemBounds.y));
-			menu2.setLocation(point.x, point.y + toolItemBounds.height);
-			menu2.setVisible(true);
-		}
-	});
-	
-	// toolbar item for swapping colors
-	ToolItem swapItem = new ToolItem(toolBar, SWT.PUSH);
-	swapItem.setText(GraphicsExample.getResourceString("SwapColors")); //$NON-NLS-1$
-	swapItem.setImage(example.loadImage(display, "swap.gif"));
-	swapItem.addListener(SWT.Selection, new Listener(){
-		public void handleEvent(Event event) {
-			GraphicsBackground tmp = colorGB1;
-			colorGB1 = colorGB2;
-			colorGB2 = tmp;
-			colorItem1.setImage(colorGB1.getThumbNail());
-			colorItem2.setImage(colorGB2.getThumbNail());
-			example.redraw();
-		}
-	});
-}
-
-/**
- * This method draws the gradient patterns that make up the image. The image
- * consists of 4 rows, each consisting of 4 gradient patterns (total of 16).
- */
-public void paint(GC gc, int width, int height) {
-	if (!example.checkAdvancedGraphics()) return;
-	Device device = gc.getDevice();
-	
-	Image image = createImage(device, colorGB1.getBgColor1(), colorGB2.getBgColor1(), width, height);
-	Pattern p = new Pattern(device, image);
-	gc.setBackgroundPattern(p);
-	gc.fillRectangle(0, 0, width, height);
-
-	p.dispose();
-	image.dispose();
-}
-
-
-/**
- * Creates and returns an image made up of gradient patterns. The image takes up
- * a quarter of the area of the total drawing surface.
- * 
- * @param device
- *            A Device
- * @param color1
- *            A Color
- * @param color2
- *            A Color
- * @param width
- *            Width of the drawing surface
- * @param height
- *            Height of the drawing surface
- */
-Image createImage(Device device, Color color1, Color color2, int width, int height) {
-	Image image = new Image(device, width/2, height/2);
-	GC gc = new GC(image);
-	Rectangle rect = image.getBounds();
-	
-	Pattern pattern1 = new Pattern(device, rect.x, rect.y, rect.width/2f, rect.height/2f, color1, color2);
-	gc.setBackgroundPattern(pattern1);	
-	Path path = new Path(device);
-	path.addRectangle(0, 0, width/4f, height/4f);
-	path.addRectangle(width/4f, height/4f, width/4f, height/4f);
-	gc.fillPath(path);
-	path.dispose();
-	
-	Pattern pattern2 = new Pattern(device, rect.width, 0, rect.width/2f, rect.height/2f, color1, color2);
-	gc.setBackgroundPattern(pattern2);
-	path = new Path(device);
-	path.addRectangle(width/4f, 0, width/4f, height/4f);
-	path.addRectangle(0, height/4f, width/4f, height/4f);
-	gc.fillPath(path);
-	path.dispose();	
-
-	gc.dispose();
-	pattern1.dispose();
-	pattern2.dispose();
-	return image;
-}
-
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/GraphicAntialiasTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/GraphicAntialiasTab.java
deleted file mode 100644
index 482f700..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/GraphicAntialiasTab.java
+++ /dev/null
@@ -1,131 +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.swt.examples.graphics;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * This tab demonstrates antialiasing for graphics. Antialiasing is used for
- * smoothing jagged edges in graphics. This tab allows the user to see the
- * effects of different antialiasing values.
- */
-public class GraphicAntialiasTab extends GraphicsTab {
-
-	Combo aliasCombo;
-	int[] aliasValues = { SWT.OFF, SWT.DEFAULT, SWT.ON };
-	
-	Button colorButton;
-	Menu menu;
-	GraphicsBackground ovalColorGB;
-
-	
-public GraphicAntialiasTab(GraphicsExample example) {
-	super(example);
-}
-
-public String getCategory() {
-	return GraphicsExample.getResourceString("Antialiasing"); //$NON-NLS-1$
-}
-
-public String getText() {
-	return GraphicsExample.getResourceString("Graphics"); //$NON-NLS-1$
-}
-
-public String getDescription() {
-	return GraphicsExample.getResourceString("AntialiasingGraphicsDesc"); //$NON-NLS-1$
-}
-
-public void dispose() {
-	if (menu != null) {
-		menu.dispose();
-		menu = null;
-	}
-}
-
-public void createControlPanel(Composite parent) {
-
-	Composite comp;
-	
-	// create drop down combo for antialiasing
-	comp = new Composite(parent, SWT.NONE);
-	comp.setLayout(new GridLayout(2, false));
-	new Label(comp, SWT.CENTER).setText(GraphicsExample
-			.getResourceString("Antialiasing")); //$NON-NLS-1$
-	aliasCombo = new Combo(comp, SWT.DROP_DOWN);
-	aliasCombo.add("OFF");
-	aliasCombo.add("DEFAULT");
-	aliasCombo.add("ON");
-	aliasCombo.select(0);
-	aliasCombo.addListener(SWT.Selection, new Listener() {
-		public void handleEvent(Event event) {
-				example.redraw();
-		}
-	});
-
-	ColorMenu cm = new ColorMenu();
-	cm.setColorItems(true);
-	menu = cm.createMenu(parent.getParent(), new ColorListener() {
-		public void setColor(GraphicsBackground gb) {
-			ovalColorGB = gb;
-			colorButton.setImage(gb.getThumbNail());
-			example.redraw();
-		}
-	});
-	
-	// create color button
-	comp = new Composite(parent, SWT.NONE);
-	comp.setLayout(new GridLayout());
-	
-    // initialize the background to the 5th item in the menu (blue)
-	ovalColorGB = (GraphicsBackground)menu.getItem(4).getData();
-	
-	// color button
-	colorButton = new Button(comp, SWT.PUSH);
-	colorButton.setText(GraphicsExample.getResourceString("Color")); //$NON-NLS-1$
-	colorButton.setImage(ovalColorGB.getThumbNail());
-	colorButton.addListener(SWT.Selection, new Listener() { 
-		public void handleEvent(Event event) {
-			final Button button = (Button) event.widget;
-			final Composite parent = button.getParent(); 
-			Rectangle bounds = button.getBounds();
-			Point point = parent.toDisplay(new Point(bounds.x, bounds.y));
-			menu.setLocation(point.x, point.y + bounds.height);
-			menu.setVisible(true);
-		}
-	});
-}
-
-/* (non-Javadoc)
- * @see org.eclipse.swt.examples.graphics.GraphicsTab#paint(org.eclipse.swt.graphics.GC, int, int)
- */
-public void paint(GC gc, int width, int height) {
-	if (!example.checkAdvancedGraphics()) return;
-	Device device = gc.getDevice();
-	
-	if (ovalColorGB != null && ovalColorGB.getBgColor1() != null)
-		gc.setBackground(ovalColorGB.getBgColor1());
-	
-	gc.setAntialias(aliasValues[aliasCombo.getSelectionIndex()]);
-
-	Path path = new Path(device);
-	float offsetX = 2*width/3f, offsetY = height/3f;
-	for(int i=0; i < 25; i++) {
-		path.addArc(offsetX-(50*i), offsetY-(25*i), 50+(100*i), 25+(50*i), 0, 360);
-	}
-	gc.fillPath(path);
-	path.dispose();
-}
-}
-
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/GraphicsBackground.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/GraphicsBackground.java
deleted file mode 100644
index f699fec..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/GraphicsBackground.java
+++ /dev/null
@@ -1,65 +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.swt.examples.graphics;
-
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * This class is used for storing data relevant to a background.
- */
-public class GraphicsBackground {
-	
-	private Image bgImage;
-	private Image thumbNail;
-	private Color bgColor1;
-	private Color bgColor2;
-	
-	public GraphicsBackground() {
-		bgImage = null;
-		thumbNail = null;
-		bgColor1 = null;
-		bgColor2 = null;
-	}
-
-	public Image getBgImage() {
-		return bgImage;
-	}
-
-	public void setBgImage(Image bgImage) {
-		this.bgImage = bgImage;
-	}
-
-	public Color getBgColor1() {
-		return bgColor1;
-	}
-
-	public void setBgColor1(Color bgColor1) {
-		this.bgColor1 = bgColor1;
-	}
-
-	public Color getBgColor2() {
-		return bgColor2;
-	}
-
-	public void setBgColor2(Color bgColor2) {
-		this.bgColor2 = bgColor2;
-	}
-
-	public Image getThumbNail() {
-		return thumbNail;
-	}
-
-	public void setThumbNail(Image thumbNail) {
-		this.thumbNail = thumbNail;
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/GraphicsExample.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/GraphicsExample.java
deleted file mode 100644
index 5a61878..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/GraphicsExample.java
+++ /dev/null
@@ -1,648 +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.swt.examples.graphics;
-
-import java.io.*;
-import java.util.*;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * This class is the main class of the graphics application. Various "tabs" are
- * created and made visible by this class.
- */
-public class GraphicsExample {
-		
-	Composite parent;
-	GraphicsTab[] tabs;				// tabs to be found in the application
-	GraphicsTab tab;				// the current tab
-	GraphicsBackground background;	// used to store information about the background
-	
-	ToolBar toolBar;				// toolbar that contains backItem and dbItem
-	Tree tabList;					// tree structure of tabs
-	Text tabDesc;					// multi-line text widget that displays a tab description
-	Sash hSash, vSash;
-	Canvas canvas;
-	Composite tabControlPanel;
-	ToolItem backItem, dbItem;		// background, double buffer items
-	Menu backMenu;					// background menu item
-	
-	ArrayList resources;			// stores resources that will be disposed
-	ArrayList tabs_in_order;		// stores GraphicsTabs in the order that they appear in the tree
-	boolean animate = true;			// whether animation should happen
-
-	static boolean advanceGraphics, advanceGraphicsInit;
-	
-	static final int MARGIN = 5;
-	static final int SASH_SPACING = 1;
-	static final int TIMER = 30;
-	static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle("examples_graphics"); //$NON-NLS-1$
-
-/*
- * Default constructor is needed so that example launcher can create an instance. 
- */
-public GraphicsExample() {
-	super();
-}
-
-public GraphicsExample(final Composite parent) {
-	this.parent = parent;
-	resources = new ArrayList();
-	createControls(parent);
-	setTab(tab);
-	startAnimationTimer();
-}
-
-boolean checkAdvancedGraphics() {
-	if (advanceGraphicsInit) return advanceGraphics;
-	advanceGraphicsInit = true;
-	Display display = parent.getDisplay();
-	try {
-		Path path = new Path(display);
-		path.dispose();
-	} catch (SWTException e) {
-		Shell shell = display.getActiveShell(), newShell = null;
-		if (shell == null) shell = newShell = new Shell(display);
-		MessageBox dialog = new MessageBox(shell, SWT.ICON_WARNING | SWT.OK);
-		dialog.setText(RESOURCE_BUNDLE.getString("Warning")); //$NON-NLS-1$
-		dialog.setMessage(RESOURCE_BUNDLE.getString("LibNotFound")); //$NON-NLS-1$
-		dialog.open();
-		if (newShell != null) newShell.dispose();
-		return false;
-	}
-	return advanceGraphics = true;
-}
-
-void createControls(final Composite parent) {
-	tabs = createTabs();
-	createToolBar(parent);
-	createTabList(parent);
-	hSash = new Sash(parent, SWT.HORIZONTAL);
-	createTabDesc(parent);	
-	vSash = new Sash(parent, SWT.VERTICAL);
-	createCanvas(parent);
-	createControlPanel(parent);
-	
-	FormData data;
-	FormLayout layout = new FormLayout();
-	parent.setLayout(layout);
-	
-	data = new FormData();
-	data.left = new FormAttachment(0, MARGIN);
-	data.top = new FormAttachment(0, MARGIN);
-	data.right = new FormAttachment(100, -MARGIN);
-	toolBar.setLayoutData(data);
-
-	data = new FormData();
-	data.left = new FormAttachment(0, MARGIN);
-	data.top = new FormAttachment(toolBar, MARGIN);
-	data.right = new FormAttachment(vSash, -SASH_SPACING);
-	data.bottom = new FormAttachment(hSash, -SASH_SPACING);
-	tabList.setLayoutData(data);
-
-	data = new FormData();
-	data.left = new FormAttachment(0, MARGIN);
-	int offset = parent.getBounds().height - tabDesc.computeSize(SWT.DEFAULT, tabDesc.getLineHeight() * 10).y;
-	data.top = new FormAttachment(null, offset);
-	data.right = new FormAttachment(vSash, -SASH_SPACING);
-	hSash.setLayoutData(data);
-
-	data = new FormData();
-	data.left = new FormAttachment(0, MARGIN);
-	data.top = new FormAttachment(hSash, SASH_SPACING);
-	data.right = new FormAttachment(vSash, -SASH_SPACING);
-	data.bottom = new FormAttachment(100, -MARGIN);
-	tabDesc.setLayoutData(data);
-	
-	data = new FormData();
-	data.left = new FormAttachment(null, tabList.computeSize(SWT.DEFAULT, SWT.DEFAULT).x + 50);
-	data.top = new FormAttachment(toolBar, MARGIN);
-	data.bottom = new FormAttachment(100, -MARGIN);
-	vSash.setLayoutData(data);
-
-	data = new FormData();
-	data.left = new FormAttachment(vSash, SASH_SPACING);
-	data.top = new FormAttachment(toolBar, MARGIN);
-	data.right = new FormAttachment(100, -MARGIN);
-	data.bottom = new FormAttachment(tabControlPanel);
-	canvas.setLayoutData(data);
-
-	data = new FormData();
-	data.left = new FormAttachment(vSash, SASH_SPACING);
-	data.right = new FormAttachment(100, -MARGIN);
-	data.bottom = new FormAttachment(100, -MARGIN);
-	tabControlPanel.setLayoutData(data);
-	
-	vSash.addListener(SWT.Selection, new Listener() {
-		public void handleEvent(Event event) {
-			Rectangle rect = hSash.getParent().getClientArea();
-			event.x = Math.min (Math.max (event.x, 60), rect.width - 60);
-			if (event.detail != SWT.DRAG) {
-				FormData data = (FormData)vSash.getLayoutData();
-				data.left.offset = event.x;
-				parent.layout(true);
-				animate = true;
-			} else {
-				animate = false;
-			}
-		}
-	});
-	hSash.addListener (SWT.Selection, new Listener () {
-		public void handleEvent (Event event) {
-			Rectangle rect = vSash.getParent().getClientArea();
-			event.y = Math.min (Math.max (event.y, tabList.getLocation().y + 60), rect.height - 60);
-			if (event.detail != SWT.DRAG) {
-				FormData data = (FormData)hSash.getLayoutData();
-				data.top.offset = event.y;
-				parent.layout(true);
-			}
-		}
-	});
-}
-
-void createCanvas(Composite parent) {
-	int style = SWT.NO_BACKGROUND;
-	if (dbItem.getSelection()) style |= SWT.DOUBLE_BUFFERED;
-	canvas = new Canvas(parent, style);
-	canvas.addListener(SWT.Paint, new Listener() {
-		public void handleEvent(Event event) {
-			GC gc = event.gc;
-			Rectangle rect = canvas.getClientArea();			
-			Device device = gc.getDevice();
-			Pattern pattern = null;
-			if (background.getBgColor1() != null) {
-				if (background.getBgColor2() != null) { // gradient
-					pattern = new Pattern(device, 0, 0, rect.width, 
-							rect.height,
-							background.getBgColor1(),
-							background.getBgColor2());
-					gc.setBackgroundPattern(pattern);
-				} else {	// solid color
-					gc.setBackground(background.getBgColor1());
-				}
-			} else if (background.getBgImage() != null) {		// image
-				pattern = new Pattern(device, background.getBgImage());
-				gc.setBackgroundPattern(pattern);
-			}
-			gc.fillRectangle(rect);
-			GraphicsTab tab = getTab();
-			if (tab != null) tab.paint(gc, rect.width, rect.height);
-			if (pattern != null) pattern.dispose();
-		}
-	});
-}
-
-void recreateCanvas() {
-	if (dbItem.getSelection() == ((canvas.getStyle() & SWT.DOUBLE_BUFFERED) != 0)) return;
-	Object data = canvas.getLayoutData();
-	if (canvas != null) canvas.dispose();
-	createCanvas(parent);
-	canvas.setLayoutData(data);
-	parent.layout(true, true);
-}
-
-/**
- * Creates the control panel 
- * @param parent
- */
-void createControlPanel(Composite parent) {
-	Group group;
-	tabControlPanel = group = new Group(parent, SWT.NONE);
-	group.setText(getResourceString("Settings")); //$NON-NLS-1$
-	tabControlPanel.setLayout(new RowLayout());
-}
-
-void createToolBar(final Composite parent) {
-	final Display display = parent.getDisplay();
-	
-	toolBar = new ToolBar(parent, SWT.FLAT);
-	
-	ToolItem  back = new ToolItem(toolBar, SWT.PUSH);
-	back.setText(getResourceString("Back")); //$NON-NLS-1$
-	back.setImage(loadImage(display, "back.gif")); //$NON-NLS-1$
-	
-	back.addListener(SWT.Selection, new Listener() {
-		public void handleEvent(Event event) {
-			int index = tabs_in_order.indexOf(tab) - 1;
-			if (index < 0)
-				index = tabs_in_order.size() - 1;
-			setTab((GraphicsTab)tabs_in_order.get(index));
-		}
-	});
-	
-	ToolItem  next = new ToolItem(toolBar, SWT.PUSH);
-	next.setText(getResourceString("Next")); //$NON-NLS-1$
-	next.setImage(loadImage(display, "next.gif")); //$NON-NLS-1$
-	next.addListener(SWT.Selection, new Listener() {
-		public void handleEvent(Event event) {
-			int index = (tabs_in_order.indexOf(tab) + 1)%tabs_in_order.size();
-			setTab((GraphicsTab)tabs_in_order.get(index));
-		}
-	});
-	
-	ColorMenu colorMenu = new ColorMenu();
-	
-	// setup items to be contained in the background menu
-	colorMenu.setColorItems(true);
-	colorMenu.setPatternItems(checkAdvancedGraphics());
-	colorMenu.setGradientItems(checkAdvancedGraphics());
-	
-	// create the background menu
-	backMenu = colorMenu.createMenu(parent, new ColorListener() {
-		public void setColor(GraphicsBackground gb) {
-			background = gb;
-			backItem.setImage(gb.getThumbNail());
-			if (canvas != null) canvas.redraw();
-		}
-	});
-	
-	// initialize the background to the first item in the menu
-	background = (GraphicsBackground)backMenu.getItem(0).getData();
-	
-	// background tool item
-	backItem = new ToolItem(toolBar, SWT.PUSH);
-	backItem.setText(getResourceString("Background")); //$NON-NLS-1$
-	backItem.setImage(background.getThumbNail());
-	backItem.addListener(SWT.Selection, new Listener() {
-		public void handleEvent(Event event) {
-			if (event.widget == backItem) {
-				final ToolItem toolItem = (ToolItem) event.widget;
-				final ToolBar  toolBar = toolItem.getParent();
-				Rectangle toolItemBounds = toolItem.getBounds();
-				Point point = toolBar.toDisplay(new Point(toolItemBounds.x, toolItemBounds.y));
-				backMenu.setLocation(point.x, point.y + toolItemBounds.height);
-				backMenu.setVisible(true);
-			}
-		}
-	});
-	
-	// double buffer tool item
-	dbItem = new ToolItem(toolBar, SWT.CHECK);
-	dbItem.setText(getResourceString("DoubleBuffer")); //$NON-NLS-1$
-	dbItem.setImage(loadImage(display, "db.gif")); //$NON-NLS-1$
-	dbItem.addListener(SWT.Selection, new Listener() {
-		public void handleEvent(Event event) {
-			setDoubleBuffered(dbItem.getSelection());
-		}
-	});
-}
-
-/**
- * Creates and returns a thumbnail image.
- * 
- * @param device
- * 			a device
- * @param name
- * 			filename of the image
- */
-static Image createThumbnail(Device device, String name) {
-	Image image = new Image(device, name);
-	Rectangle src = image.getBounds();
-	Image result = null;
-	if (src.width != 16 || src.height != 16) {
-		result = new Image(device, 16, 16);
-		GC gc = new GC(result);
-		Rectangle dest = result.getBounds();
-		gc.drawImage(image, src.x, src.y, src.width, src.height, dest.x, dest.y, dest.width, dest.height);
-		gc.dispose();				
-	}
-	if (result != null) {
-		image.dispose();
-		return result;
-	}
-	return image;
-}
-
-/**
- * Creates an image based on a gradient pattern made up of two colors.
- * 
- * @param device - The Device
- * @param color1 - The first color used to create the image
- * @param color2 - The second color used to create the image
- * 
- * */
-static Image createImage(Device device, Color color1, Color color2, int width, int height) {
-	Image image = new Image(device, width, height);
-	GC gc = new GC(image);
-	Rectangle rect = image.getBounds();
-	Pattern pattern = new Pattern(device, rect.x, rect.y, rect.width - 1,
-				rect.height - 1, color1, color2);
-	gc.setBackgroundPattern(pattern);
-	gc.fillRectangle(rect);
-	gc.drawRectangle(rect.x, rect.y, rect.width - 1, rect.height - 1);
-	gc.dispose();
-	pattern.dispose();
-	return image;
-}
-
-/**
- * Creates an image based on the color provided and returns it.
- * 
- * @param device - The Device
- * @param color - The color used to create the image
- * 
- * */
-static Image createImage(Device device, Color color) {
-	Image image = new Image(device, 16, 16);
-	GC gc = new GC(image);
-	gc.setBackground(color);
-	Rectangle rect = image.getBounds();
-	gc.fillRectangle(rect);
-	if (color.equals(device.getSystemColor(SWT.COLOR_BLACK))) {
-		gc.setForeground(device.getSystemColor(SWT.COLOR_WHITE));
-	}
-	gc.drawRectangle(rect.x, rect.y, rect.width - 1, rect.height - 1);
-	gc.dispose();
-	return image;
-}
-
-void createTabList(Composite parent) {
-	tabList = new Tree(parent, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
-	Arrays.sort(tabs, new Comparator() {
-		public int compare(Object tab0, Object tab1) {
-			return ((GraphicsTab)tab0).getText().compareTo(((GraphicsTab)tab1).getText());
-		}
-	});
-	HashSet set = new HashSet();
-	for (int i = 0; i < tabs.length; i++) {
-		GraphicsTab tab = tabs[i];
-		set.add(tab.getCategory());
-	}
-	String[] categories = new String[set.size()];
-	set.toArray(categories);
-	Arrays.sort(categories);
-	for (int i = 0; i < categories.length; i++) {
-		String text = categories[i];
-		TreeItem item = new TreeItem(tabList, SWT.NONE);
-		item.setText(text);
-	}
-	tabs_in_order = new ArrayList();
-	TreeItem[] items = tabList.getItems();
-	for (int i = 0; i < items.length; i++) {
-		TreeItem item = items[i];
-		for (int j = 0; j < tabs.length; j++) {
-			GraphicsTab tab = tabs[j];
-			if (item.getText().equals(tab.getCategory())) {
-				TreeItem item1 = new TreeItem(item, SWT.NONE);
-				item1.setText(tab.getText());
-				item1.setData(tab);
-				tabs_in_order.add(tab);
-			}
-		}
-	}
-	tabList.addListener(SWT.Selection, new Listener() {
-		public void handleEvent(Event event) {
-			TreeItem item = (TreeItem)event.item;
-			if (item != null) {
-				GraphicsTab gt = (GraphicsTab)item.getData();
-				if (gt == tab) return;
-				setTab((GraphicsTab)item.getData());
-			}
-		}
-	});
-}
-
-/**
- * Creates the multi-line text widget that will contain the tab description. 
- * */
-void createTabDesc(Composite parent) {
-	tabDesc = new Text(parent, SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL | SWT.WRAP | SWT.BORDER);
-	tabDesc.setEditable(false);
-	tabDesc.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
-}
-
-/**
- * Initializes the GraphicsTab instances that will be contained in GraphicsExample.
- * */
-GraphicsTab[] createTabs() {
-	return new GraphicsTab[] {
-		new LineTab(this),
-		new StarPolyTab(this),
-		tab = new IntroTab(this),
-		new BlackHoleTab(this),
-		new AlphaTab(this),
-		new BallTab(this),
-		new CountDownTab(this),
-		new CurvesSWTTab(this),
-		new CurvesTab(this),
-		new CustomFontTab(this),
-		new FontBounceTab(this),
-		new GradientTab(this),
-		new ImageTransformTab(this),
-		new ShapesTab(this),
-		new MazeTab(this),
-		new RGBTab(this),
-		new SpiralTab(this),
-		new CardsTab(this),
-		new LineCapTab(this),
-		new InterpolationTab(this),
-		new PathClippingTab(this),
-		new PathClippingAnimTab(this),
-		new LineStyleTab(this),
-		new LineJoinTab(this),
-		new RegionClippingTab(this),
-		new CustomAlphaTab(this),
-		new TextAntialiasTab(this),
-		new GraphicAntialiasTab(this),
-		new ImageFlipTab(this),
-		new ImageScaleTab(this),
-		new PathTab(this),
-	};
-}
-
-/**
- * Disposes all resources created by the receiver.
- */
-public void dispose() {
-	if (tabs != null) {
-		for (int i = 0; i < tabs.length; i++) {
-			GraphicsTab tab = tabs[i];
-			tab.dispose();
-		}
-	}
-	tabs = null;
-	if (resources != null) {
-		for (int i = 0; i < resources.size(); i++) {
-			if (resources.get(i) instanceof Resource) {
-				((Resource)resources.get(i)).dispose();
-			}
-		}
-	}
-	resources = null;
-	
-	if (backMenu != null) {
-		backMenu.dispose();
-		backMenu = null;
-	}
-}
-
-TreeItem findItemByData(TreeItem[] items, Object data) {
-	for (int i = 0; i < items.length; i++) {
-		TreeItem item = items[i];
-		if (item.getData() == data) return item;
-		item = findItemByData(item.getItems(), data);
-		if (item != null) return item;
-	}
-	return null;
-}
-
-/**
- * Gets the current tab.
- */
-public GraphicsTab getTab() {
-	return tab;
-}
-
-/**
- * Gets a string from the resource bundle.
- * We don't want to crash because of a missing String.
- * Returns the key if not found.
- */
-static String getResourceString(String key) {
-	try {
-		return RESOURCE_BUNDLE.getString(key);
-	} catch (MissingResourceException e) {
-		return key;
-	} catch (NullPointerException e) {
-		return "!" + key + "!"; //$NON-NLS-1$ //$NON-NLS-2$
-	}			
-}
-
-static Image loadImage (Device device, Class clazz, String string) {
-	InputStream stream = clazz.getResourceAsStream (string);
-	if (stream == null) return null;
-	Image image = null;
-	try {
-		image = new Image (device, stream);
-	} catch (SWTException ex) {
-	} finally {
-		try {
-			stream.close ();
-		} catch (IOException ex) {}
-	}
-	return image;
-}
-
-Image loadImage(Device device, String name) {
-	Image image = loadImage(device, GraphicsExample.class, name);
-	if (image != null) resources.add(image);
-	return image;
-}
-
-public Shell open(final Display display) {
-	Shell shell = new Shell(display);
-	shell.setText(getResourceString("GraphicsExample")); //$NON-NLS-1$
-	final GraphicsExample example = new GraphicsExample(shell);
-	shell.addListener(SWT.Close, new Listener() {
-		public void handleEvent(Event event) {
-			example.dispose();
-		}
-	});	
-	shell.open();
-	return shell;
-}
-
-/**
- * Redraws the current tab.
- */
-public void redraw() {
-	canvas.redraw();
-}
-
-/**
- * Sets wheter the canvas is double buffered or not.
- */
-public void setDoubleBuffered(boolean doubleBuffered) {
-	dbItem.setSelection(doubleBuffered);
-	recreateCanvas();
-}
-
-/**
- * Grabs input focus.
- */
-public void setFocus() {
-	tabList.setFocus();
-}
-
-/**
- * Sets the current tab.
- */
-public void setTab(GraphicsTab tab) {
-	Control[] children = tabControlPanel.getChildren();
-	for (int i = 0; i < children.length; i++) {
-		Control control = children[i];
-		control.dispose();
-	}
-	if (this.tab != null) this.tab.dispose();
-	this.tab = tab;
-	if (tab != null) {
-		setDoubleBuffered(tab.getDoubleBuffered());
-		tab.createControlPanel(tabControlPanel);
-		tabDesc.setText(tab.getDescription());
-	} else {
-		tabDesc.setText("");
-	}
-	FormData data = (FormData)tabControlPanel.getLayoutData();
-	children = tabControlPanel.getChildren();
-	if (children.length != 0) {
-		data.top = null;
-	} else {
-		data.top = new FormAttachment(100, -MARGIN);
-	}
-	parent.layout(true, true);
-	if (tab != null) {
-		TreeItem[] selection = tabList.getSelection();
-		if (selection.length == 0 || selection[0].getData() != tab) {
-			TreeItem item = findItemByData(tabList.getItems(), tab);
-			if (item != null) tabList.setSelection(new TreeItem[]{item});
-		}
-	}
-	canvas.redraw();
-}
-
-/**
- * Starts the animation if the animate flag is set.
- */
-void startAnimationTimer() {
-	final Display display = parent.getDisplay();
-	display.timerExec(TIMER, new Runnable() {
-		public void run() {
-			if (canvas.isDisposed()) return;
-			int timeout = TIMER;
-			GraphicsTab tab = getTab();
-			if (tab instanceof AnimatedGraphicsTab) {
-				AnimatedGraphicsTab animTab = (AnimatedGraphicsTab) tab;	
-				if (animate && animTab.getAnimation()) {
-					Rectangle rect = canvas.getClientArea();
-					animTab.next(rect.width, rect.height);
-					canvas.redraw();
-					canvas.update();
-				}
-				timeout =  animTab.getAnimationTime();
-			}
-			display.timerExec(timeout, this);
-		}
-	});
-}
-
-public static void main(String[] args) {
-	Display display = new Display();
-	Shell shell = new GraphicsExample().open(display);
-	while (shell != null && !shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/GraphicsTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/GraphicsTab.java
deleted file mode 100644
index 422dadf..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/GraphicsTab.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.swt.examples.graphics;
-
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * This class is the one used for creating a graphic. Override the paint()
- * method to create the drawing. To create an animated graphic, use the
- * AnimatedGraphicsTab class.
- */
-public abstract class GraphicsTab {
-	
-GraphicsExample example;
-
-public GraphicsTab(GraphicsExample example) {
-	this.example = example;
-}
-
-/** 
- * Creates the widgets used to control the drawing.
- */
-public void createControlPanel(Composite parent) {
-}
-
-/** 
- * Disposes resources created by the receiver.
- */
-public void dispose() {
-}
-
-/** 
- * Answer the receiver's name.
- */
-public abstract String getText();
-
-/** 
- * Answer the receiver's category.
- */
-public String getCategory() {
-	return GraphicsExample.getResourceString("Misc"); //$NON-NLS-1$
-}
-
-/**
- *  Answer the receiver's description.
- * */
-public String getDescription() {
-	return "";
-}
-
-/**
- *  Answer whether the receiver's drawing should be double bufferer.
- */
-public boolean getDoubleBuffered() {
-	return false;
-}
-
-/** 
- * Paint the receiver into the specified GC. 
- */
-public void paint(GC gc, int width, int height) {
-}
-
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ImageFlipTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ImageFlipTab.java
deleted file mode 100644
index ff9579b..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ImageFlipTab.java
+++ /dev/null
@@ -1,111 +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.swt.examples.graphics;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-
-/**
- * This tab demonstrates how an image can be flipped in various fashions. 
- */
-public class ImageFlipTab extends GraphicsTab {
-
-public ImageFlipTab(GraphicsExample example) {
-	super(example);
-}
-
-public String getCategory() {
-	return GraphicsExample.getResourceString("Image"); //$NON-NLS-1$
-}
-
-public String getText() {
-	return GraphicsExample.getResourceString("Flip"); //$NON-NLS-1$
-}
-
-public String getDescription() {
-	return GraphicsExample.getResourceString("FlipDescription"); //$NON-NLS-1$
-}
-
-public void paint(GC gc, int width, int height) {
-	if (!example.checkAdvancedGraphics()) return;
-	Device device = gc.getDevice();
-	
-	Image image = GraphicsExample.loadImage(device, GraphicsExample.class, "houses.png");
-	Rectangle bounds = image.getBounds();
-	
-	// top
-	Transform transform = new Transform(device);
-	transform.translate((width-bounds.width)/2, (height-bounds.height)/2);
-	transform.scale(1, -1);
-	gc.setTransform(transform);
-		
-	// draw the original image
-	gc.drawImage(image, 0, 0);
-	
-	transform.dispose();
-	
-	// bottom
-	transform = new Transform(device);
-	transform.translate((width-bounds.width)/2, 2*bounds.height + (height-bounds.height)/2);
-	transform.scale(1, -1);
-	gc.setTransform(transform);
-	
-	// draw the original image
-	gc.drawImage(image, 0, 0);
-	
-	transform.dispose();
-	
-	// left
-	transform = new Transform(device);
-	transform.translate((width-bounds.width)/2, (height-bounds.height)/2);
-	transform.scale(-1, 1);
-	gc.setTransform(transform);
-	
-	// draw the original image
-	gc.drawImage(image, 0, 0);
-	
-	transform.dispose();
-	
-	// right
-	transform = new Transform(device);
-	transform.translate(2*bounds.width + (width-bounds.width)/2, (height-bounds.height)/2);
-	transform.scale(-1, 1);
-	gc.setTransform(transform);
-	
-	// draw the original image
-	gc.drawImage(image, 0, 0);
-	
-	transform.dispose();
-	
-	gc.setTransform(null);
-	gc.drawImage(image, (width-bounds.width)/2, (height-bounds.height)/2);
-	image.dispose();
-}
-
-/**
- * Returns the name of a valid font for the host platform.
- */
-static String getPlatformFont() {
-	if(SWT.getPlatform() == "win32") {
-		return "Arial";	
-	} else if (SWT.getPlatform() == "motif") {
-		return "Helvetica";		
-	} else if (SWT.getPlatform() == "gtk") {
-		return "Baekmuk Batang";		
-	} else if (SWT.getPlatform() == "carbon") {
-		return "Arial";
-	} else { // photon, etc ...
-		return "Verdana";
-	}
-}
-}
-
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ImageScaleTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ImageScaleTab.java
deleted file mode 100644
index 545f8cf..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ImageScaleTab.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.swt.examples.graphics;
-
-import org.eclipse.swt.graphics.*;
-
-/**
- * This tab demonstrates how an image can be scaled. 
- */
-public class ImageScaleTab extends GraphicsTab {
-
-public ImageScaleTab(GraphicsExample example) {
-	super(example);
-}
-
-public String getCategory() {
-	return GraphicsExample.getResourceString("Image"); //$NON-NLS-1$
-}
-
-public String getText() {
-	return GraphicsExample.getResourceString("Scale"); //$NON-NLS-1$
-}
-
-public String getDescription() {
-	return GraphicsExample.getResourceString("ScaleDescription"); //$NON-NLS-1$
-}
-
-public void paint(GC gc, int width, int height) {
-	Device device = gc.getDevice();
-	Image image = GraphicsExample.loadImage(device, GraphicsExample.class, "houses.png");
-	
-	Rectangle bounds = image.getBounds();
-	Rectangle canvasBounds = example.canvas.getBounds();
-	gc.drawImage(image, 0, 0, bounds.width, bounds.height, 0, 0, canvasBounds.width, canvasBounds.height);
-	
-	image.dispose();
-}
-}
-
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ImageTransformTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ImageTransformTab.java
deleted file mode 100644
index f19774e..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ImageTransformTab.java
+++ /dev/null
@@ -1,153 +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.swt.examples.graphics;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * This tab demonstrates transformations, such as scaling, rotation, and
- * invert.  It allows the user to specify values for scaling and rotation.
- */
-public class ImageTransformTab extends GraphicsTab {
-
-	private Spinner rotateSpinner, scaleSpinnerX, scaleSpinnerY;
-	private Button invertButton;
-
-/**
- * Constructor
- * @param example A GraphicsExample
- */
-public ImageTransformTab(GraphicsExample example) {
-	super(example);
-}
-
-public String getCategory() {
-	return GraphicsExample.getResourceString("Transform"); //$NON-NLS-1$
-}
-
-public String getText() {
-	return GraphicsExample.getResourceString("Image"); //$NON-NLS-1$
-}
-
-public String getDescription() {
-	return GraphicsExample.getResourceString("TransformImgDescription"); //$NON-NLS-1$
-}
-
-/**
- * This method creates the controls specific to the tab. The call to the
- * createControlPanel method in the super class create the controls that are
- * defined in the super class.
- * 
- * @param parent The parent composite 
- */
-public void createControlPanel(Composite parent) {
-	
-	Composite comp;
-	GridLayout gridLayout = new GridLayout(2, false);
-	
-	// create spinner for the rotation angle
-	comp = new Composite(parent, SWT.NONE);
-	comp.setLayout(gridLayout);
- 
-	new Label(comp, SWT.CENTER).setText(GraphicsExample.getResourceString("Rotate")); //$NON-NLS-1$
-	rotateSpinner = new Spinner(comp, SWT.BORDER | SWT.WRAP);
-	rotateSpinner.setSelection(0);
-	rotateSpinner.setMinimum(0);
-	rotateSpinner.setMaximum(360);
-	rotateSpinner.setIncrement(10);
-	rotateSpinner.addListener(SWT.Selection, new Listener() {
-		public void handleEvent(Event event) {	
-				example.redraw();
-		}
-	});
-	
-	// create a slider for scaling along the x axis
-	comp = new Composite(parent, SWT.NONE);
-	comp.setLayout(gridLayout);
-	
-	new Label(comp, SWT.CENTER).setText(GraphicsExample.getResourceString("xscale")); //$NON-NLS-1$
-	scaleSpinnerX = new Spinner(comp, SWT.BORDER | SWT.WRAP);
-	scaleSpinnerX.setDigits(2);
-	scaleSpinnerX.setMinimum(1);
-	scaleSpinnerX.setMaximum(500);
-	scaleSpinnerX.setSelection(75);
-	scaleSpinnerX.addListener(SWT.Selection, new Listener() {
-		public void handleEvent(Event event) {	
-				example.redraw();
-		}
-	});
-	
-	// create a slider for scaling along the y axis
-	comp = new Composite(parent, SWT.NONE);
-	comp.setLayout(gridLayout);
-
-	new Label(comp, SWT.CENTER).setText(GraphicsExample.getResourceString("yscale")); //$NON-NLS-1$
-	scaleSpinnerY = new Spinner(comp, SWT.BORDER | SWT.WRAP);
-	scaleSpinnerY.setDigits(2);
-	scaleSpinnerY.setMinimum(1);
-	scaleSpinnerY.setMaximum(500);
-	scaleSpinnerY.setSelection(75);
-	scaleSpinnerY.addListener(SWT.Selection, new Listener() {
-		public void handleEvent(Event event) {	
-				example.redraw();
-		}
-	});
-	
-	// create a button for "invert"
-	comp = new Composite(parent, SWT.NONE);
-	comp.setLayout(new GridLayout());
-	invertButton = new Button(comp, SWT.TOGGLE);
-	invertButton.setText(GraphicsExample.getResourceString("Invert")); //$NON-NLS-1$
-	invertButton.addListener(SWT.Selection, new Listener() {
-		public void handleEvent(Event event) {	
-				example.redraw();
-		}
-	});
-}
-
-/* (non-Javadoc)
- * @see org.eclipse.swt.examples.graphics.GraphicsTab#paint(org.eclipse.swt.graphics.GC, int, int)
- */
-public void paint(GC gc, int width, int height) {
-	if (!example.checkAdvancedGraphics()) return;
-	Device device = gc.getDevice();
-
-	Image image = GraphicsExample.loadImage(device, GraphicsExample.class, "ace_club.jpg"); 
-
-	Transform transform = new Transform(device);
-	
-	// scale image
-	transform.scale(scaleSpinnerX.getSelection()/100f, scaleSpinnerY.getSelection()/100f);
-	
-	// rotate on center of image
-	Rectangle rect = image.getBounds();
-	transform.translate(rect.width/2, rect.height/2);
-	transform.rotate(rotateSpinner.getSelection());
-	transform.translate(-rect.width/2, -rect.height/2);
-	
-	if(invertButton.getSelection()){
-		transform.invert();
-	}
-	
-	gc.setTransform(transform);
-	
-	gc.drawImage(image, 0, 0);
-	gc.drawRoundRectangle(0, 0, image.getBounds().width, 
-								image.getBounds().height, 22, 22);
-	transform.dispose();
-	image.dispose();
-}
-
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/InterpolationTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/InterpolationTab.java
deleted file mode 100644
index d9eef86..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/InterpolationTab.java
+++ /dev/null
@@ -1,196 +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.swt.examples.graphics;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * This tab shows the effects of applying various interpolation algorithms to
- * images that have been stretched or shrunk.
- */
-public class InterpolationTab extends GraphicsTab {
-	
-	Combo imageCb;	// combo for selecting images
-
-public InterpolationTab(GraphicsExample example) {
-	super(example);
-}
-
-public String getCategory() {
-	return GraphicsExample.getResourceString("Image"); //$NON-NLS-1$
-}
-
-public String getText() {
-	return GraphicsExample.getResourceString("Interpolation"); //$NON-NLS-1$
-}
-
-public String getDescription() {
-	return GraphicsExample.getResourceString("ImageInterpolationDesc"); //$NON-NLS-1$
-}
-
-public void createControlPanel(Composite parent) {
-	
-	Composite comp;
-	GridLayout gridLayout = new GridLayout(2, false);
-	
-	// create drop down combo 
-	comp = new Composite(parent, SWT.NONE);
-	comp.setLayout(gridLayout);
-	new Label(comp, SWT.CENTER).setText(GraphicsExample
-				.getResourceString("Image")); //$NON-NLS-1$
-	imageCb = new Combo(comp, SWT.DROP_DOWN);
-	imageCb.add(GraphicsExample.getResourceString("House")); //$NON-NLS-1$
-	imageCb.add(GraphicsExample.getResourceString("Question")); //$NON-NLS-1$
-	imageCb.add(GraphicsExample.getResourceString("Task")); //$NON-NLS-1$
-	imageCb.add(GraphicsExample.getResourceString("Font")); //$NON-NLS-1$
-	imageCb.add(GraphicsExample.getResourceString("Cube")); //$NON-NLS-1$
-	imageCb.add(GraphicsExample.getResourceString("SWT")); //$NON-NLS-1$
-	imageCb.add(GraphicsExample.getResourceString("Ovals")); //$NON-NLS-1$
-	imageCb.select(0);
-	imageCb.addListener(SWT.Selection, new Listener() {
-		public void handleEvent(Event event) {
-				example.redraw();
-		}
-	});
-}
-
-public void paint(GC gc, int width, int height) {
-	if (!example.checkAdvancedGraphics()) return;
-	Device device = gc.getDevice();
-
-	float scaleX = 10f;
-	float scaleY = 10f;
-	Image image = null;
-	switch (imageCb.getSelectionIndex()) {
-	
-	case 0:
-		image = GraphicsExample.loadImage(device, GraphicsExample.class, "home_nav.gif");
-		break;
-	case 1:
-		image = GraphicsExample.loadImage(device, GraphicsExample.class, "help.gif");
-		break;
-	case 2:
-		image = GraphicsExample.loadImage(device, GraphicsExample.class, "task.gif");
-		break;
-	case 3:
-		image = GraphicsExample.loadImage(device, GraphicsExample.class, "font.gif");
-		break;
-	case 4:
-		image = GraphicsExample.loadImage(device, GraphicsExample.class, "cube.png");
-		scaleX = 0.75f;
-		scaleY = 0.5f;
-		break;
-	case 5:
-		image = GraphicsExample.loadImage(device, GraphicsExample.class, "swt.png");
-		scaleX = 0.4f;
-		scaleY = 0.8f;
-		break;
-	case 6:
-		image = GraphicsExample.loadImage(device, GraphicsExample.class, "ovals.png");
-		scaleX = 1.1f;
-		scaleY = 0.5f;
-		break;
-	}
-	
-	Rectangle bounds = image.getBounds();
-	
-	// draw the original image
-	gc.drawImage(image, (width-bounds.width)/2, 20);	
-	
-	Font font = new Font(device, getPlatformFont(), 20, SWT.NORMAL);
-	gc.setFont(font);
-	
-	// write some text below the original image
-	String text = GraphicsExample.getResourceString("OriginalImg"); //$NON-NLS-1$
-	Point size = gc.stringExtent(text);	
-	gc.drawString(text, (width-size.x)/2, 25 + bounds.height, true);
-	
-	Transform transform = new Transform(device);
-	transform.translate((width - (bounds.width * scaleX + 10) * 4) / 2, 25 + bounds.height + size.y +
-				(height - (25 + bounds.height + size.y + bounds.height*scaleY)) / 2);
-	transform.scale(scaleX, scaleY);
-
-	// --- draw strings ---
-	float[] point = new float[2];
-	text = GraphicsExample.getResourceString("None"); //$NON-NLS-1$
-	size = gc.stringExtent(text);	
-	point[0] = (scaleX*bounds.width + 5 - size.x)/(2*scaleX);
-	point[1] = bounds.height;
-	transform.transform(point);
-	gc.drawString(text, (int)point[0], (int)point[1], true);
-	
-	text = GraphicsExample.getResourceString("Low"); //$NON-NLS-1$
-	size = gc.stringExtent(text);
-	point[0] = (scaleX*bounds.width + 5 - size.x)/(2*scaleX) + bounds.width;
-	point[1] = bounds.height;
-	transform.transform(point);
-	gc.drawString(text, (int)point[0], (int)point[1], true);
-	
-	text = GraphicsExample.getResourceString("Default"); //$NON-NLS-1$
-	size = gc.stringExtent(text);
-	point[0] = (scaleX*bounds.width + 5 - size.x)/(2*scaleX) + 2*bounds.width;
-	point[1] = bounds.height;
-	transform.transform(point);
-	gc.drawString(text, (int)point[0], (int)point[1], true);
-	
-	text = GraphicsExample.getResourceString("High"); //$NON-NLS-1$
-	size = gc.stringExtent(text);
-	point[0] = (scaleX*bounds.width + 5 - size.x)/(2*scaleX) + 3*bounds.width;
-	point[1] = bounds.height;
-	transform.transform(point);
-	gc.drawString(text, (int)point[0], (int)point[1], true);
-
-	gc.setTransform(transform);
-	transform.dispose();
-
-	// --- draw images ---
-	
-	// no interpolation
-	gc.setInterpolation(SWT.NONE);
-	gc.drawImage(image, 0, 0);
-	
-	// low interpolation
-	gc.setInterpolation(SWT.LOW);
-	gc.drawImage(image, bounds.width, 0);
-
-	// default interpolation
-	gc.setInterpolation(SWT.DEFAULT);
-	gc.drawImage(image, 2*bounds.width, 0);
-	
-	// high interpolation
-	gc.setInterpolation(SWT.HIGH);
-	gc.drawImage(image, 3*bounds.width, 0);
-
-	font.dispose();
-	if (image != null) image.dispose();
-}
-
-/**
- * Returns the name of a valid font for the host platform.
- */
-static String getPlatformFont() {
-	if(SWT.getPlatform() == "win32") {
-		return "Arial";	
-	} else if (SWT.getPlatform() == "motif") {
-		return "Helvetica";		
-	} else if (SWT.getPlatform() == "gtk") {
-		return "Baekmuk Batang";		
-	} else if (SWT.getPlatform() == "carbon") {
-		return "Arial";
-	} else { // photon, etc ...
-		return "Verdana";
-	}
-}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/IntroTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/IntroTab.java
deleted file mode 100644
index 9316eff..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/IntroTab.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.swt.examples.graphics;
-
-import java.util.*;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-
-public class IntroTab extends AnimatedGraphicsTab {
-	
-	Font font;
-	Image image;
-	Random random = new Random();
-	float x, y;
-    float incX = 10.0f;
-	float incY = 5.0f;
-	int textWidth, textHeight;
-	String text = GraphicsExample.getResourceString("SWT");
-	
-public IntroTab(GraphicsExample example) {
-	super(example);
-}
-
-public void dispose() {
-	if (image != null) image.dispose();
-	image = null;
-	if (font != null) font.dispose();
-	font = null;
-}
-
-public String getCategory() {
-	return GraphicsExample.getResourceString("Introduction"); //$NON-NLS-1$
-}
-
-public String getText() {
-	return GraphicsExample.getResourceString("SWT"); //$NON-NLS-1$
-}
-
-public String getDescription() {
-	return GraphicsExample.getResourceString("IntroductionDescription"); //$NON-NLS-1$
-}
-
-public void next(int width, int height) {
-    x += incX;
-    y += incY;
-	float random = (float)Math.random(); 
-    if (x + textWidth > width) {
-        x = width - textWidth;
-        incX = random * -width / 16 - 1;
-    }
-    if (x < 0) {
-        x = 0;
-        incX = random * width / 16 + 1;
-    }
-    if (y + textHeight > height) {
-        y = (height - textHeight)- 2;
-        incY = random * -height / 16 - 1;
-    }
-    if (y < 0) {
-        y = 0;
-        incY = random * height / 16 + 1;
-    }
-}
-
-public void paint(GC gc, int width, int height) {
-	if (!example.checkAdvancedGraphics()) return;
-	Device device = gc.getDevice();
-	if (image == null) {
-		image = example.loadImage(device, "irmaos.jpg");
-		Rectangle rect = image.getBounds();
-		FontData fd = device.getSystemFont().getFontData()[0];
-		font = new Font(device, fd.getName(), rect.height / 4, SWT.BOLD);
-		gc.setFont(font);
-		Point size = gc.stringExtent(text);
-		textWidth = size.x;
-		textHeight = size.y;
-	}
-	Path path = new Path(device);
-	path.addString(text, x, y, font);
-	gc.setClipping(path);
-	Rectangle rect = image.getBounds();
-	gc.drawImage(image, 0, 0, rect.width, rect.height, 0, 0, width, height);
-	gc.setClipping((Rectangle)null);
-	gc.setForeground(device.getSystemColor(SWT.COLOR_BLUE));
-	gc.drawPath(path);
-	path.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/LineCapTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/LineCapTab.java
deleted file mode 100644
index e28ffa3..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/LineCapTab.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.swt.examples.graphics;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * This tab demonstrates various line caps applicable to a line.
- */
-public class LineCapTab extends GraphicsTab {
-
-	Button colorButton;
-	GraphicsBackground foreground;
-	Menu menu;
-
-public LineCapTab(GraphicsExample example) {
-	super(example);
-}
-
-public String getCategory() {
-	return GraphicsExample.getResourceString("Lines"); //$NON-NLS-1$
-}
-
-public String getText() {
-	return GraphicsExample.getResourceString("LineCap"); //$NON-NLS-1$
-}
-
-public String getDescription() {
-	return GraphicsExample.getResourceString("LineCapDescription"); //$NON-NLS-1$
-}
-
-public void dispose() {
-	if (menu != null) {
-		menu.dispose();
-		menu = null;
-	}
-}
-
-public void createControlPanel(Composite parent) {
-	
-	Composite comp;
-		
-	// create color button
-	comp = new Composite(parent, SWT.NONE);
-	comp.setLayout(new GridLayout());
-	
-	ColorMenu cm = new ColorMenu();
-	cm.setPatternItems(example.checkAdvancedGraphics());
-	menu = cm.createMenu(parent.getParent(), new ColorListener() {
-		public void setColor(GraphicsBackground gb) {
-			foreground = gb;		
-			colorButton.setImage(gb.getThumbNail());
-			example.redraw();
-		}
-	});
-
-	// initialize the foreground to the 3rd item in the menu (red)
-	foreground = (GraphicsBackground)menu.getItem(2).getData();
-	
-	// color button
-	colorButton = new Button(comp, SWT.PUSH);
-	colorButton.setText(GraphicsExample
-			.getResourceString("Color")); //$NON-NLS-1$
-	colorButton.setImage(foreground.getThumbNail());
-	colorButton.addListener(SWT.Selection, new Listener() { 
-		public void handleEvent(Event event) {
-			final Button button = (Button) event.widget;
-			final Composite parent = button.getParent(); 
-			Rectangle bounds = button.getBounds();
-			Point point = parent.toDisplay(new Point(bounds.x, bounds.y));
-			menu.setLocation(point.x, point.y + bounds.height);
-			menu.setVisible(true);
-		}
-	});
-}
-
-public void paint(GC gc, int width, int height) {
-	Device device = gc.getDevice();
-	
-	// draw side lines
-	gc.setLineWidth(1);
-	gc.setLineStyle(SWT.LINE_DOT);
-	gc.setForeground(device.getSystemColor(SWT.COLOR_BLACK));
-	gc.drawLine(3*width/16, height/6, 3*width/16, 5*height/6);
-	gc.drawLine(13*width/16, height/6, 13*width/16, 5*height/6);
-	gc.setLineStyle(SWT.LINE_SOLID);
-	
-	// draw labels
-	Font font = new Font(device, getPlatformFont(), 20, SWT.NORMAL);
-	gc.setFont(font);
-
-	String text = GraphicsExample.getResourceString("Flat"); //$NON-NLS-1$
-	Point size = gc.stringExtent(text);
-	gc.drawString(text, (width-size.x)/2, 3*height/12, true);
-	text = GraphicsExample.getResourceString("Square"); //$NON-NLS-1$
-	size = gc.stringExtent(text);	
-	gc.drawString(text, (width-size.x)/2, 5*height/12, true);
-	text = GraphicsExample.getResourceString("Round"); //$NON-NLS-1$
-	size = gc.stringExtent(text);
-	gc.drawString(text, (width-size.x)/2, 7*height/12, true);
-	font.dispose();
-
-	Pattern pattern = null;
-	if (foreground.getBgColor1() != null) {
-		gc.setForeground(foreground.getBgColor1());
-	} else if (foreground.getBgImage() != null) {
-		pattern = new Pattern(device, foreground.getBgImage());
-		gc.setForegroundPattern(pattern);
-	}
-	
-	// draw lines with caps
-	gc.setLineWidth(20);
-	gc.setLineCap(SWT.CAP_FLAT);
-	gc.drawLine(3*width/16, 2*height/6, 13*width/16, 2*height/6);
-	gc.setLineCap(SWT.CAP_SQUARE);
-	gc.drawLine(3*width/16, 3*height/6, 13*width/16, 3*height/6);
-	gc.setLineCap(SWT.CAP_ROUND);
-	gc.drawLine(3*width/16, 4*height/6, 13*width/16, 4*height/6);
-	
-	if (pattern != null) pattern.dispose();	
-}
-
-/**
- * Returns the name of a valid font for the resident platform.
- */
-static String getPlatformFont() {
-	if(SWT.getPlatform() == "win32") {
-		return "Arial";	
-	} else if (SWT.getPlatform() == "motif") {
-		return "Helvetica";		
-	} else if (SWT.getPlatform() == "gtk") {
-		return "Baekmuk Batang";		
-	} else if (SWT.getPlatform() == "carbon") {
-		return "Arial";
-	} else { // photon, etc ...
-		return "Verdana";
-	}
-}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/LineJoinTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/LineJoinTab.java
deleted file mode 100644
index 06dc8cf..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/LineJoinTab.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.swt.examples.graphics;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * This tab demonstrates various line joins. It allows a user to choose from
- * bevel, miter and round.
- */
-public class LineJoinTab extends GraphicsTab {
-	
-	private Combo joinCb;
-	private Button colorButton;
-	private GraphicsBackground shapeColor;
-	private Menu menu;
-	private int [] joinValues = new int [] {SWT.JOIN_BEVEL, SWT.JOIN_MITER, SWT.JOIN_ROUND};
-
-public LineJoinTab(GraphicsExample example) {
-	super(example);
-}
-
-public String getCategory() {
-	return GraphicsExample.getResourceString("Lines"); //$NON-NLS-1$
-}
-
-public String getText() {
-	return GraphicsExample.getResourceString("LineJoin"); //$NON-NLS-1$
-}
-
-public String getDescription() {
-	return GraphicsExample.getResourceString("LineJoinDescription"); //$NON-NLS-1$
-}
-
-public void dispose() {
-	if (menu != null) {
-		menu.dispose();
-		menu = null;
-	}
-}
-
-public void createControlPanel(Composite parent) {
-	
-	// create drop down combo for choosing clipping
-	Composite comp = new Composite(parent, SWT.NONE);
-	comp.setLayout(new GridLayout(2, false));
-	
-	new Label(comp, SWT.CENTER).setText(GraphicsExample
-				.getResourceString("LineJoin")); //$NON-NLS-1$
-	joinCb = new Combo(comp, SWT.DROP_DOWN);
-	joinCb.add(GraphicsExample
-			.getResourceString("bevel")); //$NON-NLS-1$
-	joinCb.add(GraphicsExample
-			.getResourceString("miter")); //$NON-NLS-1$
-	joinCb.add(GraphicsExample
-			.getResourceString("round")); //$NON-NLS-1$
-	joinCb.select(1);
-	joinCb.addListener(SWT.Selection, new Listener() {
-		public void handleEvent(Event event) {
-				example.redraw();
-		}
-	});
-	
-	// color menu
-	ColorMenu cm = new ColorMenu();
-	cm.setPatternItems(example.checkAdvancedGraphics());
-	menu = cm.createMenu(parent.getParent(), new ColorListener() {
-		public void setColor(GraphicsBackground gb) {
-			shapeColor = gb;		
-			colorButton.setImage(gb.getThumbNail());
-			example.redraw();
-		}
-	});
-
-	// initialize the shape color to the 4th item in the menu (green)
-	shapeColor =(GraphicsBackground)menu.getItem(3).getData();
-	
-	// color button
-	comp = new Composite(parent, SWT.NONE);
-	comp.setLayout(new GridLayout(2, false));
-	
-	colorButton = new Button(comp, SWT.PUSH);
-	colorButton.setText(GraphicsExample
-			.getResourceString("Color")); //$NON-NLS-1$
-	colorButton.setImage(shapeColor.getThumbNail());
-	colorButton.addListener(SWT.Selection, new Listener() { 
-		public void handleEvent(Event event) {
-			final Button button = (Button) event.widget;
-			final Composite parent = button.getParent(); 
-			Rectangle bounds = button.getBounds();
-			Point point = parent.toDisplay(new Point(bounds.x, bounds.y));
-			menu.setLocation(point.x, point.y + bounds.height);
-			menu.setVisible(true);
-		}
-	});
-
-}
-
-public void paint(GC gc, int width, int height) {
-	if (!example.checkAdvancedGraphics()) return;
-	Device device = gc.getDevice();
-
-	gc.setLineWidth(20);
-	gc.setLineJoin(joinValues[joinCb.getSelectionIndex()]);
-	
-	// set the foreground color or pattern
-	Pattern pattern = null;
-	if (shapeColor.getBgColor1() != null) {
-		gc.setForeground(shapeColor.getBgColor1());
-	} else if (shapeColor.getBgImage() != null) {
-		pattern = new Pattern(device, shapeColor.getBgImage());
-		gc.setForegroundPattern(pattern);
-	}
-	
-	// draw the shape
-	Path path = new Path(device);
-	path.moveTo(width/2, 25);
-	path.lineTo(2*width/3, height/3);
-	path.lineTo(width-25, height/2);
-	path.lineTo(2*width/3, 2*height/3);
-	path.lineTo(width/2, height-25);
-	path.lineTo(width/3, 2*height/3);
-	path.lineTo(25, height/2);
-	path.lineTo(width/3, height/3);
-	path.lineTo(width/2, 25);
-	path.close();
-	gc.drawPath(path);
-	path.dispose();
-	
-	if (pattern != null) pattern.dispose();
-}
-
-}
-
-
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/LineStyleTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/LineStyleTab.java
deleted file mode 100644
index 698c7a2..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/LineStyleTab.java
+++ /dev/null
@@ -1,172 +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.swt.examples.graphics;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * This tab demonstrates line styles applicable to a line.  It shows the use of the
- * <code>GC.setLineStyle()</code> method.
- */
-public class LineStyleTab extends GraphicsTab {
-
-	Button colorButton;
-	GraphicsBackground lineColor;
-	Menu menu;
-	Spinner lineWidthSpinner;
-
-public LineStyleTab(GraphicsExample example) {
-	super(example);
-}
-
-public String getCategory() {
-	return GraphicsExample.getResourceString("Lines"); //$NON-NLS-1$
-}
-
-public String getText() {
-	return GraphicsExample.getResourceString("LineStyles"); //$NON-NLS-1$
-}
-
-public String getDescription() {
-	return GraphicsExample.getResourceString("LineStylesDescription"); //$NON-NLS-1$
-}
-
-public void dispose() {
-	if (menu != null) {
-		menu.dispose();
-		menu = null;
-	}
-}
-
-public void createControlPanel(Composite parent) {
-	
-	Composite comp;
-	
-	comp = new Composite(parent, SWT.NONE);
-	comp.setLayout(new GridLayout(2, false));
-	
-	new Label(comp, SWT.CENTER).setText(GraphicsExample
-			.getResourceString("LineWidth")); //$NON-NLS-1$
-	lineWidthSpinner = new Spinner(comp, SWT.BORDER | SWT.WRAP);
-	lineWidthSpinner.setSelection(10);
-	lineWidthSpinner.setMinimum(1);
-	lineWidthSpinner.setMaximum(30);
-	lineWidthSpinner.addListener(SWT.Selection, new Listener() {
-		public void handleEvent(Event event) {
-				example.redraw();
-		}
-	});
-		
-	ColorMenu cm = new ColorMenu();
-	cm.setPatternItems(example.checkAdvancedGraphics());
-	menu = cm.createMenu(parent.getParent(), new ColorListener() {
-		public void setColor(GraphicsBackground gb) {
-			lineColor = gb;		
-			colorButton.setImage(gb.getThumbNail());
-			example.redraw();
-		}
-	});
-
-	// create color button
-	comp = new Composite(parent, SWT.NONE);
-	comp.setLayout(new GridLayout());
-	
-	// initialize the foreground to the 5th item in the menu (blue)
-	lineColor = (GraphicsBackground)menu.getItem(4).getData();
-	
-	// color button
-	colorButton = new Button(comp, SWT.PUSH);
-	colorButton.setText(GraphicsExample
-			.getResourceString("Color")); //$NON-NLS-1$
-	colorButton.setImage(lineColor.getThumbNail());
-	colorButton.addListener(SWT.Selection, new Listener() { 
-		public void handleEvent(Event event) {
-			final Button button = (Button) event.widget;
-			final Composite parent = button.getParent(); 
-			Rectangle bounds = button.getBounds();
-			Point point = parent.toDisplay(new Point(bounds.x, bounds.y));
-			menu.setLocation(point.x, point.y + bounds.height);
-			menu.setVisible(true);
-		}
-	});
-}
-
-public void paint(GC gc, int width, int height) {
-	Device device = gc.getDevice();
-
-	Pattern pattern = null;
-	if (lineColor.getBgColor1() != null) {
-		gc.setForeground(lineColor.getBgColor1());
-	} else if (lineColor.getBgImage() != null) {
-		pattern = new Pattern(device, lineColor.getBgImage());
-		gc.setForegroundPattern(pattern);
-	}
-	
-	// set line width
-	gc.setLineWidth(lineWidthSpinner.getSelection());
-	
-	// draw lines with caps
-	gc.drawLine(3*width/16, 1*height/6, 13*width/16, 1*height/6);
-	gc.setLineStyle(SWT.LINE_DASH);
-	gc.drawLine(3*width/16, 2*height/6, 13*width/16, 2*height/6);
-	gc.setLineStyle(SWT.LINE_DOT);
-	gc.drawLine(3*width/16, 3*height/6, 13*width/16, 3*height/6);
-	gc.setLineStyle(SWT.LINE_DASHDOT);
-	gc.drawLine(3*width/16, 4*height/6, 13*width/16, 4*height/6);
-	gc.setLineStyle(SWT.LINE_DASHDOTDOT);
-	gc.drawLine(3*width/16, 5*height/6, 13*width/16, 5*height/6);
-	
-	// draw labels
-	Font font = new Font(device, getPlatformFont(), 20, SWT.NORMAL);
-	gc.setFont(font);
-
-	gc.setForeground(device.getSystemColor(SWT.COLOR_BLACK));
-	
-	String text = GraphicsExample.getResourceString("Solid"); //$NON-NLS-1$
-	Point size = gc.stringExtent(text);
-	gc.drawString(text, (width-size.x)/2, 1*height/12, true);
-	text = GraphicsExample.getResourceString("Dash"); //$NON-NLS-1$
-	size = gc.stringExtent(text);	
-	gc.drawString(text, (width-size.x)/2, 3*height/12, true);
-	text = GraphicsExample.getResourceString("Dot"); //$NON-NLS-1$
-	size = gc.stringExtent(text);
-	gc.drawString(text, (width-size.x)/2, 5*height/12, true);
-	text = GraphicsExample.getResourceString("DashDot"); //$NON-NLS-1$
-	size = gc.stringExtent(text);
-	gc.drawString(text, (width-size.x)/2, 7*height/12, true);
-	text = GraphicsExample.getResourceString("DashDotDot"); //$NON-NLS-1$
-	size = gc.stringExtent(text);
-	gc.drawString(text, (width-size.x)/2, 9*height/12, true);
-	font.dispose();
-}
-
-/**
- * Returns the name of a valid font for the resident platform.
- */
-static String getPlatformFont() {
-	if(SWT.getPlatform() == "win32") {
-		return "Arial";	
-	} else if (SWT.getPlatform() == "motif") {
-		return "Helvetica";		
-	} else if (SWT.getPlatform() == "gtk") {
-		return "Baekmuk Batang";		
-	} else if (SWT.getPlatform() == "carbon") {
-		return "Arial";
-	} else { // photon, etc ...
-		return "Verdana";
-	}
-}
-}
-
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/LineTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/LineTab.java
deleted file mode 100644
index 725f857..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/LineTab.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.swt.examples.graphics;
-
-import org.eclipse.swt.graphics.*;
-
-public class LineTab extends GraphicsTab {
-
-public LineTab(GraphicsExample example) {
-	super(example);
-}
-
-public String getCategory() {
-	return GraphicsExample.getResourceString("Lines"); //$NON-NLS-1$
-}
-
-public String getText() {
-	return GraphicsExample.getResourceString("Line"); //$NON-NLS-1$
-}
-
-public String getDescription() {
-	return GraphicsExample.getResourceString("LineDescription"); //$NON-NLS-1$
-}
-
-public void paint(GC gc, int width, int height) {
-	gc.drawLine(0, 0, width, height);
-	gc.drawLine(width, 0, 0, height);
-}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/MazeTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/MazeTab.java
deleted file mode 100644
index 674e145..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/MazeTab.java
+++ /dev/null
@@ -1,328 +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.swt.examples.graphics;
-
-import java.util.*;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * This tab shows three circles, each following a different path in a maze.
- * Only one of the three circles follows the correct path.
- */
-public class MazeTab extends AnimatedGraphicsTab {
-
-	int nextIndex, nextIndex2, nextIndex3;
-	int xcoord, ycoord, xcoord2, ycoord2, xcoord3, ycoord3;
-	ArrayList nextCoord, nextCoord2, nextCoord3;
-	boolean isDone, isDone2, isDone3;
-	Image image;
-
-/**
- * Constructor
- * @param example A GraphicsExample
- */
-public MazeTab(GraphicsExample example) {
-	super(example);
-
-	// correct path
-	nextCoord = new ArrayList();
-	nextCoord.addAll(moveDown(20, -50, 20, 110, 10));
-	nextCoord.addAll(moveRight(30, 110, 130, 110, 10));
-	nextCoord.addAll(moveUp(135, 100, 135, 15, 10));
-	nextCoord.addAll(moveRight(140, 15, 210, 15, 10));
-	nextCoord.addAll(moveDown(210, 25, 210, 75, 10));
-	nextCoord.addAll(moveRight(220, 75, 320, 75, 10));
-	nextCoord.addAll(moveUp(320, 65, 320, 55, 10));
-	nextCoord.addAll(moveRight(330, 50, 475, 50, 10));
-	nextCoord.addAll(moveDown(475, 60, 475, 225, 10));
-	nextCoord.addAll(moveLeft(465, 225, 200, 225, 10));
-	nextCoord.addAll(moveUp(200, 215, 200, 180, 10));
-	nextCoord.addAll(moveLeft(190, 180, 120, 180, 10));
-	nextCoord.addAll(moveDown(120, 190, 120, 320, 10));
-	nextCoord.addAll(moveRight(130, 320, 475, 320, 10));
-	nextCoord.addAll(moveDown(475, 330, 475, 435, 10));
-	nextCoord.addAll(moveLeft(465, 435, 20, 435, 10));
-	nextCoord.addAll(moveDown(20, 445, 20, 495, 10));
-	
-	nextIndex = 0;
-	xcoord = ((Integer)nextCoord.get(nextIndex)).intValue();
-	ycoord = ((Integer)nextCoord.get(nextIndex+1)).intValue();
-	
-	// wrong path 1
-	nextCoord2 = new ArrayList();
-	nextCoord2.addAll(moveDown(20, -25, 20, 110, 10));
-	nextCoord2.addAll(moveRight(30, 110, 130, 110, 10));
-	nextCoord2.addAll(moveUp(135, 100, 135, 15, 10));
-	nextCoord2.addAll(moveRight(140, 15, 520, 15, 10));
-	nextCoord2.addAll(moveDown(525, 15, 525, 480, 10));
-	nextCoord2.addAll(moveLeft(515, 480, 70, 480, 10));
-	
-	nextIndex2 = 0;
-	xcoord2 = ((Integer)nextCoord2.get(nextIndex2)).intValue();
-	ycoord2 = ((Integer)nextCoord2.get(nextIndex2+1)).intValue();
-	
-	// wrong path 2
-	nextCoord3 = new ArrayList();
-	nextCoord3.addAll(moveDown(20, 0, 20, 110, 10));
-	nextCoord3.addAll(moveRight(30, 110, 130, 110, 10));
-	nextCoord3.addAll(moveUp(135, 100, 135, 15, 10));
-	nextCoord3.addAll(moveRight(140, 15, 210, 15, 10));
-	nextCoord3.addAll(moveDown(210, 25, 210, 75, 10));
-	nextCoord3.addAll(moveRight(220, 75, 320, 75, 10));
-	nextCoord3.addAll(moveUp(320, 65, 320, 55, 10));
-	nextCoord3.addAll(moveRight(330, 50, 475, 50, 10));
-	nextCoord3.addAll(moveDown(475, 60, 475, 225, 10));
-	nextCoord3.addAll(moveLeft(465, 225, 425, 225, 10));
-	nextCoord3.addAll(moveUp(420, 225, 420, 150, 10));
-	nextCoord3.addAll(moveLeft(420, 145, 70, 145, 10));
-	nextCoord3.addAll(moveDown(70, 150, 70, 320, 10));
-	
-	nextIndex3 = 0;
-	xcoord3 = ((Integer)nextCoord3.get(nextIndex3)).intValue();
-	ycoord3 = ((Integer)nextCoord3.get(nextIndex3+1)).intValue();
-	
-	isDone = isDone2 = isDone3 = false;
-}
-
-public String getCategory() {
-	return GraphicsExample.getResourceString("Misc"); //$NON-NLS-1$
-}
-
-public String getText() {
-	return GraphicsExample.getResourceString("Maze"); //$NON-NLS-1$
-}
-
-public String getDescription() {
-	return GraphicsExample.getResourceString("MazeDescription"); //$NON-NLS-1$
-}
-
-public int getInitialAnimationTime() {
-	return 50;
-}
-
-public void dispose() {
-	if (image != null) {
-		image.dispose();
-		image = null;
-	}
-}
-
-public void createControlPanel(Composite parent) {
-	super.createControlPanel(parent);
-	
-	// add selection listener to reset nextNumber after 
-	// the sequence has completed
-	playItem.addListener(SWT.Selection, new Listener() {
-		public void handleEvent(Event event) {
-			if (isDone){
-				nextIndex = nextIndex2 = nextIndex3 = 0;
-				isDone = isDone2 = isDone3 = false; 
-			}
-		}
-	});
-}
-
-/* (non-Javadoc)
- * @see org.eclipse.swt.examples.graphics.AnimatedGraphicsTab#next(int, int)
- */
-public void next(int width, int height) {
-
-	if (nextIndex+2 < nextCoord.size()) {
-		nextIndex = (nextIndex+2)%nextCoord.size();
-		xcoord = ((Integer)nextCoord.get(nextIndex)).intValue();
-		ycoord = ((Integer)nextCoord.get(nextIndex+1)).intValue();
-	} else {
-		// stop animation
-		setAnimation(false);
-		isDone = true;
-	}
-	
-	if (nextIndex2+2 < nextCoord2.size()) {
-		nextIndex2 = (nextIndex2+2)%nextCoord2.size();
-		xcoord2 = ((Integer)nextCoord2.get(nextIndex2)).intValue();
-		ycoord2 = ((Integer)nextCoord2.get(nextIndex2+1)).intValue();
-	} else {
-		isDone2 = true;
-	}
-	
-	if (nextIndex3+2 < nextCoord3.size()) {
-		nextIndex3 = (nextIndex3+2)%nextCoord3.size();
-		xcoord3 = ((Integer)nextCoord3.get(nextIndex3)).intValue();
-		ycoord3 = ((Integer)nextCoord3.get(nextIndex3+1)).intValue();
-	} else {
-		isDone3 = true;
-	}
-}
-
-/* (non-Javadoc)
- * @see org.eclipse.swt.examples.graphics.GraphicsTab#paint(org.eclipse.swt.graphics.GC, int, int)
- */
-public void paint(GC gc, int width, int height) {
-	Device device = gc.getDevice();
-	
-	if (image == null) {
-		image = example.loadImage(device, "maze.bmp");
-	}
-	// draw maze
-	Rectangle bounds = image.getBounds();
-	int x = (width - bounds.width) / 2;
-	int y = (height - bounds.height) / 2;
-	gc.drawImage(image, x, y);
-	
-	// draw correct oval
-	gc.setBackground(device.getSystemColor(SWT.COLOR_RED));
-	gc.fillOval(x + xcoord, y + ycoord, 16, 16);
-	gc.drawOval(x + xcoord, y + ycoord, 15, 15);
-	
-	// draw wrong oval 1
-	gc.setBackground(device.getSystemColor(SWT.COLOR_BLUE));
-	gc.fillOval(x + xcoord2, y + ycoord2, 16, 16);
-	gc.drawOval(x + xcoord2, y + ycoord2, 15, 15);
-	
-	// draw wrong oval 2
-	gc.setBackground(device.getSystemColor(SWT.COLOR_GREEN));
-	gc.fillOval(x + xcoord3, y + ycoord3, 16, 16);
-	gc.drawOval(x + xcoord3, y + ycoord3, 15, 15);
-
-	if (isDone2) {
-		Image helpImg = example.loadImage(device, "help.gif");
-		gc.drawImage(helpImg, x + xcoord2 + 16, y + ycoord2 - 16);
-		helpImg.dispose();
-	}
-
-	if (isDone3) {
-		Image helpImg = example.loadImage(device, "help.gif");
-		gc.drawImage(helpImg, x + xcoord3 + 16, y + ycoord3 - 16);
-		helpImg.dispose();
-	}
-}
-
-/**
- * Returns a list of coordinates moving in a "left-moving" fashion from the start
- * point to the end point inclusively.
- * 
- * @param x1
- *            X component of the start point
- * @param y1
- *            Y component of the start point
- * @param x2
- *            X component of the end point
- * @param y2
- *            Y component of the end point
- * @param stepsize
- *            The number of pixels that separate each coordinate
- */
-private ArrayList moveLeft(int x1, int y1, int x2, int y2, int stepsize) {
-	ArrayList coords = new ArrayList();
-	coords.add(new Integer(x1));
-	coords.add(new Integer(y1));
-	while(x1 - stepsize > x2) {
-		x1 = x1 - stepsize;
-		coords.add(new Integer(x1));
-		coords.add(new Integer(y1));
-	}
-	coords.add(new Integer(x2));
-	coords.add(new Integer(y2));
-	return coords;
-}
-
-/**
- * Returns a list of coordinates moving in a "right-moving" fashion from the start
- * point to the end point inclusively.
- * 
- * @param x1
- *            X component of the start point
- * @param y1
- *            Y component of the start point
- * @param x2
- *            X component of the end point
- * @param y2
- *            Y component of the end point
- * @param stepsize
- *            The number of pixels that separate each coordinate
- */
-private ArrayList moveRight(int x1, int y1, int x2, int y2, int stepsize) {
-	ArrayList coords = new ArrayList();
-	coords.add(new Integer(x1));
-	coords.add(new Integer(y1));
-	while(x1 + stepsize < x2) {
-		x1 = x1 + stepsize;
-		coords.add(new Integer(x1));
-		coords.add(new Integer(y1));
-	}
-	coords.add(new Integer(x2));
-	coords.add(new Integer(y2));
-	return coords;
-}
-
-/**
- * Returns a list of coordinates moving in an upward fashion from the start
- * point to the end point inclusively.
- * 
- * @param x1
- *            X component of the start point
- * @param y1
- *            Y component of the start point
- * @param x2
- *            X component of the end point
- * @param y2
- *            Y component of the end point
- * @param stepsize
- *            The number of pixels that separate each coordinate
- */
-private ArrayList moveUp(int x1, int y1, int x2, int y2, int stepsize) {
-	ArrayList coords = new ArrayList();
-	coords.add(new Integer(x1));
-	coords.add(new Integer(y1));
-	while(y1 - stepsize > y2) {
-		y1 = y1 - stepsize;
-		coords.add(new Integer(x1));
-		coords.add(new Integer(y1));
-	}
-	coords.add(new Integer(x2));
-	coords.add(new Integer(y2));
-	return coords;
-}
-
-/**
- * Returns a list of coordinates moving in a downward fashion from the start
- * point to the end point inclusively.
- * 
- * @param x1
- *            X component of the start point
- * @param y1
- *            Y component of the start point
- * @param x2
- *            X component of the end point
- * @param y2
- *            Y component of the end point
- * @param stepsize
- *            The number of pixels that separate each coordinate
- */
-private ArrayList moveDown(int x1, int y1, int x2, int y2, int stepsize) {
-	ArrayList coords = new ArrayList();
-	coords.add(new Integer(x1));
-	coords.add(new Integer(y1));
-	while(y1 + stepsize < y2) {
-		y1 = y1 + stepsize;
-		coords.add(new Integer(x1));
-		coords.add(new Integer(y1));
-	}
-	coords.add(new Integer(x2));
-	coords.add(new Integer(y2));
-	return coords;
-}
-
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/PathClippingAnimTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/PathClippingAnimTab.java
deleted file mode 100644
index 343c4ef..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/PathClippingAnimTab.java
+++ /dev/null
@@ -1,207 +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.swt.examples.graphics;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * This is another tab that demonstrates the use of a path clipping.
- */
-public class PathClippingAnimTab extends AnimatedGraphicsTab {
-
-	private Button colorButton;
-	private GraphicsBackground background;
-	private Menu menu;
-	private int rectWidth = 300;
-	private int rectHeight = 300;
-	private int incWidth = 5;
-	private int incHeight = 5;
-	private boolean vertical = false;
-	private int angle;
-
-	public PathClippingAnimTab(GraphicsExample example) {
-		super(example);
-	}
-
-	public String getCategory() {
-		return GraphicsExample.getResourceString("Clipping"); //$NON-NLS-1$
-	}
-
-	public String getText() {
-		return GraphicsExample.getResourceString("AnimPathClipping"); //$NON-NLS-1$
-	}
-	
-	public String getDescription() {
-		return GraphicsExample.getResourceString("AnimPathClippingDesc"); //$NON-NLS-1$
-	}
-
-	public void dispose() {
-		if (menu != null) {
-			menu.dispose();
-			menu = null;
-		}
-	}
-
-	/**
-	 * Creates the widgets used to control the drawing.
-	 */
-	public void createControlPanel(Composite parent) {
-		super.createControlPanel(parent);
-
-		// color menu
-		ColorMenu cm = new ColorMenu();
-		cm.setPatternItems(example.checkAdvancedGraphics());
-		menu = cm.createMenu(parent.getParent(), new ColorListener() {
-			public void setColor(GraphicsBackground gb) {
-				background = gb;
-				colorButton.setImage(gb.getThumbNail());
-				example.redraw();
-			}
-		});
-
-		// initialize the background to the 5th item in the menu (blue)
-		background = (GraphicsBackground) menu.getItem(4).getData();
-
-		// color button
-		Composite comp = new Composite(parent, SWT.NONE);
-		comp.setLayout(new GridLayout(2, false));
-
-		colorButton = new Button(comp, SWT.PUSH);
-		colorButton.setText(GraphicsExample.getResourceString("Color")); //$NON-NLS-1$
-		colorButton.setImage(background.getThumbNail());
-		colorButton.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event event) {
-				final Button button = (Button) event.widget;
-				final Composite parent = button.getParent();
-				Rectangle bounds = button.getBounds();
-				Point point = parent.toDisplay(new Point(bounds.x, bounds.y));
-				menu.setLocation(point.x, point.y + bounds.height);
-				menu.setVisible(true);
-			}
-		});
-	}
-
-	public void next(int width, int height) {
-		angle = (angle + 5)%360;
-		if (vertical) {
-			if (rectHeight <= 0) {
-				incHeight = -incHeight;
-			}
-			if (rectHeight >= height) {
-				incHeight = -incHeight;
-				vertical = false;
-			}
-			rectHeight = rectHeight + incHeight;
-		} else {
-			if (rectWidth <= 0) {
-				incWidth = -incWidth;
-			}
-			if (rectWidth >= width) {
-				incWidth = -incWidth;
-				vertical = true;
-			}
-			rectWidth = rectWidth + incWidth;
-		}
-	}
-
-	public void paint(GC gc, int width, int height) {
-		if (!example.checkAdvancedGraphics()) return;
-		Device device = gc.getDevice();
-		
-		// top triangle
-		Path path = new Path(device);
-		path.moveTo(width/2, 0);
-		path.lineTo(width/2+100, 173);
-		path.lineTo(width/2-100, 173);
-		path.lineTo(width/2, 0);
-		
-		// bottom triangle
-		Path path2 = new Path(device);
-		path2.moveTo(width/2, height);
-		path2.lineTo(width/2+100, height-173);
-		path2.lineTo(width/2-100, height-173);
-		path2.lineTo(width/2, height);
-		
-		// left triangle
-		Path path3 = new Path(device);
-		path3.moveTo(0, height/2);
-		path3.lineTo(173, height/2-100);
-		path3.lineTo(173, height/2+100);
-		path3.lineTo(0, height/2);
-		
-		// right triangle
-		Path path4 = new Path(device);
-		path4.moveTo(width, height/2);
-		path4.lineTo(width-173, height/2-100);
-		path4.lineTo(width-173, height/2+100);
-		path4.lineTo(width, height/2);
-		
-		// circle
-		Path path5 = new Path(device);
-		path5.moveTo((width-200)/2, (height-200)/2);
-		path5.addArc((width-200)/2, (height-200)/2, 200, 200, 0, 360);
-		
-		// top rectangle
-		Path path6 = new Path(device);
-		path6.addRectangle((width-40)/2, 175, 40, ((height-200)/2)-177);
-		
-		// bottom rectangle
-		Path path7 = new Path(device);
-		path7.addRectangle((width-40)/2, ((height-200)/2)+202, 40, (height-175)-(((height-200)/2)+202));
-		
-		// left rectangle
-		Path path8 = new Path(device);
-		path8.addRectangle(175, (height-40)/2, ((width-200)/2)-177, 40);
-		
-		// right rectangle
-		Path path9 = new Path(device);
-		path9.addRectangle((width-200)/2+202, (height-40)/2, (width-175)-((width-200)/2+202), 40);
-		
-		path.addPath(path2);
-		path.addPath(path3);
-		path.addPath(path4);
-		path.addPath(path5);
-		path.addPath(path6);
-		path.addPath(path7);
-		path.addPath(path8);
-		path.addPath(path9);
-		gc.setClipping(path);
-
-		Pattern pattern = null;
-		if (background.getBgColor1() != null) {
-			gc.setBackground(background.getBgColor1());
-		} else if (background.getBgImage() != null) {
-			pattern = new Pattern(device, background.getBgImage());
-			gc.setBackgroundPattern(pattern);
-		}
-
-		gc.setLineWidth(2);
-		gc.fillRectangle((width-rectWidth)/2, (height-rectHeight)/2, rectWidth, rectHeight);
-		gc.drawPath(path);
-		
-		if (pattern != null)
-			pattern.dispose();
-		
-		path9.dispose();
-		path8.dispose();
-		path7.dispose();
-		path6.dispose();
-		path5.dispose();
-		path4.dispose();
-		path3.dispose();
-		path2.dispose();
-		path.dispose();
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/PathClippingTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/PathClippingTab.java
deleted file mode 100644
index 3087029..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/PathClippingTab.java
+++ /dev/null
@@ -1,244 +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.swt.examples.graphics;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * This tab demonstrates how to apply a path clipping and the effects of
- * applying one.
- */
-public class PathClippingTab extends GraphicsTab {
-	
-	private Combo clippingCb;
-	private Button colorButton;
-	private GraphicsBackground background;
-	private Menu menu;
-
-public PathClippingTab(GraphicsExample example) {
-	super(example);
-}
-
-public String getCategory() {
-	return GraphicsExample.getResourceString("Clipping"); //$NON-NLS-1$
-}
-
-public String getText() {
-	return GraphicsExample.getResourceString("PathClipping"); //$NON-NLS-1$
-}
-
-public String getDescription() {
-	return GraphicsExample.getResourceString("PathClippingDesc"); //$NON-NLS-1$
-}
-
-public void dispose() {
-	if (menu != null) {
-		menu.dispose();
-		menu = null;
-	}
-}
-
-/** 
- * Creates the widgets used to control the drawing.
- */
-public void createControlPanel(Composite parent) {	
-	
-	// create drop down combo for choosing clipping
-	Composite comp = new Composite(parent, SWT.NONE);
-	comp.setLayout(new GridLayout(2, false));
-	
-	new Label(comp, SWT.CENTER).setText(GraphicsExample
-				.getResourceString("Clipping")); //$NON-NLS-1$
-	clippingCb = new Combo(comp, SWT.DROP_DOWN);
-	clippingCb.add(GraphicsExample.getResourceString("Circles")); //$NON-NLS-1$
-	clippingCb.add(GraphicsExample.getResourceString("Rectangle")); //$NON-NLS-1$
-	clippingCb.add(GraphicsExample.getResourceString("Oval")); //$NON-NLS-1$
-	clippingCb.add(GraphicsExample.getResourceString("Word")); //$NON-NLS-1$
-	clippingCb.add(GraphicsExample.getResourceString("Star")); //$NON-NLS-1$
-	clippingCb.add(GraphicsExample.getResourceString("Triangles")); //$NON-NLS-1$
-	clippingCb.add(GraphicsExample.getResourceString("Default")); //$NON-NLS-1$
-	clippingCb.select(0);
-	clippingCb.addListener(SWT.Selection, new Listener() {
-		public void handleEvent(Event event) {
-				example.redraw();
-		}
-	});
-	
-	// color menu
-	ColorMenu cm = new ColorMenu();
-	cm.setPatternItems(example.checkAdvancedGraphics());
-	menu = cm.createMenu(parent.getParent(), new ColorListener() {
-		public void setColor(GraphicsBackground gb) {
-			background = gb;		
-			colorButton.setImage(gb.getThumbNail());
-			example.redraw();
-		}
-	});
-
-	// initialize the background to the 5th item in the menu (blue)
-	background =(GraphicsBackground)menu.getItem(4).getData();
-	
-	// color button
-	comp = new Composite(parent, SWT.NONE);
-	comp.setLayout(new GridLayout(2, false));
-	
-	colorButton = new Button(comp, SWT.PUSH);
-	colorButton.setText(GraphicsExample
-			.getResourceString("Color")); //$NON-NLS-1$
-	colorButton.setImage(background.getThumbNail());
-	colorButton.addListener(SWT.Selection, new Listener() { 
-		public void handleEvent(Event event) {
-			final Button button = (Button) event.widget;
-			final Composite parent = button.getParent(); 
-			Rectangle bounds = button.getBounds();
-			Point point = parent.toDisplay(new Point(bounds.x, bounds.y));
-			menu.setLocation(point.x, point.y + bounds.height);
-			menu.setVisible(true);
-		}
-	});
-}
-public void paint(GC gc, int width, int height) {
-	if (!example.checkAdvancedGraphics()) return;
-	Device device = gc.getDevice();
-
-	int clipping = clippingCb.getSelectionIndex();
-	switch (clipping) {
-	
-	case 0:		// circles
-		Path path = new Path(device);
-		path.addArc((width-width/5)/2, (height-height/5)/2, width/5, height/5, 0, 360);
-		path.addArc(5*(width-width/8)/12, 4*(height-height/8)/12, width/8, height/8, 0, 360);
-		path.addArc(7*(width-width/8)/12, 8*(height-height/8)/12, width/8, height/8, 0, 360);
-		path.addArc(6*(width-width/12)/12, 3*(height-height/12)/12, width/12, height/12, 0, 360);
-		path.addArc(6*(width-width/12)/12, 9*(height-height/12)/12, width/12, height/12, 0, 360);
-		path.addArc(11.5f*(width-width/18)/20, 5*(height-height/18)/18, width/18, height/18, 0, 360);
-		path.addArc(8.5f*(width-width/18)/20, 13*(height-height/18)/18, width/18, height/18, 0, 360);
-		gc.setClipping(path);
-		path.dispose();
-		break;
-	case 1:		// rectangle
-		path = new Path(device);
-		path.addRectangle(100, 100, width-200, height-200);
-		path.addRectangle(120, 120, width-240, height-240);
-		path.addRectangle(140, 140, width-280, height-280);
-		gc.setClipping(path);
-		path.dispose();
-		break;
-	case 2:		// circle
-		path = new Path(device);
-		path.addArc(100, 100, width-200, height-200, 0, 360);
-		path.addArc((width-width/5)/2, (height-height/5)/2, width/5, height/5, 0, 360);
-		path.addArc(5*(width-width/8)/12, 4*(height-height/8)/12, width/8, height/8, 0, 360);
-		path.addArc(7*(width-width/8)/12, 8*(height-height/8)/12, width/8, height/8, 0, 360);
-		path.addArc(6*(width-width/12)/12, 3*(height-height/12)/12, width/12, height/12, 0, 360);
-		path.addArc(6*(width-width/12)/12, 9*(height-height/12)/12, width/12, height/12, 0, 360);
-		path.addArc(11.5f*(width-width/18)/20, 5*(height-height/18)/18, width/18, height/18, 0, 360);
-		path.addArc(8.5f*(width-width/18)/20, 13*(height-height/18)/18, width/18, height/18, 0, 360);
-		gc.setClipping(path);
-		path.dispose();
-		break;
-	case 3:		// word
-		path = new Path(device);
-		String text = GraphicsExample.getResourceString("SWT"); //$NON-NLS-1$
-		Font font = new Font(device, "Times", 200, SWT.NORMAL);
-		gc.setFont(font);
-		Point size = gc.stringExtent(text);
-		path.addString(text, (width-size.x)/2, (height-size.y)/2, font);
-		font.dispose();
-		gc.setClipping(path);
-		path.dispose();
-		break;
-	case 4:		// star
-		path = new Path(device);
-		path.lineTo(width/2, 0);
-		path.lineTo(5*width/8, height/3);
-		path.lineTo(width, height/3);
-		path.lineTo(3*width/4, 10*height/16);
-		path.lineTo(7*width/8, height);
-		path.lineTo(width/2, 3*height/4);
-		path.lineTo(width/8, height);
-		path.lineTo(width/4, 10*height/16);
-		path.lineTo(0, height/3);
-		path.lineTo(3*width/8, height/3);
-		path.lineTo(width/2, 0);
-		
-		Path ovalPath = new Path(device);
-		ovalPath.addArc(90, 90, width-180, height-180, 0, 360);
-		
-		path.addPath(ovalPath);
-		gc.setClipping(path);
-		ovalPath.dispose();
-		path.dispose();
-		break;
-	case 5:		// triangles
-		path = new Path(device);
-		path.addRectangle(0, 0, width, height);
-		path.lineTo(width/4, 0);
-		path.lineTo(width/4, height/2);
-		path.lineTo(0, height/2);
-		path.lineTo(width/4, 0);
-		
-		Path path2 = new Path(device);
-		path2.lineTo(width/2, 0);
-		path2.lineTo(width/4, height/2);
-		path2.lineTo(3*width/4, height/2);
-		path2.lineTo(width/2, 0);
-		
-		Path path3 = new Path(device);
-		path3.lineTo(3*width/4, 0);
-		path3.lineTo(3*width/4, height/2);
-		path3.lineTo(width, height/2);
-		path3.lineTo(3*width/4, 0);
-		
-		Path path4 = new Path(device);
-		path4.lineTo(0, height);
-		path4.lineTo(width/4, height/2);
-		path4.lineTo(width/2, height);
-		path4.lineTo(0, height);
-		
-		Path path5 = new Path(device);
-		path5.lineTo(width/2, height);
-		path5.lineTo(3*width/4, height/2);
-		path5.lineTo(width, height);
-		path5.lineTo(width/2, height);
-		
-		path.addPath(path2);
-		path.addPath(path3);
-		path.addPath(path4);
-		path.addPath(path5);
-		gc.setClipping(path);
-		
-		path5.dispose();
-		path4.dispose();
-		path3.dispose();
-		path2.dispose();
-		path.dispose();
-		break;
-	case 6:		// default
-		gc.setClipping(0, 0, width, height);
-		break;
-	}
-	
-	Pattern pattern = null;
-	if (background.getBgColor1() != null) {
-		gc.setBackground(background.getBgColor1());
-	} else if (background.getBgImage() != null) {
-		pattern = new Pattern(device, background.getBgImage());
-		gc.setBackgroundPattern(pattern);
-	}
-    gc.fillRectangle(0, 0, width, height);
-    if (pattern != null) pattern.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/PathTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/PathTab.java
deleted file mode 100644
index deaaaed..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/PathTab.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.swt.examples.graphics;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * This tab demonstrates the use of paths. It allows the user to see the
- * differences between filling, drawing and closing paths.
- */
-public class PathTab extends GraphicsTab {
-
-	Button colorButton, fillButton, drawButton, closeButton;
-	GraphicsBackground fillColor;
-	Menu menu;
-
-public PathTab(GraphicsExample example) {
-	super(example);
-}
-
-public String getCategory() {
-	return GraphicsExample.getResourceString("Path"); //$NON-NLS-1$
-}
-
-public String getText() {
-	return GraphicsExample.getResourceString("PathOper"); //$NON-NLS-1$
-}
-
-public String getDescription() {
-	return GraphicsExample.getResourceString("PathOperDescription"); //$NON-NLS-1$
-}
-
-public void dispose() {
-	if (menu != null) {
-		menu.dispose();
-		menu = null;
-	}
-}
-
-public void createControlPanel(Composite parent) {
-	
-	Composite comp;
-
-	// create draw button
-	comp = new Composite(parent, SWT.NONE);
-	comp.setLayout(new GridLayout());
-	
-	drawButton = new Button(comp, SWT.TOGGLE);
-	drawButton.setText(GraphicsExample.getResourceString("DrawPath")); //$NON-NLS-1$
-	drawButton.addListener(SWT.Selection, new Listener() { 
-		public void handleEvent(Event event) {
-			example.redraw();
-		}
-	});
-	drawButton.setSelection(true);
-	
-	// create fill button
-	comp = new Composite(parent, SWT.NONE);
-	comp.setLayout(new GridLayout());
-	
-	fillButton = new Button(comp, SWT.TOGGLE);
-	fillButton.setText(GraphicsExample.getResourceString("FillPath")); //$NON-NLS-1$
-	fillButton.addListener(SWT.Selection, new Listener() { 
-		public void handleEvent(Event event) {
-			example.redraw();
-		}
-	});
-	
-	// create close button
-	comp = new Composite(parent, SWT.NONE);
-	comp.setLayout(new GridLayout());
-	
-	closeButton = new Button(comp, SWT.TOGGLE);
-	closeButton.setText(GraphicsExample.getResourceString("ClosePath")); //$NON-NLS-1$
-	closeButton.addListener(SWT.Selection, new Listener() { 
-		public void handleEvent(Event event) {
-			example.redraw();
-		}
-	});
-		
-	// create color button
-	comp = new Composite(parent, SWT.NONE);
-	comp.setLayout(new GridLayout());
-	
-	ColorMenu cm = new ColorMenu();
-	cm.setPatternItems(example.checkAdvancedGraphics());
-	menu = cm.createMenu(parent.getParent(), new ColorListener() {
-		public void setColor(GraphicsBackground gb) {
-			fillColor = gb;		
-			colorButton.setImage(gb.getThumbNail());
-			example.redraw();
-		}
-	});
-
-	// initialize the foreground to the 5th item in the menu (green)
-	fillColor = (GraphicsBackground)menu.getItem(3).getData();
-	
-	// color button
-	colorButton = new Button(comp, SWT.PUSH);
-	colorButton.setText(GraphicsExample.getResourceString("FillColor")); //$NON-NLS-1$
-	colorButton.setImage(fillColor.getThumbNail());
-	colorButton.addListener(SWT.Selection, new Listener() { 
-		public void handleEvent(Event event) {
-			final Button button = (Button) event.widget;
-			final Composite parent = button.getParent(); 
-			Rectangle bounds = button.getBounds();
-			Point point = parent.toDisplay(new Point(bounds.x, bounds.y));
-			menu.setLocation(point.x, point.y + bounds.height);
-			menu.setVisible(true);
-		}
-	});
-}
-
-public void paint(GC gc, int width, int height) {
-	if (!example.checkAdvancedGraphics()) return;
-	Device device = gc.getDevice();
-
-	Pattern pattern = null;
-	if (fillColor.getBgColor1() != null) {
-		gc.setBackground(fillColor.getBgColor1());
-	} else if (fillColor.getBgImage() != null) {
-		pattern = new Pattern(device, fillColor.getBgImage());
-		gc.setBackgroundPattern(pattern);
-	}
-
-	gc.setLineWidth(5);
-	gc.setForeground(device.getSystemColor(SWT.COLOR_BLACK));
-	
-	// arc
-	Path path = new Path(device);
-	path.addArc((width-250)/2, (height-400)/2, 500, 400, 90, 180);
-	if (closeButton.getSelection()) path.close();
-	if (fillButton.getSelection()) gc.fillPath(path);
-	if (drawButton.getSelection()) gc.drawPath(path);
-	path.dispose();
-	
-	// shape on left
-	Transform transform = new Transform(device);
-	transform.translate((width-250)/4, height/2-150);
-	gc.setTransform(transform);
-	transform.dispose();
-	path = new Path(device);
-	path.cubicTo(-150, 100, 150, 200, 0, 300);
-	if (closeButton.getSelection()) path.close();
-	if (fillButton.getSelection()) gc.fillPath(path);
-	if (drawButton.getSelection()) gc.drawPath(path);
-	path.dispose();
-	gc.setTransform(null);
-	
-	// shape on right
-	path = new Path(device);
-	path.moveTo(3*(width-250)/4 - 25 + 250, height/2);
-	path.lineTo(3*(width-250)/4 + 50 + 250, height/2 - 200);
-	path.lineTo(3*(width-250)/4 + 50 + 250, height/2 + 50);
-	path.lineTo(3*(width-250)/4 - 25 + 250, height/2 + 150);
-	path.lineTo(3*(width-250)/4 + 25 + 250, height/2 + 50);
-	if (closeButton.getSelection()) path.close();
-	if (fillButton.getSelection()) gc.fillPath(path);
-	if (drawButton.getSelection()) gc.drawPath(path);
-	path.dispose();
-
-	if (pattern != null) pattern.dispose();
-}
-}
-
-
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/RGBTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/RGBTab.java
deleted file mode 100644
index 830b3e0..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/RGBTab.java
+++ /dev/null
@@ -1,153 +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.swt.examples.graphics;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-
-/**
- * Miscellaneous tab that demonstrates emerging colors from layering other
- * colors.
- */
-public class RGBTab extends AnimatedGraphicsTab {
-	
-	int translateX, translateY;
-	float diagTranslateX1, diagTranslateX2, diagTranslateY1, diagTranslateY2;
-
-/**
- * Constructor
- * @param example A GraphicsExample
- */
-public RGBTab(GraphicsExample example) {
-	super(example);
-	translateX = translateY = 0;
-	diagTranslateX1 = diagTranslateX2 = diagTranslateY1 = diagTranslateY2 = 0;
-}
-
-public String getCategory() {
-	return GraphicsExample.getResourceString("Misc"); //$NON-NLS-1$
-}
-
-public String getText() {
-	return GraphicsExample.getResourceString("rgb"); //$NON-NLS-1$
-}
-
-public String getDescription() {
-	return GraphicsExample.getResourceString("rgbDescription"); //$NON-NLS-1$
-}
-
-/* (non-Javadoc)
- * @see org.eclipse.swt.examples.graphics.AnimatedGraphicsTab#next(int, int)
- */
-public void next(int width, int height) {
-	
-	float h = height;
-	float w = width;
-	
-	translateX = (translateX+3)%width;
-	translateY = (translateY+5)%height;
-
-	diagTranslateX1 = (diagTranslateX1+6)%width;
-	diagTranslateY1 = diagTranslateX1*(h/w);
-	
-	diagTranslateX2 = (diagTranslateX2+8)%width;
-	diagTranslateY2 = -diagTranslateX2*(h/w) + h;
-}
-
-/* (non-Javadoc)
- * @see org.eclipse.swt.examples.graphics.GraphicsTab#paint(org.eclipse.swt.graphics.GC, int, int)
- */
-public void paint(GC gc, int width, int height) {
-	if (!example.checkAdvancedGraphics()) return;
-	Device device = gc.getDevice();
-	
-	// horizontal rectangle
-	Transform transform = new Transform(device);
-	transform.translate(0, translateY);
-	gc.setTransform(transform);
-	transform.dispose();
-	
-	Path path = new Path(device);
-	path.addRectangle(0, 0, width, 50);
-	Pattern pattern = new Pattern(device, 0, 0, width, 50, 
-				device.getSystemColor(SWT.COLOR_BLUE), 0x7f,
-				device.getSystemColor(SWT.COLOR_RED), 0x7f);
-	gc.setBackgroundPattern(pattern);
-	gc.fillPath(path);
-	gc.drawPath(path);
-	path.dispose();
-
-	// vertical rectangle
-	transform = new Transform(device);
-	transform.translate(translateX, 0);
-	gc.setTransform(transform);
-	transform.dispose();
-	
-	path = new Path(device);
-	path.addRectangle(0, 0, 50, height);
-	pattern.dispose();
-	pattern = new Pattern(device, 0, 0, 50, height, 
-				device.getSystemColor(SWT.COLOR_DARK_CYAN), 0x7f,
-				device.getSystemColor(SWT.COLOR_WHITE), 0x7f);
-	gc.setBackgroundPattern(pattern);
-	gc.fillPath(path);
-	gc.drawPath(path);
-	path.dispose();
-
-	// diagonal rectangle from bottom right corner
-	Rectangle rect = new Rectangle(0, 0, 50, height);
-	transform = new Transform(device);
-	transform.translate(width-diagTranslateX1, (height/2)-diagTranslateY1);
-	
-	// rotate on center of rectangle
-	transform.translate(rect.width/2, rect.height/2);
-	transform.rotate(45);
-	transform.translate(-rect.width/2, -rect.height/2);
-	gc.setTransform(transform);
-	transform.dispose();
-	
-	path = new Path(device);
-	path.addRectangle(rect.x, rect.y, rect.width, rect.height);
-	pattern.dispose();
-	pattern = new Pattern(device, rect.x, rect.y, rect.width, rect.height, 
-			device.getSystemColor(SWT.COLOR_DARK_GREEN), 0x7f,
-			device.getSystemColor(SWT.COLOR_DARK_MAGENTA), 0x7f);
-	gc.setBackgroundPattern(pattern);
-	gc.fillPath(path);
-	gc.drawPath(path);
-	path.dispose();
-	
-	// diagonal rectangle from top right corner
-	transform = new Transform(device);
-	transform.translate(width-diagTranslateX2, (height/2)-diagTranslateY2);
-	
-	// rotate on center of rectangle
-	transform.translate(rect.width/2, rect.height/2);
-	transform.rotate(-45);
-	transform.translate(-rect.width/2, -rect.height/2);
-	gc.setTransform(transform);
-	transform.dispose();
-	
-	path = new Path(device);
-	path.addRectangle(rect.x, rect.y, rect.width, rect.height);
-	pattern.dispose();
-	pattern = new Pattern(device, rect.x, rect.y, rect.width, rect.height, 
-			device.getSystemColor(SWT.COLOR_DARK_RED), 0x7f,
-			device.getSystemColor(SWT.COLOR_YELLOW), 0x7f);
-	gc.setBackgroundPattern(pattern);
-	gc.fillPath(path);
-	gc.drawPath(path);
-	pattern.dispose();
-	path.dispose();
-}
-
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/RegionClippingTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/RegionClippingTab.java
deleted file mode 100644
index 6b536f0..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/RegionClippingTab.java
+++ /dev/null
@@ -1,210 +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.swt.examples.graphics;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * This tab demonstrates how to apply a region clipping and the effects of
- * applying one.
- */
-public class RegionClippingTab extends GraphicsTab {
-	
-	private Combo clippingCb;
-	private Button colorButton1, colorButton2;
-	private Menu menu1, menu2;
-	private GraphicsBackground colorGB1, colorGB2;
-
-public RegionClippingTab(GraphicsExample example) {
-	super(example);
-}
-
-public String getCategory() {
-	return GraphicsExample.getResourceString("Clipping"); //$NON-NLS-1$
-}
-
-public String getText() {
-	return GraphicsExample.getResourceString("RegionClipping"); //$NON-NLS-1$
-}
-
-public String getDescription() {
-	return GraphicsExample.getResourceString("RegionClippingDescription"); //$NON-NLS-1$
-}
-
-public void dispose() {
-	if (menu1 != null) {
-		menu1.dispose();
-		menu1 = null;
-	}
-	if (menu2 != null) {
-		menu2.dispose();
-		menu2 = null;
-	}
-}
-
-/** 
- * Creates the widgets used to control the drawing.
- */
-public void createControlPanel(Composite parent) {
-	// create drop down combo for choosing clipping
-	Composite comp = new Composite(parent, SWT.NONE);
-	comp.setLayout(new GridLayout(2, false));
-	
-	new Label(comp, SWT.CENTER).setText(GraphicsExample
-			.getResourceString("Clipping")); //$NON-NLS-1$
-	clippingCb = new Combo(comp, SWT.DROP_DOWN);
-	clippingCb.add(GraphicsExample.getResourceString("Region1")); //$NON-NLS-1$
-	clippingCb.add(GraphicsExample.getResourceString("Region2")); //$NON-NLS-1$
-	clippingCb.add(GraphicsExample.getResourceString("Add")); //$NON-NLS-1$
-	clippingCb.add(GraphicsExample.getResourceString("Sub")); //$NON-NLS-1$
-	clippingCb.add(GraphicsExample.getResourceString("Inter")); //$NON-NLS-1$
-	clippingCb.select(0);
-	clippingCb.addListener(SWT.Selection, new Listener() {
-		public void handleEvent(Event event) {
-				example.redraw();
-		}
-	});
-
-	// color menu
-	ColorMenu cm = new ColorMenu();
-	menu1 = cm.createMenu(parent.getParent(), new ColorListener() {
-		public void setColor(GraphicsBackground gb) {
-			colorGB1 = gb;		
-			colorButton1.setImage(gb.getThumbNail());
-			example.redraw();
-		}
-	});
-	menu2 = cm.createMenu(parent.getParent(), new ColorListener() {
-		public void setColor(GraphicsBackground gb) {
-			colorGB2 = gb;		
-			colorButton2.setImage(gb.getThumbNail());
-			example.redraw();
-		}
-	});
-	
-	// initialize the color to blue
-	colorGB1 = (GraphicsBackground)menu1.getItem(4).getData();
-	// initialize the color to red
-	colorGB2 = (GraphicsBackground)menu2.getItem(2).getData();
-	
-	// color button 1
-	comp = new Composite(parent, SWT.NONE);
-	comp.setLayout(new GridLayout(2, false));
-	
-	colorButton1 = new Button(comp, SWT.PUSH);
-	colorButton1.setText(GraphicsExample
-			.getResourceString("Color1")); //$NON-NLS-1$
-	colorButton1.setImage(colorGB1.getThumbNail());
-	colorButton1.addListener(SWT.Selection, new Listener() { 
-		public void handleEvent(Event event) {
-			final Button button = (Button) event.widget;
-			final Composite parent = button.getParent(); 
-			Rectangle bounds = button.getBounds();
-			Point point = parent.toDisplay(new Point(bounds.x, bounds.y));
-			menu1.setLocation(point.x, point.y + bounds.height);
-			menu1.setVisible(true);
-		}
-	});
-
-	// color button 2
-	comp = new Composite(parent, SWT.NONE);
-	comp.setLayout(new GridLayout(2, false));
-	
-	colorButton2 = new Button(comp, SWT.PUSH);
-	colorButton2.setText(GraphicsExample
-			.getResourceString("Color2")); //$NON-NLS-1$
-	colorButton2.setImage(colorGB2.getThumbNail());
-	colorButton2.addListener(SWT.Selection, new Listener() { 
-		public void handleEvent(Event event) {
-			final Button button = (Button) event.widget;
-			final Composite parent = button.getParent(); 
-			Rectangle bounds = button.getBounds();
-			Point point = parent.toDisplay(new Point(bounds.x, bounds.y));
-			menu2.setLocation(point.x, point.y + bounds.height);
-			menu2.setVisible(true);
-		}
-	});
-}
-
-public void paint(GC gc, int width, int height) {
-	if (!example.checkAdvancedGraphics()) return;
-	Device device = gc.getDevice();
-	
-	// array of coordinate points of polygon 1 (region 1)
-	int [] polygon1 = new int [] {10, height/2, 9*width/16, 10, 9*width/16, height-10};
-	Region region1 = new Region(device);
-	region1.add(polygon1);
-
-	// array of coordinate points of polygon 2 (region 2)
-	int [] polygon2 = new int [] {
-			9*width/16, 10,
-			9*width/16, height/8,
-			7*width/16, 2*height/8,
-			9*width/16, 3*height/8,
-			7*width/16, 4*height/8,
-			9*width/16, 5*height/8,
-			7*width/16, 6*height/8,
-			9*width/16, 7*height/8,
-			9*width/16, height-10,
-			width-10, height/2
-	};
-	Region region2 = new Region(device);
-	region2.add(polygon2);
-	
-	gc.setAlpha(127);
-	
-	int clippingIndex = clippingCb.getSelectionIndex();
-	
-	switch (clippingIndex) {
-	case 0:
-		// region 1
-		gc.setClipping(region1);
-		gc.setBackground(colorGB1.getBgColor1());
-		gc.fillPolygon(polygon1);
-		break;
-	case 1:
-		// region 2
-		gc.setClipping(region2);
-		gc.setBackground(colorGB2.getBgColor1());
-		gc.fillPolygon(polygon2);
-		break;
-	case 2:
-		// add		
-		region1.add(region2);
-		break;
-	case 3:
-		// sub
-		region1.subtract(region2);
-		break;
-	case 4:
-		// intersect
-		region1.intersect(region2);
-		break;		
-	}
-	
-	if (clippingIndex > 1) {
-		gc.setClipping(region1);
-		
-		gc.setBackground(colorGB1.getBgColor1());
-		gc.fillPolygon(polygon1);
-		
-		gc.setBackground(colorGB2.getBgColor1());
-	    gc.fillPolygon(polygon2);
-	}
-	
-	region1.dispose();
-	region2.dispose();
-    }
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ShapesTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ShapesTab.java
deleted file mode 100644
index 8cebcdb..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ShapesTab.java
+++ /dev/null
@@ -1,199 +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.swt.examples.graphics;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-
-/**
- * This tab draws 3D shapes (in 2D) using various line styles.
- */
-public class ShapesTab extends AnimatedGraphicsTab {
-	
-	int upDownValue;
-	int inc = 1;
-	
-public ShapesTab(GraphicsExample example) {
-	super(example);
-	upDownValue = 0;
-}
-
-public String getCategory() {
-	return GraphicsExample.getResourceString("Lines"); //$NON-NLS-1$
-}
-
-public String getText() {
-	return GraphicsExample.getResourceString("Shapes"); //$NON-NLS-1$
-}
-
-public String getDescription() {
-	return GraphicsExample.getResourceString("ShapesDescription"); //$NON-NLS-1$
-}
-
-public void next(int width, int height) {
-	upDownValue += inc;
-
-	if (upDownValue > 5) inc = -1;
-	if (upDownValue < -5) inc = 1;
-}
-
-public void paint(GC gc, int width, int height) {
-	if (!example.checkAdvancedGraphics()) return;
-	Device device = gc.getDevice();
-
-	int size = 100;
-	
-	gc.setLineWidth(2);
-	
-	// ----- cube -----
-	
-	Transform transform = new Transform(device);
-	transform.translate(width/4 - size, height/4 + -upDownValue);
-	gc.setTransform(transform);
-	
-	gc.setLineStyle(SWT.LINE_DOT);
-
-	// fill in left face
-	gc.setBackground(device.getSystemColor(SWT.COLOR_RED));
-	gc.fillPolygon(new int [] {0, 0, size/3, -size/2, size/3, size/2, 0, size});
-	
-	gc.setLineStyle(SWT.LINE_SOLID);
-	
-	// square
-	gc.drawRectangle(0, 0, size, size);
-	
-	// next 3 solid lines
-	gc.drawLine(0, 0, size/3, -size/2);			// left
-	gc.drawLine(size, 0, 4*size/3, -size/2);	// middle
-	gc.drawLine(size, size, 4*size/3, size/2);	// right
-	
-	// 2 furthest solid lines
-	gc.drawLine(size/3, -size/2, 4*size/3, -size/2);  	// horizontal
-	gc.drawLine(4*size/3, size/2, 4*size/3, -size/2);	// vertical
-	
-	// 3 dotted lines
-	gc.setLineStyle(SWT.LINE_DOT);
-	gc.drawLine(0, size, size/3, size/2);
-	gc.drawLine(size/3, -size/2, size/3, size/2);
-	gc.drawLine(4*size/3, size/2, size/3, size/2);
-	
-	// fill right side of cube
-	gc.setBackground(device.getSystemColor(SWT.COLOR_GRAY));
-	gc.fillPolygon(new int [] {size, 0, 4*size/3, -size/2, 4*size/3, size/2, size, size});
-	
-	transform.dispose();
-	
-	// ----- pyramid -----
-	
-	transform = new Transform(device);
-	transform.translate(width/2 + size/2, height/4 + size + upDownValue);
-	gc.setTransform(transform);
-	
-	// fill back of pyramid
-	gc.fillPolygon(new int [] {size/3, -size/2, 6*size/10, -5*size/4, 4*size/3, -size/2});
-	
-	// fill left side of pyramid
-	gc.setBackground(device.getSystemColor(SWT.COLOR_GREEN));
-	gc.fillPolygon(new int [] {0, 0, 6*size/10, -5*size/4, size/3, -size/2});
-	
-	// select solid line style
-	gc.setLineStyle(SWT.LINE_SOLID);
-	
-	// 2 solid lines of base
-	gc.drawLine(0, 0, size, 0);
-	gc.drawLine(size, 0, 4*size/3, -size/2);
-	
-	// 3 solid lines of pyramid
-	gc.drawLine(0, 0, 6*size/10, -5*size/4);
-	gc.drawLine(size, 0, 6*size/10, -5*size/4);
-	gc.drawLine(4*size/3, -size/2, 6*size/10, -5*size/4);
-	
-	// select dot line style
-	gc.setLineStyle(SWT.LINE_DOT);
-	
-	// 3 dotted lines
-	gc.drawLine(0, 0, size/3, -size/2);					// left 
-	gc.drawLine(size/3, -size/2, 6*size/10, -5*size/4); // to top of pyramid
-	gc.drawLine(4*size/3, -size/2, size/3, -size/2);	// right
-
-	transform.dispose();
-	
-	// ----- rectangular prism -----
-	
-	transform = new Transform(device);
-	transform.translate(width/2 + upDownValue, height/2 + size);
-	gc.setTransform(transform);
-	
-	// fill bottom
-	gc.setBackground(device.getSystemColor(SWT.COLOR_BLUE));
-	gc.fillPolygon(new int [] {0, size, size/3, size/2, 7*size/3, size/2, 2*size, size});
-	
-	// select solid line style
-	gc.setLineStyle(SWT.LINE_SOLID);
-	
-	gc.drawRectangle(0, 0, 2*size, size);
-	
-	// next 3 solid lines
-	gc.drawLine(0, 0, size/3, -size/2);			// left
-	gc.drawLine(2*size, 0, 7*size/3, -size/2);	// middle
-	gc.drawLine(2*size, size, 7*size/3, size/2);	// right
-	
-	// 2 furthest solid lines
-	gc.drawLine(size/3, -size/2, 7*size/3, -size/2);  	// horizontal
-	gc.drawLine(7*size/3, size/2, 7*size/3, -size/2);	// vertical
-	
-	// 3 dotted lines
-	gc.setLineStyle(SWT.LINE_DASHDOTDOT);
-	gc.drawLine(0, size, size/3, size/2);
-	gc.drawLine(size/3, -size/2, size/3, size/2);
-	gc.drawLine(7*size/3, size/2, size/3, size/2);
-	
-	// fill top
-	gc.setBackground(device.getSystemColor(SWT.COLOR_GRAY));
-	gc.fillPolygon(new int [] {0, 0, size/3, -size/2, 7*size/3, -size/2, 2*size, 0});
-
-	transform.dispose();
-	
-	// ----- triangular shape -----
-	transform = new Transform(device);
-	transform.translate(width/4 - size - upDownValue, height/2 + size + upDownValue);
-	gc.setTransform(transform);
-	
-	// fill back of shape (top left)
-	gc.setBackground(device.getSystemColor(SWT.COLOR_YELLOW));
-	gc.fillPolygon(new int [] {0, 0, size/2, -size, size/2, -size/3});
-
-	// fill back of shape (bottom right)
-	gc.fillPolygon(new int [] {size, 0, size/2, size, size/2, -size/3});
-	
-	// select solid line style
-	gc.setLineStyle(SWT.LINE_SOLID);
-	
-	// solid lines of bottom triangle
-	gc.drawLine(0, 0, size/2, size);
-	gc.drawLine(size, 0, size/2, size);
-	
-	// solid lines of top triangle
-	gc.drawLine(0, 0, size/2, -size);
-	gc.drawLine(size, 0, size/2, -size);
-	
-	// solid lines on top
-	gc.drawLine(0, 0, size/2, -size/3);
-	gc.drawLine(size, 0, size/2, -size/3);
-	gc.drawLine(size/2, -size/3, size/2, size);
-	gc.drawLine(size/2, -size/3, size/2, -size);
-	
-	transform.dispose();
-}
-
-}
-
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/SpiralTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/SpiralTab.java
deleted file mode 100644
index 59122ef..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/SpiralTab.java
+++ /dev/null
@@ -1,164 +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.swt.examples.graphics;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * This tab presents a spiral consisting of the number of petals specified.
- * */
-public class SpiralTab extends AnimatedGraphicsTab {
-	
-	int angle;					// angle by which to rotate the petals
-	Spinner petalSpinner;		// spinner to control number of petals
-	Button colorButton;
-	GraphicsBackground foreground;
-	Menu menu;
-	
-public SpiralTab(GraphicsExample example) {
-	super(example);
-	angle = -90;
-}
-
-public void dispose() {
-	if (menu != null) {
-		menu.dispose();
-		menu = null;
-	}
-}
-/**
- * This method creates a spinner for specifying the number of petals. The call to the
- * createControlPanel method in the super class create the controls that are
- * defined in the super class.
- * 
- * @param parent The parent composite 
- */
-public void createControlPanel(Composite parent) {
-	super.createControlPanel(parent);
-		
-	// create spinner number of petals
-	Composite comp = new Composite(parent, SWT.NONE);
-	comp.setLayout(new GridLayout(2, false));
-	
-	new Label(comp, SWT.CENTER).setText(GraphicsExample
-			.getResourceString("Petals")); //$NON-NLS-1$
-	petalSpinner = new Spinner(comp, SWT.BORDER | SWT.WRAP);
-	petalSpinner.setSelection(8);
-	petalSpinner.setMinimum(3);
-	petalSpinner.setMaximum(20);
-	petalSpinner.addListener(SWT.Selection, new Listener() {
-		public void handleEvent (Event event) {
-			example.redraw();
-		}
-	});
-	
-	// create color button
-	comp = new Composite(parent, SWT.NONE);
-	comp.setLayout(new GridLayout());
-	
-	ColorMenu cm = new ColorMenu();
-	cm.setPatternItems(example.checkAdvancedGraphics());
-	menu = cm.createMenu(parent.getParent(), new ColorListener() {
-		public void setColor(GraphicsBackground gb) {
-			foreground = gb;		
-			colorButton.setImage(gb.getThumbNail());
-			example.redraw();
-		}
-	});
-
-	// initialize the foreground to the 2nd item in the menu
-	foreground = (GraphicsBackground)menu.getItem(1).getData();
-	
-	// color button
-	colorButton = new Button(comp, SWT.PUSH);
-	colorButton.setText(GraphicsExample
-			.getResourceString("Color")); //$NON-NLS-1$
-	colorButton.setImage(foreground.getThumbNail());
-	colorButton.addListener(SWT.Selection, new Listener() { 
-		public void handleEvent(Event event) {
-			final Button button = (Button) event.widget;
-			final Composite parent = button.getParent(); 
-			Rectangle bounds = button.getBounds();
-			Point point = parent.toDisplay(new Point(bounds.x, bounds.y));
-			menu.setLocation(point.x, point.y + bounds.height);
-			menu.setVisible(true);
-		}
-	});
-}
-
-public String getCategory() {
-	return GraphicsExample.getResourceString("Misc"); //$NON-NLS-1$
-}
-
-public String getText() {
-	return GraphicsExample.getResourceString("Spiral"); //$NON-NLS-1$
-}
-
-public String getDescription() {
-	return GraphicsExample.getResourceString("SpiralDescription"); //$NON-NLS-1$
-}
-
-/* (non-Javadoc)
- * @see org.eclipse.swt.examples.graphics.AnimatedGraphicsTab#getAnimationTime()
- */
-public int getInitialAnimationTime() {
-	return 150;	
-}
-
-/* (non-Javadoc)
- * @see org.eclipse.swt.examples.graphics.AnimatedGraphicsTab#next(int, int)
- */
-public void next(int width, int height) {
-	if (angle == 270) {
-		angle = -90;
-	}
-	angle += 10;
-}
-
-/* (non-Javadoc)
- * @see org.eclipse.swt.examples.graphics.GraphicsTab#paint(org.eclipse.swt.graphics.GC, int, int)
- */
-public void paint(GC gc, int width, int height) {
-	if (!example.checkAdvancedGraphics()) return;
-	Device device = gc.getDevice();
-	
-	// set line attributes
-	gc.setLineWidth(20);
-	gc.setLineCap(SWT.CAP_ROUND);	// round line ends
-	gc.setAntialias(SWT.ON);	// smooth jagged edges
-	
-	Pattern pattern = null;
-	if (foreground.getBgColor1() != null) {
-		gc.setForeground(foreground.getBgColor1());
-	} else if (foreground.getBgImage() != null) {
-		pattern = new Pattern(device, foreground.getBgImage());
-		gc.setForegroundPattern(pattern);
-	}
-
-	// draw petals for the spiral
-	Transform transform;
-	int n = petalSpinner.getSelection();
-	for (int i=0; i < n; i++) {
-		transform = new Transform(device);
-		transform.translate(width/2, height/2);
-		transform.rotate(-(angle + 360/n * i));
-		gc.setTransform(transform);
-		gc.drawArc(0, 0, width/3, height/6, 0, 180);
-		transform.dispose();
-	}
-	
-	if (pattern != null) pattern.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/StarPolyTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/StarPolyTab.java
deleted file mode 100644
index e6ea151..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/StarPolyTab.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.swt.examples.graphics;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class StarPolyTab extends GraphicsTab {
-	int[] radial;
-	static final int POINTS  = 11;
-	
-	Combo fillRuleCb;
-
-public StarPolyTab(GraphicsExample example) {
-	super(example);
-	radial = new int[POINTS * 2];
-}
-
-public void createControlPanel(Composite parent) {
-	new Label(parent, SWT.NONE).setText(GraphicsExample.getResourceString("FillRule")); //$NON-NLS-1$
-	fillRuleCb = new Combo(parent, SWT.DROP_DOWN);
-	fillRuleCb.add("FILL_EVEN_ODD");
-	fillRuleCb.add("FILL_WINDING");
-	fillRuleCb.select(0);
-	fillRuleCb.addListener(SWT.Selection, new Listener() {
-		public void handleEvent (Event event) {
-			example.redraw();
-		}
-	});
-}
-
-public String getCategory() {
-	return GraphicsExample.getResourceString("Polygons"); //$NON-NLS-1$
-}
-
-public String getText() {
-	return GraphicsExample.getResourceString("StarPolygon"); //$NON-NLS-1$
-}
-
-public String getDescription() {
-	return GraphicsExample.getResourceString("StarPolygonDescription"); //$NON-NLS-1$
-}
-
-public void paint(GC gc, int width, int height) {
-    int centerX = width / 2;
-    int centerY = height / 2;
-    int pos = 0;
-    for (int i = 0; i < POINTS; ++i) {
-        double r = Math.PI*2 * pos/POINTS;
-        radial[i*2] = (int)((1+Math.cos(r))*centerX);
-        radial[i*2+1] = (int)((1+Math.sin(r))*centerY);
-        pos = (pos + POINTS/2) % POINTS;
-    }
-	gc.setFillRule(fillRuleCb.getSelectionIndex() != 0 ? SWT.FILL_WINDING : SWT.FILL_EVEN_ODD);
-	gc.setBackground(gc.getDevice().getSystemColor(SWT.COLOR_WHITE));
-    gc.fillPolygon(radial);
-    gc.drawPolygon(radial);
-}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/TextAntialiasTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/TextAntialiasTab.java
deleted file mode 100644
index 89ba22c..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/TextAntialiasTab.java
+++ /dev/null
@@ -1,192 +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.swt.examples.graphics;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * This tab demonstrates antialiasing for text. Antialiasing is used for
- * smoothing jagged edges in graphics. This tab allows the user to see the
- * effects of different antialiasing values.
- */
-public class TextAntialiasTab extends GraphicsTab {
-
-	Combo aliasCombo;
-	static int[] aliasValues = { SWT.OFF, SWT.DEFAULT, SWT.ON };
-	
-	Button colorButton;
-	Menu menu;
-	GraphicsBackground textColor;
-	String text = GraphicsExample.getResourceString("SWT");
-
-	
-public TextAntialiasTab(GraphicsExample example) {
-	super(example);
-}
-
-public String getCategory() {
-	return GraphicsExample.getResourceString("Antialiasing"); //$NON-NLS-1$
-}
-
-public String getText() {
-	return GraphicsExample.getResourceString("Text"); //$NON-NLS-1$ 
-}
-
-public String getDescription() {
-	return GraphicsExample.getResourceString("AntialiasingTextDesc"); //$NON-NLS-1$
-}
-
-public void dispose() {
-	if (menu != null) {
-		menu.dispose();
-		menu = null;
-	}
-}
-
-public void createControlPanel(Composite parent) {
-
-	Composite comp;
-	
-	// create drop down combo for antialiasing
-	comp = new Composite(parent, SWT.NONE);
-	comp.setLayout(new GridLayout(2, false));
-	new Label(comp, SWT.CENTER).setText(GraphicsExample
-			.getResourceString("Antialiasing")); //$NON-NLS-1$
-	aliasCombo = new Combo(comp, SWT.DROP_DOWN);
-	aliasCombo.add("OFF");
-	aliasCombo.add("DEFAULT");
-	aliasCombo.add("ON");
-	aliasCombo.select(0);
-	aliasCombo.addListener(SWT.Selection, new Listener() {
-		public void handleEvent(Event event) {
-				example.redraw();
-		}
-	});
-		
-	ColorMenu cm = new ColorMenu();
-	cm.setColorItems(true);
-	menu = cm.createMenu(parent.getParent(), new ColorListener() {
-		public void setColor(GraphicsBackground gb) {
-			textColor = gb;
-			colorButton.setImage(gb.getThumbNail());
-			example.redraw();
-		}
-	});
-	
-	// create color button
-	comp = new Composite(parent, SWT.NONE);
-	comp.setLayout(new GridLayout());
-	
-	// initialize the color to black
-	textColor = (GraphicsBackground)menu.getItem(1).getData();
-	
-	colorButton = new Button(comp, SWT.PUSH);
-	colorButton.setText(GraphicsExample.getResourceString("Color")); //$NON-NLS-1$
-	colorButton.setImage(textColor.getThumbNail());
-	
-	colorButton.addListener(SWT.Selection, new Listener() { 
-		public void handleEvent(Event event) {
-			final Button button = (Button) event.widget;
-			final Composite parent = button.getParent(); 
-			Rectangle bounds = button.getBounds();
-			Point point = parent.toDisplay(new Point(bounds.x, bounds.y));
-			menu.setLocation(point.x, point.y + bounds.height);
-			menu.setVisible(true);
-		}
-	});
-}
-
-/* (non-Javadoc)
- * @see org.eclipse.swt.examples.graphics.GraphicsTab#paint(org.eclipse.swt.graphics.GC, int, int)
- */
-public void paint(GC gc, int width, int height) {
-	if (!example.checkAdvancedGraphics()) return;
-	Device device = gc.getDevice();
-	
-	if (textColor != null && textColor.getBgColor1() != null)
-		gc.setForeground(textColor.getBgColor1());
-
-	gc.setTextAntialias(aliasValues[aliasCombo.getSelectionIndex()]);
-
-	// column 1, row 1
-	Font font = new Font(device, getPlatformFontFace(0), 100, SWT.NORMAL);
-	gc.setFont(font);
-	Point size = gc.stringExtent(text);
-	gc.drawString(text, width/4 - size.x/2, height/4 - size.y/2, true);
-	font.dispose();
-	
-	// column 1, row 2
-	font = new Font(device, getPlatformFontFace(1), 100, SWT.NORMAL);
-	gc.setFont(font);
-	size = gc.stringExtent(text);
-	gc.drawString(text, width/4 - size.x/2, 3*height/4 - size.y/2, true);
-	font.dispose();
-	
-	// column 2, row 1
-	font = new Font(device, getPlatformFontFace(2), 50, SWT.NORMAL);
-	gc.setFont(font);
-	size = gc.stringExtent(text);
-	gc.drawString(text, (width-size.x)/2, 0, true);
-	font.dispose();
-	
-	// column 2, row 2
-	font = new Font(device, getPlatformFontFace(3), 100, SWT.ITALIC);
-	gc.setFont(font);
-	size = gc.stringExtent(text);
-	gc.drawString(text, (width-size.x)/2, (height-size.y)/2, true);
-	font.dispose();
-	
-	// column 2, row 3
-	font = new Font(device, getPlatformFontFace(4), 50, SWT.NORMAL);
-	gc.setFont(font);
-	size = gc.stringExtent(text);
-	gc.drawString(text, (width-size.x)/2, height-size.y, true);
-	font.dispose();
-	
-	// column 3, row 1
-	font = new Font(device, getPlatformFontFace(5), 100, SWT.NORMAL);
-	gc.setFont(font);
-	size = gc.stringExtent(text);
-	gc.drawString(text, 3*width/4 - size.x/2, height/4 - size.y/2, true);
-	font.dispose();
-	
-	// column 3, row 2
-	font = new Font(device, getPlatformFontFace(6), 100, SWT.NORMAL);
-	gc.setFont(font);
-	size = gc.stringExtent(text);
-	gc.drawString(text, 3*width/4 - size.x/2, 3*height/4 - size.y/2, true);
-	font.dispose();
-}
-
-/**
- * Returns the name of a valid font for the host platform.
- * 
- * @param index
- *            index is used to determine the appropriate font face
- */
-static String getPlatformFontFace(int index) {
-	if(SWT.getPlatform() == "win32" || SWT.getPlatform() == "wpf") {
-		return new String [] {"Bookman Old Style", "Century Gothic", "Comic Sans MS", "Impact", "Garamond", "Lucida Console", "Monotype Corsiva"} [index];	
-	} else if (SWT.getPlatform() == "motif") {
-		return new String [] {"urw palladio l", "Courier", "qub", "URW Gothic L", "Times", "Lucida", "URW ChanceryL"} [index];
-	} else if (SWT.getPlatform() == "gtk") {
-		return new String [] {"Luxi Mono", "KacstTitleL", "Baekmuk Batang", "Baekmuk Headline", "KacstFarsi", "Baekmuk Gulim", "URW Chancery L"} [index];
-	} else if (SWT.getPlatform() == "carbon") {
-		return new String [] {"Apple Chancery", "Brush Script MT", "Comic Sans MS", "Impact", "Herculanum", "Lucida Grande", "Papyrus"} [index];
-	} else { // photon, etc ...
-		return new String [] {"Courier", "Verdana", "Verdana", "Verdana", "Verdana", "Verdana", "Verdana"} [index];
-	}
-}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ace_club.jpg b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ace_club.jpg
deleted file mode 100644
index ed5ea31..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ace_club.jpg
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ace_diamond.jpg b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ace_diamond.jpg
deleted file mode 100644
index 3cf13f2..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ace_diamond.jpg
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ace_hearts.jpg b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ace_hearts.jpg
deleted file mode 100644
index e7431b1..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ace_hearts.jpg
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ace_spade.jpg b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ace_spade.jpg
deleted file mode 100644
index f409111..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ace_spade.jpg
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/alpha_img1.png b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/alpha_img1.png
deleted file mode 100644
index 6b410e2..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/alpha_img1.png
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/alpha_img2.png b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/alpha_img2.png
deleted file mode 100644
index b720214..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/alpha_img2.png
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/back.gif b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/back.gif
deleted file mode 100644
index 4fb4150..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/back.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/cube.png b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/cube.png
deleted file mode 100644
index 636a4a3..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/cube.png
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/db.gif b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/db.gif
deleted file mode 100644
index 0a13d8c..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/db.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/font.gif b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/font.gif
deleted file mode 100644
index 6538949..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/font.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/help.gif b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/help.gif
deleted file mode 100644
index 9d70301..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/help.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/home_nav.gif b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/home_nav.gif
deleted file mode 100644
index 4472e8c..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/home_nav.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/houses.png b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/houses.png
deleted file mode 100644
index ef5814c..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/houses.png
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/irmaos.jpg b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/irmaos.jpg
deleted file mode 100644
index 3352cde..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/irmaos.jpg
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/maze.bmp b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/maze.bmp
deleted file mode 100644
index 5b87e76..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/maze.bmp
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/next.gif b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/next.gif
deleted file mode 100644
index e2f8c3e..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/next.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ovals.png b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ovals.png
deleted file mode 100644
index df7fe5e..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ovals.png
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/pattern1.jpg b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/pattern1.jpg
deleted file mode 100644
index d66a7d0..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/pattern1.jpg
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/pattern2.jpg b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/pattern2.jpg
deleted file mode 100644
index d689eca..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/pattern2.jpg
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/pattern3.jpg b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/pattern3.jpg
deleted file mode 100644
index 81e06ac..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/pattern3.jpg
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/pause.gif b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/pause.gif
deleted file mode 100644
index 161e3f5..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/pause.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/play.gif b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/play.gif
deleted file mode 100644
index 16f4e25..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/play.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/swap.gif b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/swap.gif
deleted file mode 100644
index 870934b..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/swap.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/swt.png b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/swt.png
deleted file mode 100644
index 4049b55..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/swt.png
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/task.gif b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/task.gif
deleted file mode 100644
index d3d10f5..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/task.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/helloworld/HelloWorld1.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/helloworld/HelloWorld1.java
deleted file mode 100755
index 1c98dc3..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/helloworld/HelloWorld1.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.examples.helloworld;
-
-
-import org.eclipse.swt.widgets.*;
-
-/*
- * This example demonstrates the minimum amount of code required
- * to open an SWT Shell and process the events.
- */
-public class HelloWorld1 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new HelloWorld1 ().open (display);
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-	
-public Shell open (Display display) {
-	Shell shell = new Shell (display);
-	shell.open ();
-	return shell;
-}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/helloworld/HelloWorld2.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/helloworld/HelloWorld2.java
deleted file mode 100755
index 320c8c8..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/helloworld/HelloWorld2.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.examples.helloworld;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import java.util.ResourceBundle;
-
-/*
- * This example builds on HelloWorld1 and demonstrates the minimum amount 
- * of code required to open an SWT Shell with a Label and process the events.
- */
-public class HelloWorld2 {
-	private static ResourceBundle resHello = ResourceBundle.getBundle("examples_helloworld");
-	
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new HelloWorld2 ().open (display);
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-
-public Shell open (Display display) {
-	Shell shell = new Shell (display);
-	Label label = new Label (shell, SWT.CENTER);
-	label.setText (resHello.getString("Hello_world"));
-	label.setBounds (shell.getClientArea ());
-	shell.open ();
-	return shell;
-}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/helloworld/HelloWorld3.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/helloworld/HelloWorld3.java
deleted file mode 100755
index 7b61ad1..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/helloworld/HelloWorld3.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.examples.helloworld;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.events.*;
-import java.util.ResourceBundle;
-
-/*
- * This example builds on HelloWorld2 and demonstrates how to resize the 
- * Label when the Shell resizes using a Listener mechanism.
- */
-public class HelloWorld3 {
-	private static ResourceBundle resHello = ResourceBundle.getBundle("examples_helloworld");
-	
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new HelloWorld3 ().open (display);
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-
-public Shell open (Display display) {
-	final Shell shell = new Shell (display);
-	final Label label = new Label (shell, SWT.CENTER);
-	label.setText (resHello.getString("Hello_world"));
-	label.pack();
-	shell.addControlListener(new ControlAdapter() {
-		public void controlResized(ControlEvent e) {
-			label.setBounds (shell.getClientArea ());
-		}
-	});
-	shell.pack();
-	shell.open ();
-	return shell;
-}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/helloworld/HelloWorld4.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/helloworld/HelloWorld4.java
deleted file mode 100755
index 204f458..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/helloworld/HelloWorld4.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.examples.helloworld;
-
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-import java.util.ResourceBundle;
-
-/*
- * This example builds on HelloWorld2 and demonstrates how to resize the 
- * Label when the Shell resizes using a Layout.
- */
-public class HelloWorld4 {
-	private static ResourceBundle resHello = ResourceBundle.getBundle("examples_helloworld");
-	
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new HelloWorld4 ().open (display);
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-
-public Shell open (Display display) {
-	Shell shell = new Shell (display);
-	shell.setLayout(new FillLayout());
-	Label label = new Label (shell, SWT.CENTER);
-	label.setText (resHello.getString("Hello_world"));
-	shell.pack ();
-	shell.open ();
-	return shell;
-}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/helloworld/HelloWorld5.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/helloworld/HelloWorld5.java
deleted file mode 100755
index 6361154..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/helloworld/HelloWorld5.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.examples.helloworld;
-
-
-
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import java.util.ResourceBundle;
-
-/*
- * This example builds on HelloWorld1 and demonstrates how to draw directly
- * on an SWT Control.
- */
-public class HelloWorld5 {
-	private static ResourceBundle resHello = ResourceBundle.getBundle("examples_helloworld");
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new HelloWorld5 ().open (display);
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-
-public Shell open (Display display) {
-	final Color red = new Color(display, 0xFF, 0, 0);
-	final Shell shell = new Shell (display);
-	shell.addPaintListener(new PaintListener () {
-		public void paintControl(PaintEvent event){
-			GC gc = event.gc;
-			gc.setForeground(red);
-			Rectangle rect = shell.getClientArea();
-			gc.drawRectangle(rect.x + 10, rect.y + 10, rect.width - 20, rect.height - 20);
-			gc.drawString(resHello.getString("Hello_world"), rect.x + 20, rect.y + 20);
-		}
-	});
-	shell.addDisposeListener (new DisposeListener () {
-		public void widgetDisposed (DisposeEvent e) {
-			red.dispose();
-		}
-	});
-	shell.open ();
-	return shell;
-}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/hoverhelp/HoverHelp.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/hoverhelp/HoverHelp.java
deleted file mode 100755
index 93f7b3e..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/hoverhelp/HoverHelp.java
+++ /dev/null
@@ -1,355 +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.swt.examples.hoverhelp;
-
-
-import java.io.*;
-import java.text.*;
-import java.util.*;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-/**
- * This example demonstrates how to implement hover help feedback
- * using the MouseTrackListener.
- */
-public class HoverHelp {
-	private static ResourceBundle resourceBundle = ResourceBundle.getBundle("examples_hoverhelp");
-	
-	static final int
-		hhiInformation = 0,
-		hhiWarning = 1;
-	static final String[] imageLocations = {
-		"information.gif",
-		"warning.gif"
-	};
-	Image images[];
-
-	/**
-	 * Runs main program.
-	 */
-	public static void main (String [] args) {
-		Display display = new Display();
-		Shell shell = new HoverHelp().open(display);
-		// Event loop
-		while (shell != null && ! shell.isDisposed()) {
-			if (! display.readAndDispatch()) display.sleep();
-		}
-		// Cleanup
-		display.dispose();
-
-	}
-	
-	/**
-	 * Opens the main program.
-	 */
-	public Shell open(Display display) {		
-		// Load the images
-		Class clazz = HoverHelp.class;
-		try {
-			if (images == null) {
-				images = new Image[imageLocations.length];
-				
-				for (int i = 0; i < imageLocations.length; ++i) {
-					InputStream stream = clazz.getResourceAsStream(imageLocations[i]);
-					ImageData source = new ImageData(stream);
-					ImageData mask = source.getTransparencyMask();
-					images[i] = new Image(display, source, mask);
-					try {
-						stream.close();
-					} catch (IOException e) {
-						e.printStackTrace();
-					}
-				}
-			}	
-		} catch (Exception ex) {
-			System.err.println(getResourceString("error.CouldNotLoadResources",
-				new Object[] { ex.getMessage() }));
-			return null;
-		}
-
-		// Create the window
-		Shell shell = new Shell();
-		createPartControl(shell);
-		shell.addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent e) {
-				/* Free resources */
-				if (images != null) {
-					for (int i = 0; i < images.length; i++) {
-						final Image image = images[i];
-						if (image != null) image.dispose();
-					}
-					images = null;
-				}
-			}
-		});
-		shell.pack();
-		shell.open();
-		return shell;
-	}
-
-	/**
-	 * Gets a string from the resource bundle.
-	 * We don't want to crash because of a missing String.
-	 * Returns the key if not found.
-	 */
-	public String getResourceString(String key) {
-		try {
-			return resourceBundle.getString(key);
-		} catch (MissingResourceException e) {
-			return key;
-		} catch (NullPointerException e) {
-			return "!" + key + "!";
-		}			
-	}
-
-	/**
-	 * Gets a string from the resource bundle and binds it
-	 * with the given arguments. If the key is not found,
-	 * return the key.
-	 */
-	public String getResourceString(String key, Object[] args) {
-		try {
-			return MessageFormat.format(getResourceString(key), args);
-		} catch (MissingResourceException e) {
-			return key;
-		} catch (NullPointerException e) {
-			return "!" + key + "!";
-		}
-	}
-
-	/**
-	 * Creates the example
-	 */
-	public void createPartControl(Composite frame) {
-		final ToolTipHandler tooltip = new ToolTipHandler(frame.getShell());
-		
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 3;
-		frame.setLayout(layout);
-	
-		ToolBar bar = new ToolBar (frame, SWT.BORDER);
-		for (int i=0; i<5; i++) {
-			ToolItem item = new ToolItem (bar, SWT.PUSH);
-			item.setText (getResourceString("ToolItem.text", new Object[] { new Integer(i) }));
-			item.setData ("TIP_TEXT", getResourceString("ToolItem.tooltip",
-				new Object[] { item.getText() }));
-			item.setData ("TIP_HELPTEXTHANDLER", new ToolTipHelpTextHandler() {
-				public String getHelpText(Widget widget) {
-					Item item = (Item) widget;
-					return getResourceString("ToolItem.help", new Object[] { item.getText() });
-				}
-			});
-		}
-		GridData gridData = new GridData();
-		gridData.horizontalSpan = 3;
-		bar.setLayoutData(gridData);
-		tooltip.activateHoverHelp(bar);
-
-		Table table = new Table (frame, SWT.BORDER);
-		for (int i=0; i<4; i++) {
-			TableItem item = new TableItem (table, SWT.PUSH);
-			item.setText (getResourceString("Item", new Object[] { new Integer(i) }));
-			item.setData ("TIP_IMAGE", images[hhiInformation]);
-			item.setText (getResourceString("TableItem.text", new Object[] { new Integer(i) }));
-			item.setData ("TIP_TEXT", getResourceString("TableItem.tooltip",
-				new Object[] { item.getText() }));
-			item.setData ("TIP_HELPTEXTHANDLER", new ToolTipHelpTextHandler() {
-				public String getHelpText(Widget widget) {
-					Item item = (Item) widget;
-					return getResourceString("TableItem.help", new Object[] { item.getText() });
-				}
-			});
-		}
-		table.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_FILL));
-		tooltip.activateHoverHelp(table);
-	
-		Tree tree = new Tree (frame, SWT.BORDER);
-		for (int i=0; i<4; i++) {
-			TreeItem item = new TreeItem (tree, SWT.PUSH);
-			item.setText (getResourceString("Item", new Object[] { new Integer(i) }));
-			item.setData ("TIP_IMAGE", images[hhiWarning]);
-			item.setText (getResourceString("TreeItem.text", new Object[] { new Integer(i) }));
-			item.setData ("TIP_TEXT", getResourceString("TreeItem.tooltip",
-				new Object[] { item.getText() }));
-			item.setData ("TIP_HELPTEXTHANDLER", new ToolTipHelpTextHandler() {
-				public String getHelpText(Widget widget) {
-					Item item = (Item) widget;
-					return getResourceString("TreeItem.help", new Object[] { item.getText() });
-				}
-			});
-		}
-		tree.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_FILL));
-		tooltip.activateHoverHelp(tree);
-	
-		Button button = new Button (frame, SWT.PUSH);
-		button.setText (getResourceString("Hello.text"));
-		button.setData ("TIP_TEXT", getResourceString("Hello.tooltip"));
-		tooltip.activateHoverHelp(button);
-	}
-
-	/**
-	 * Emulated tooltip handler
-	 * Notice that we could display anything in a tooltip besides text and images.
-	 * For instance, it might make sense to embed large tables of data or buttons linking
-	 * data under inspection to material elsewhere, or perform dynamic lookup for creating
-	 * tooltip text on the fly.
-	 */
-	protected static class ToolTipHandler {
-		private Shell  parentShell;
-		private Shell  tipShell;
-		private Label  tipLabelImage, tipLabelText;
-		private Widget tipWidget; // widget this tooltip is hovering over
-		private Point  tipPosition; // the position being hovered over
-	
-		/**
-		 * Creates a new tooltip handler
-		 *
-		 * @param parent the parent Shell
-		 */	
-		public ToolTipHandler(Shell parent) {
-			final Display display = parent.getDisplay();
-			this.parentShell = parent;
-	
-			tipShell = new Shell(parent, SWT.ON_TOP | SWT.TOOL);
-			GridLayout gridLayout = new GridLayout();
-			gridLayout.numColumns = 2;
-			gridLayout.marginWidth = 2;
-			gridLayout.marginHeight = 2;
-			tipShell.setLayout(gridLayout);
-	
-			tipShell.setBackground(display.getSystemColor(SWT.COLOR_INFO_BACKGROUND));
-			
-			tipLabelImage = new Label(tipShell, SWT.NONE);
-			tipLabelImage.setForeground(display.getSystemColor(SWT.COLOR_INFO_FOREGROUND));
-			tipLabelImage.setBackground(display.getSystemColor(SWT.COLOR_INFO_BACKGROUND));
-			tipLabelImage.setLayoutData(new GridData(GridData.FILL_HORIZONTAL |
-				GridData.VERTICAL_ALIGN_CENTER));
-	
-			tipLabelText = new Label(tipShell, SWT.NONE);
-			tipLabelText.setForeground(display.getSystemColor(SWT.COLOR_INFO_FOREGROUND));
-			tipLabelText.setBackground(display.getSystemColor(SWT.COLOR_INFO_BACKGROUND));
-			tipLabelText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL |
-				GridData.VERTICAL_ALIGN_CENTER));
-		}
-	
-		/**
-		 * Enables customized hover help for a specified control
-		 * 
-		 * @control the control on which to enable hoverhelp
-		 */
-		public void activateHoverHelp(final Control control) {
-			/*
-			 * Get out of the way if we attempt to activate the control underneath the tooltip
-			 */
-			control.addMouseListener(new MouseAdapter () {
-				public void mouseDown (MouseEvent e) {
-					if (tipShell.isVisible()) tipShell.setVisible(false);
-				}	
-			});
-	
-			/*
-			 * Trap hover events to pop-up tooltip
-			 */
-			control.addMouseTrackListener(new MouseTrackAdapter () {
-				public void mouseExit(MouseEvent e) {
-					if (tipShell.isVisible()) tipShell.setVisible(false);
-					tipWidget = null;
-				}
-				public void mouseHover (MouseEvent event) {
-					Point pt = new Point (event.x, event.y);
-					Widget widget = event.widget;
-					if (widget instanceof ToolBar) {
-						ToolBar w = (ToolBar) widget;
-						widget = w.getItem (pt);
-					}
-					if (widget instanceof Table) {
-						Table w = (Table) widget;
-						widget = w.getItem (pt);
-					}
-					if (widget instanceof Tree) {
-						Tree w = (Tree) widget;
-						widget = w.getItem (pt);
-					}
-					if (widget == null) {
-						tipShell.setVisible(false);
-						tipWidget = null;
-						return;
-					}
-					if (widget == tipWidget) return;
-					tipWidget = widget;
-					tipPosition = control.toDisplay(pt);
-					String text = (String) widget.getData("TIP_TEXT");
-					Image image = (Image) widget.getData("TIP_IMAGE");
-					tipLabelText.setText(text != null ? text : "");
-					tipLabelImage.setImage(image); // accepts null
-					tipShell.pack();
-					setHoverLocation(tipShell, tipPosition);
-					tipShell.setVisible(true);
-				}
-			});
-	
-			/*
-			 * Trap F1 Help to pop up a custom help box
-			 */
-			control.addHelpListener(new HelpListener () {
-				public void helpRequested(HelpEvent event) {
-					if (tipWidget == null) return;
-					ToolTipHelpTextHandler handler = (ToolTipHelpTextHandler)
-						tipWidget.getData("TIP_HELPTEXTHANDLER");
-					if (handler == null) return;
-					String text = handler.getHelpText(tipWidget);
-					if (text == null) return;
-					
-					if (tipShell.isVisible()) {
-						tipShell.setVisible(false);
-						Shell helpShell = new Shell(parentShell, SWT.SHELL_TRIM);
-						helpShell.setLayout(new FillLayout());
-						Label label = new Label(helpShell, SWT.NONE);
-						label.setText(text);
-						helpShell.pack();
-						setHoverLocation(helpShell, tipPosition);
-						helpShell.open();
-					}
-				}
-			});
-		}
-		
-		/**
-		 * Sets the location for a hovering shell
-		 * @param shell the object that is to hover
-		 * @param position the position of a widget to hover over
-		 * @return the top-left location for a hovering box
-		 */
-		private void setHoverLocation(Shell shell, Point position) {
-			Rectangle displayBounds = shell.getDisplay().getBounds();
-			Rectangle shellBounds = shell.getBounds();
-			shellBounds.x = Math.max(Math.min(position.x, displayBounds.width - shellBounds.width), 0);
-			shellBounds.y = Math.max(Math.min(position.y + 16, displayBounds.height - shellBounds.height), 0);
-			shell.setBounds(shellBounds);
-		}
-	}
-	
-	/**
-	 * ToolTip help handler
-	 */
-	protected interface ToolTipHelpTextHandler {
-		/**
-		 * Get help text
-		 * @param widget the widget that is under help
-		 * @return a help text string
-		 */
-		public String getHelpText(Widget widget);
-	}	
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/hoverhelp/information.gif b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/hoverhelp/information.gif
deleted file mode 100755
index 26c7477..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/hoverhelp/information.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/hoverhelp/warning.gif b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/hoverhelp/warning.gif
deleted file mode 100755
index cf4fdf9..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/hoverhelp/warning.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/imageanalyzer/ImageAnalyzer.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/imageanalyzer/ImageAnalyzer.java
deleted file mode 100755
index da68073..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/imageanalyzer/ImageAnalyzer.java
+++ /dev/null
@@ -1,2392 +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.swt.examples.imageanalyzer;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.printing.*;
-import org.eclipse.swt.custom.*;
-import java.util.*;
-import java.net.*;
-import java.io.*;
-import java.text.MessageFormat;
-
-public class ImageAnalyzer {
-	static ResourceBundle bundle = ResourceBundle.getBundle("examples_images");
-	Display display;
-	Shell shell;
-	Canvas imageCanvas, paletteCanvas;
-	Label typeLabel, sizeLabel, depthLabel, transparentPixelLabel,
-		timeToLoadLabel, screenSizeLabel, backgroundPixelLabel,
-		locationLabel, disposalMethodLabel, delayTimeLabel,
-		repeatCountLabel, paletteLabel, dataLabel, statusLabel;
-	Combo backgroundCombo, scaleXCombo, scaleYCombo, alphaCombo;
-	Button incrementalCheck, transparentCheck, maskCheck, backgroundCheck;
-	Button previousButton, nextButton, animateButton;
-	StyledText dataText;
-	Sash sash;
-	Color whiteColor, blackColor, redColor, greenColor, blueColor, canvasBackground;
-	Font fixedWidthFont;
-	Cursor crossCursor;
-	GC imageCanvasGC;
-	
-	int paletteWidth = 140; // recalculated and used as a width hint
-	int ix = 0, iy = 0, py = 0; // used to scroll the image and palette
-	float xscale = 1, yscale = 1; // used to scale the image
-	int alpha = 255; // used to modify the alpha value of the image
-	boolean incremental = false; // used to incrementally display an image
-	boolean transparent = true; // used to display an image with transparency
-	boolean showMask = false; // used to display an icon mask or transparent image mask
-	boolean showBackground = false; // used to display the background of an animated image
-	boolean animate = false; // used to animate a multi-image file
-	Thread animateThread; // draws animated images
-	Thread incrementalThread; // draws incremental images
-	String lastPath; // used to seed the file dialog
-	String currentName; // the current image file or URL name
-	String fileName; // the current image file
-	ImageLoader loader; // the loader for the current image file
-	ImageData[] imageDataArray; // all image data read from the current file
-	int imageDataIndex; // the index of the current image data
-	ImageData imageData; // the currently-displayed image data
-	Image image; // the currently-displayed image
-	Vector incrementalEvents; // incremental image events
-	long loadTime = 0; // the time it took to load the current image
-	
-	static final int INDEX_DIGITS = 4;
-	static final int ALPHA_CHARS = 5;
-	static final int ALPHA_CONSTANT = 0;
-	static final int ALPHA_X = 1;
-	static final int ALPHA_Y = 2;
-	static final String[] OPEN_FILTER_EXTENSIONS = new String[] {
-			"*.bmp; *.gif; *.ico; *.jfif; *.jpeg; *.jpg; *.png; *.tif; *.tiff",
-			"*.bmp", "*.gif", "*.ico", "*.jpg; *.jpeg; *.jfif", "*.png", "*.tif; *.tiff" };
-	static final String[] OPEN_FILTER_NAMES = new String[] {
-			bundle.getString("All_images") + " (bmp, gif, ico, jfif, jpeg, jpg, png, tif, tiff)",
-			"BMP (*.bmp)", "GIF (*.gif)", "ICO (*.ico)", "JPEG (*.jpg, *.jpeg, *.jfif)",
-			"PNG (*.png)", "TIFF (*.tif, *.tiff)" };
-	static final String[] SAVE_FILTER_EXTENSIONS = new String[] {
-			"*.bmp", "*.bmp", "*.gif", "*.ico", "*.jpg", "*.png", "*.tif", "*.bmp" };
-	static final String[] SAVE_FILTER_NAMES = new String[] {
-			"Uncompressed BMP (*.bmp)", "RLE Compressed BMP (*.bmp)", "GIF (*.gif)",
-			"ICO (*.ico)", "JPEG (*.jpg)", "PNG (*.png)",
-			"TIFF (*.tif)", "OS/2 BMP (*.bmp)" };
-
-	class TextPrompter extends Dialog {
-		String message = "";
-		String result = null;
-		Shell dialog;
-		Text text;
-		public TextPrompter (Shell parent, int style) {
-			super (parent, style);
-		}
-		public TextPrompter (Shell parent) {
-			this (parent, SWT.APPLICATION_MODAL);
-		}
-		public String getMessage () {
-			return message;
-		}
-		public void setMessage (String string) {
-			message = string;
-		}
-		public String open () {
-			dialog = new Shell(getParent(), getStyle());
-			dialog.setText(getText());
-			dialog.setLayout(new GridLayout());
-			Label label = new Label(dialog, SWT.NONE);
-			label.setText(message);
-			label.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-			text = new Text(dialog, SWT.SINGLE | SWT.BORDER);
-			GridData data = new GridData(GridData.FILL_HORIZONTAL);
-			data.widthHint = 300;
-			text.setLayoutData(data);
-			Composite buttons = new Composite(dialog, SWT.NONE);
-			GridLayout grid = new GridLayout();
-			grid.numColumns = 2;
-			buttons.setLayout(grid);
-			buttons.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END));
-			Button ok = new Button(buttons, SWT.PUSH);
-			ok.setText(bundle.getString("OK"));
-			data = new GridData();
-			data.widthHint = 75;
-			ok.setLayoutData(data);
-			ok.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					result = text.getText();
-					dialog.dispose();
-				}
-			});
-			Button cancel = new Button(buttons, SWT.PUSH);
-			cancel.setText(bundle.getString("Cancel"));
-			data = new GridData();
-			data.widthHint = 75;
-			cancel.setLayoutData(data);
-			cancel.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					dialog.dispose();
-				}
-			});
-			dialog.setDefaultButton(ok);
-			dialog.pack();
-			dialog.open();
-			while (!dialog.isDisposed()) {
-				if (!display.readAndDispatch()) display.sleep();
-			}
-			return result;
-		}
-	}
-
-	public static void main(String [] args) {
-		Display display = new Display();
-		ImageAnalyzer imageAnalyzer = new ImageAnalyzer();
-		Shell shell = imageAnalyzer.open(display);
-		
-		while (!shell.isDisposed())
-			if (!display.readAndDispatch()) display.sleep();
-		display.dispose();
-	}
-
-	public Shell open(Display dpy) {
-		// Create a window and set its title.
-		this.display = dpy;
-		shell = new Shell(display);
-		shell.setText(bundle.getString("Image_analyzer"));
-		
-		// Hook resize and dispose listeners.
-		shell.addControlListener(new ControlAdapter() {
-			public void controlResized(ControlEvent event) {
-				resizeShell(event);
-			}
-		});
-		shell.addShellListener(new ShellAdapter() {
-			public void shellClosed(ShellEvent e) {
-				animate = false; // stop any animation in progress
-				if (animateThread != null) {
-					// wait for the thread to die before disposing the shell.
-					while (animateThread.isAlive()) {
-						if (!display.readAndDispatch()) display.sleep();
-					}
-				}
-				e.doit = true;
-			}
-		});
-		shell.addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent e) {
-				// Clean up.
-				if (image != null)
-					image.dispose();
-				whiteColor.dispose();
-				blackColor.dispose();
-				redColor.dispose();
-				greenColor.dispose();
-				blueColor.dispose();
-				fixedWidthFont.dispose();
-				crossCursor.dispose();
-			}
-		});
-
-		// Create colors and fonts.
-		whiteColor = new Color(display, 255, 255, 255);
-		blackColor = new Color(display, 0, 0, 0);
-		redColor = new Color(display, 255, 0, 0);
-		greenColor = new Color(display, 0, 255, 0);
-		blueColor = new Color(display, 0, 0, 255);
-		fixedWidthFont = new Font(display, "courier", 10, 0);
-		crossCursor = new Cursor(display, SWT.CURSOR_CROSS);
-		
-		// Add a menu bar and widgets.
-		createMenuBar();
-		createWidgets();
-		shell.pack();
-		
-		// Create a GC for drawing, and hook the listener to dispose it.
-		imageCanvasGC = new GC(imageCanvas);
-		imageCanvas.addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent e) {
-				imageCanvasGC.dispose();
-			}
-		});
-		
-		// Open the window
-		shell.open();
-		return shell;
-	}
-
-	void createWidgets() {
-		// Add the widgets to the shell in a grid layout.
-		GridLayout layout = new GridLayout();
-		layout.marginHeight = 0;
-		layout.numColumns = 2;
-		shell.setLayout(layout);
-
-		// Add a composite to contain some control widgets across the top.
-		Composite controls = new Composite(shell, SWT.NONE);
-		RowLayout rowLayout = new RowLayout();
-		rowLayout.marginTop = 5;
-		rowLayout.marginBottom = 5;
-		rowLayout.spacing = 8;
-		controls.setLayout(rowLayout);
-		GridData gridData = new GridData();
-		gridData.horizontalSpan = 2;
-		controls.setLayoutData(gridData);
-		
-		// Combo to change the background.
-		Group group = new Group(controls, SWT.NONE);
-		group.setLayout(new RowLayout());
-		group.setText(bundle.getString("Background"));
-		backgroundCombo = new Combo(group, SWT.DROP_DOWN | SWT.READ_ONLY);
-		backgroundCombo.setItems(new String[] {
-			bundle.getString("None"),
-			bundle.getString("White"),
-			bundle.getString("Black"),
-			bundle.getString("Red"),
-			bundle.getString("Green"),
-			bundle.getString("Blue")});
-		backgroundCombo.select(backgroundCombo.indexOf(bundle.getString("White")));
-		backgroundCombo.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				changeBackground();
-			}
-		});
-		
-		// Combo to change the x scale.
-		String[] values = {
-			"0.1", "0.2", "0.3", "0.4", "0.5", "0.6", "0.7", "0.8", "0.9", "1",
-			"1.1", "1.2", "1.3", "1.4", "1.5", "1.6", "1.7", "1.8", "1.9", "2",
-			"3", "4", "5", "6", "7", "8", "9", "10",};
-		group = new Group(controls, SWT.NONE);
-		group.setLayout(new RowLayout());
-		group.setText(bundle.getString("X_scale"));
-		scaleXCombo = new Combo(group, SWT.DROP_DOWN);
-		for (int i = 0; i < values.length; i++) {
-			scaleXCombo.add(values[i]);
-		}
-		scaleXCombo.select(scaleXCombo.indexOf("1"));
-		scaleXCombo.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				scaleX();
-			}
-		});
-		
-		// Combo to change the y scale.
-		group = new Group(controls, SWT.NONE);
-		group.setLayout(new RowLayout());
-		group.setText(bundle.getString("Y_scale"));
-		scaleYCombo = new Combo(group, SWT.DROP_DOWN);
-		for (int i = 0; i < values.length; i++) {
-			scaleYCombo.add(values[i]);
-		}
-		scaleYCombo.select(scaleYCombo.indexOf("1"));
-		scaleYCombo.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				scaleY();
-			}
-		});
-		
-		// Combo to change the alpha value.
-		group = new Group(controls, SWT.NONE);
-		group.setLayout(new RowLayout());
-		group.setText(bundle.getString("Alpha_K"));
-		alphaCombo = new Combo(group, SWT.DROP_DOWN | SWT.READ_ONLY);
-		for (int i = 0; i <= 255; i += 5) {
-			alphaCombo.add(String.valueOf(i));
-		}
-		alphaCombo.select(alphaCombo.indexOf("255"));
-		alphaCombo.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				alpha();
-			}
-		});
-		
-		// Check box to request incremental display.
-		group = new Group(controls, SWT.NONE);
-		group.setLayout(new RowLayout());
-		group.setText(bundle.getString("Display"));
-		incrementalCheck = new Button(group, SWT.CHECK);
-		incrementalCheck.setText(bundle.getString("Incremental"));
-		incrementalCheck.setSelection(incremental);
-		incrementalCheck.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				incremental = ((Button)event.widget).getSelection();
-			}
-		});
-
-		// Check box to request transparent display.
-		transparentCheck = new Button(group, SWT.CHECK);
-		transparentCheck.setText(bundle.getString("Transparent"));
-		transparentCheck.setSelection(transparent);
-		transparentCheck.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				transparent = ((Button)event.widget).getSelection();
-				if (image != null) {
-					imageCanvas.redraw();
-				}
-			}
-		});
-
-		// Check box to request mask display.
-		maskCheck = new Button(group, SWT.CHECK);
-		maskCheck.setText(bundle.getString("Mask"));
-		maskCheck.setSelection(showMask);
-		maskCheck.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				showMask = ((Button)event.widget).getSelection();
-				if (image != null) {
-					imageCanvas.redraw();
-				}
-			}
-		});
-
-		// Check box to request background display.
-		backgroundCheck = new Button(group, SWT.CHECK);
-		backgroundCheck.setText(bundle.getString("Background"));
-		backgroundCheck.setSelection(showBackground);
-		backgroundCheck.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				showBackground = ((Button)event.widget).getSelection();
-			}
-		});
-
-		// Group the animation buttons.
-		group = new Group(controls, SWT.NONE);
-		group.setLayout(new RowLayout());
-		group.setText(bundle.getString("Animation"));
-
-		// Push button to display the previous image in a multi-image file.
-		previousButton = new Button(group, SWT.PUSH);
-		previousButton.setText(bundle.getString("Previous"));
-		previousButton.setEnabled(false);
-		previousButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				previous();
-			}
-		});
-
-		// Push button to display the next image in a multi-image file.
-		nextButton = new Button(group, SWT.PUSH);
-		nextButton.setText(bundle.getString("Next"));
-		nextButton.setEnabled(false);
-		nextButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				next();
-			}
-		});
-
-		// Push button to toggle animation of a multi-image file.
-		animateButton = new Button(group, SWT.PUSH);
-		animateButton.setText(bundle.getString("Animate"));
-		animateButton.setEnabled(false);
-		animateButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				animate();
-			}
-		});
-
-		// Label to show the image file type.
-		typeLabel = new Label(shell, SWT.NONE);
-		typeLabel.setText(bundle.getString("Type_initial"));
-		typeLabel.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-
-		// Canvas to show the image.
-		imageCanvas = new Canvas(shell, SWT.V_SCROLL | SWT.H_SCROLL | SWT.NO_REDRAW_RESIZE | SWT.NO_BACKGROUND);
-		imageCanvas.setBackground(whiteColor);
-		imageCanvas.setCursor(crossCursor);
-		gridData = new GridData();
-		gridData.verticalSpan = 15;
-		gridData.horizontalAlignment = GridData.FILL;
-		gridData.verticalAlignment = GridData.FILL;
-		gridData.grabExcessHorizontalSpace = true;
-		gridData.grabExcessVerticalSpace = true;
-		imageCanvas.setLayoutData(gridData);
-		imageCanvas.addPaintListener(new PaintListener() {
-			public void paintControl(PaintEvent event) {
-				if (image == null) {
-					Rectangle bounds = imageCanvas.getBounds();
-					event.gc.fillRectangle(0, 0, bounds.width, bounds.height);
-				} else {
-					paintImage(event);
-				}
-			}
-		});
-		imageCanvas.addMouseMoveListener(new MouseMoveListener() {
-			public void mouseMove(MouseEvent event) {
-				if (image != null) {
-					showColorAt(event.x, event.y);
-				}
-			}
-		});
-
-		// Set up the image canvas scroll bars.
-		ScrollBar horizontal = imageCanvas.getHorizontalBar();
-		horizontal.setVisible(true);
-		horizontal.setMinimum(0);
-		horizontal.setEnabled(false);
-		horizontal.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				scrollHorizontally((ScrollBar)event.widget);
-			}
-		});
-		ScrollBar vertical = imageCanvas.getVerticalBar();
-		vertical.setVisible(true);
-		vertical.setMinimum(0);
-		vertical.setEnabled(false);
-		vertical.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				scrollVertically((ScrollBar)event.widget);
-			}
-		});
-
-		// Label to show the image size.
-		sizeLabel = new Label(shell, SWT.NONE);
-		sizeLabel.setText(bundle.getString("Size_initial"));
-		sizeLabel.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-
-		// Label to show the image depth.
-		depthLabel = new Label(shell, SWT.NONE);
-		depthLabel.setText(bundle.getString("Depth_initial"));
-		depthLabel.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-
-		// Label to show the transparent pixel.
-		transparentPixelLabel = new Label(shell, SWT.NONE);
-		transparentPixelLabel.setText(bundle.getString("Transparent_pixel_initial"));
-		transparentPixelLabel.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-
-		// Label to show the time to load.
-		timeToLoadLabel = new Label(shell, SWT.NONE);
-		timeToLoadLabel.setText(bundle.getString("Time_to_load_initial"));
-		timeToLoadLabel.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-
-		// Separate the animation fields from the rest of the fields.
-		Label separator = new Label(shell, SWT.SEPARATOR | SWT.HORIZONTAL);
-		separator.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-
-		// Label to show the logical screen size for animation.
-		screenSizeLabel = new Label(shell, SWT.NONE);
-		screenSizeLabel.setText(bundle.getString("Animation_size_initial"));
-		screenSizeLabel.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-
-		// Label to show the background pixel.
-		backgroundPixelLabel = new Label(shell, SWT.NONE);
-		backgroundPixelLabel.setText(bundle.getString("Background_pixel_initial"));
-		backgroundPixelLabel.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-
-		// Label to show the image location (x, y).
-		locationLabel = new Label(shell, SWT.NONE);
-		locationLabel.setText(bundle.getString("Image_location_initial"));
-		locationLabel.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-
-		// Label to show the image disposal method.
-		disposalMethodLabel = new Label(shell, SWT.NONE);
-		disposalMethodLabel.setText(bundle.getString("Disposal_initial"));
-		disposalMethodLabel.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-
-		// Label to show the image delay time.
-		delayTimeLabel = new Label(shell, SWT.NONE);
-		delayTimeLabel.setText(bundle.getString("Delay_initial"));
-		delayTimeLabel.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-
-		// Label to show the background pixel.
-		repeatCountLabel = new Label(shell, SWT.NONE);
-		repeatCountLabel.setText(bundle.getString("Repeats_initial"));
-		repeatCountLabel.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-
-		// Separate the animation fields from the palette.
-		separator = new Label(shell, SWT.SEPARATOR | SWT.HORIZONTAL);
-		separator.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-
-		// Label to show if the image has a direct or indexed palette.
-		paletteLabel = new Label(shell, SWT.NONE);
-		paletteLabel.setText(bundle.getString("Palette_initial"));
-		paletteLabel.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-
-		// Canvas to show the image's palette.
-		paletteCanvas = new Canvas(shell, SWT.BORDER | SWT.V_SCROLL | SWT.NO_REDRAW_RESIZE);
-		paletteCanvas.setFont(fixedWidthFont);
-		paletteCanvas.getVerticalBar().setVisible(true);
-		gridData = new GridData();
-		gridData.horizontalAlignment = GridData.FILL;
-		gridData.verticalAlignment = GridData.FILL;
-		GC gc = new GC(paletteLabel);
-		paletteWidth = gc.stringExtent(bundle.getString("Max_length_string")).x;
-		gc.dispose();
-		gridData.widthHint = paletteWidth;
-		gridData.heightHint = 16 * 11; // show at least 16 colors
-		paletteCanvas.setLayoutData(gridData);
-		paletteCanvas.addPaintListener(new PaintListener() {
-			public void paintControl(PaintEvent event) {
-				if (image != null)
-					paintPalette(event);
-			}
-		});
-
-		// Set up the palette canvas scroll bar.
-		vertical = paletteCanvas.getVerticalBar();
-		vertical.setVisible(true);
-		vertical.setMinimum(0);
-		vertical.setIncrement(10);
-		vertical.setEnabled(false);
-		vertical.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				scrollPalette((ScrollBar)event.widget);
-			}
-		});
-
-		// Sash to see more of image or image data.
-		sash = new Sash(shell, SWT.HORIZONTAL);
-		gridData = new GridData();
-		gridData.horizontalSpan = 2;
-		gridData.horizontalAlignment = GridData.FILL;
-		sash.setLayoutData(gridData);
-		sash.addSelectionListener (new SelectionAdapter () {
-			public void widgetSelected (SelectionEvent event) {
-				if (event.detail != SWT.DRAG) {
-					((GridData)paletteCanvas.getLayoutData()).heightHint = SWT.DEFAULT;
-					Rectangle paletteCanvasBounds = paletteCanvas.getBounds();
-					int minY = paletteCanvasBounds.y + 20;
-					Rectangle dataLabelBounds = dataLabel.getBounds();
-					int maxY = statusLabel.getBounds().y - dataLabelBounds.height - 20;
-					if (event.y > minY && event.y < maxY) {
-						Rectangle oldSash = sash.getBounds();
-						sash.setBounds(event.x, event.y, event.width, event.height);
-						int diff = event.y - oldSash.y;
-						Rectangle bounds = imageCanvas.getBounds();
-						imageCanvas.setBounds(bounds.x, bounds.y, bounds.width, bounds.height + diff);
-						bounds = paletteCanvasBounds;
-						paletteCanvas.setBounds(bounds.x, bounds.y, bounds.width, bounds.height + diff);
-						bounds = dataLabelBounds;
-						dataLabel.setBounds(bounds.x, bounds.y + diff, bounds.width, bounds.height);
-						bounds = dataText.getBounds();
-						dataText.setBounds(bounds.x, bounds.y + diff, bounds.width, bounds.height - diff);
-						//shell.layout(true);
-					}
-				}
-			}
-		});
-
-		// Label to show data-specific fields.
-		dataLabel = new Label(shell, SWT.NONE);
-		dataLabel.setText(bundle.getString("Pixel_data_initial"));
-		gridData = new GridData();
-		gridData.horizontalSpan = 2;
-		gridData.horizontalAlignment = GridData.FILL;
-		dataLabel.setLayoutData(gridData);
-		
-		// Text to show a dump of the data.
-		dataText = new StyledText(shell, SWT.BORDER | SWT.MULTI | SWT.READ_ONLY | SWT.V_SCROLL | SWT.H_SCROLL);
-		dataText.setBackground(display.getSystemColor(SWT.COLOR_WIDGET_BACKGROUND));
-		dataText.setFont(fixedWidthFont);
-		gridData = new GridData();
-		gridData.horizontalSpan = 2;
-		gridData.horizontalAlignment = GridData.FILL;
-		gridData.verticalAlignment = GridData.FILL;
-		gridData.heightHint = 128;
-		gridData.grabExcessVerticalSpace = true;
-		dataText.setLayoutData(gridData);
-		dataText.addMouseListener(new MouseAdapter() {
-			public void mouseDown(MouseEvent event) {
-				if (image != null && event.button == 1) {
-					showColorForData();
-				}
-			}
-		});
-		dataText.addKeyListener(new KeyAdapter() {
-			public void keyPressed(KeyEvent event) {
-				if (image != null) {
-					showColorForData();
-				}
-			}
-		});
-		
-		// Label to show status and cursor location in image.
-		statusLabel = new Label(shell, SWT.NONE);
-		statusLabel.setText("");
-		gridData = new GridData();
-		gridData.horizontalSpan = 2;
-		gridData.horizontalAlignment = GridData.FILL;
-		statusLabel.setLayoutData(gridData);
-	}
-	
-	Menu createMenuBar() {
-		// Menu bar.
-		Menu menuBar = new Menu(shell, SWT.BAR);
-		shell.setMenuBar(menuBar);
-		createFileMenu(menuBar);
-		createAlphaMenu(menuBar);
-		return menuBar;
-	}
-	
-	void createFileMenu(Menu menuBar) {
-		// File menu
-		MenuItem item = new MenuItem(menuBar, SWT.CASCADE);
-		item.setText(bundle.getString("File"));
-		Menu fileMenu = new Menu(shell, SWT.DROP_DOWN);
-		item.setMenu(fileMenu);
-
-		// File -> Open File...
-		item = new MenuItem(fileMenu, SWT.PUSH);
-		item.setText(bundle.getString("OpenFile"));
-		item.setAccelerator(SWT.MOD1 + 'O');
-		item.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				menuOpenFile();
-			}
-		});
-		
-		// File -> Open URL...
-		item = new MenuItem(fileMenu, SWT.PUSH);
-		item.setText(bundle.getString("OpenURL"));
-		item.setAccelerator(SWT.MOD1 + 'U');
-		item.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				menuOpenURL();
-			}
-		});
-		
-		// File -> Reopen
-		item = new MenuItem(fileMenu, SWT.PUSH);
-		item.setText(bundle.getString("Reopen"));
-		item.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				menuReopen();
-			}
-		});
-		
-		new MenuItem(fileMenu, SWT.SEPARATOR);
-
-		// File -> Load File... (natively)
-		item = new MenuItem(fileMenu, SWT.PUSH);
-		item.setText(bundle.getString("LoadFile"));
-		item.setAccelerator(SWT.MOD1 + 'L');
-		item.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				menuLoad();
-			}
-		});
-		
-		new MenuItem(fileMenu, SWT.SEPARATOR);
-		
-		// File -> Save
-		item = new MenuItem(fileMenu, SWT.PUSH);
-		item.setText(bundle.getString("Save"));
-		item.setAccelerator(SWT.MOD1 + 'S');
-		item.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				menuSave();
-			}
-		});
-		
-		// File -> Save As...
-		item = new MenuItem(fileMenu, SWT.PUSH);
-		item.setText(bundle.getString("Save_as"));
-		item.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				menuSaveAs();
-			}
-		});
-		
-		// File -> Save Mask As...
-		item = new MenuItem(fileMenu, SWT.PUSH);
-		item.setText(bundle.getString("Save_mask_as"));
-		item.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				menuSaveMaskAs();
-			}
-		});
-		
-		new MenuItem(fileMenu, SWT.SEPARATOR);
-		
-		// File -> Print
-		item = new MenuItem(fileMenu, SWT.PUSH);
-		item.setText(bundle.getString("Print"));
-		item.setAccelerator(SWT.MOD1 + 'P');
-		item.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				menuPrint();
-			}
-		});
-		
-		new MenuItem(fileMenu, SWT.SEPARATOR);
-
-		// File -> Exit
-		item = new MenuItem(fileMenu, SWT.PUSH);
-		item.setText(bundle.getString("Exit"));
-		item.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				shell.close();
-			}
-		});
-	
-	}
-
-	void createAlphaMenu(Menu menuBar) {
-		// Alpha menu
-		MenuItem item = new MenuItem(menuBar, SWT.CASCADE);
-		item.setText(bundle.getString("Alpha"));
-		Menu alphaMenu = new Menu(shell, SWT.DROP_DOWN);
-		item.setMenu(alphaMenu);
-
-		// Alpha -> K
-		item = new MenuItem(alphaMenu, SWT.PUSH);
-		item.setText("K");
-		item.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				menuComposeAlpha(ALPHA_CONSTANT);
-			}
-		});
-
-		// Alpha -> (K + x) % 256
-		item = new MenuItem(alphaMenu, SWT.PUSH);
-		item.setText("(K + x) % 256");
-		item.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				menuComposeAlpha(ALPHA_X);
-			}
-		});
-
-		// Alpha -> (K + y) % 256
-		item = new MenuItem(alphaMenu, SWT.PUSH);
-		item.setText("(K + y) % 256");
-		item.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				menuComposeAlpha(ALPHA_Y);
-			}
-		});
-	}
-
-	void menuComposeAlpha(int alpha_op) {
-		if (image == null) return;
-		animate = false; // stop any animation in progress
-		Cursor waitCursor = new Cursor(display, SWT.CURSOR_WAIT);
-		shell.setCursor(waitCursor);
-		imageCanvas.setCursor(waitCursor);
-		try {
-			if (alpha_op == ALPHA_CONSTANT) {
-				imageData.alpha = alpha;
-			} else {
-				imageData.alpha = -1;
-				switch (alpha_op) {
-					case ALPHA_X: 
-						for (int y = 0; y < imageData.height; y++) {
-						for (int x = 0; x < imageData.width; x++) {
-							imageData.setAlpha(x, y, (x + alpha) % 256);
-						}
-						}
-						break;
-					case ALPHA_Y: 
-						for (int y = 0; y < imageData.height; y++) {
-						for (int x = 0; x < imageData.width; x++) {
-							imageData.setAlpha(x, y, (y + alpha) % 256);
-						}
-						}
-						break;
-					default: break;
-				}					
-			}			
-			displayImage(imageData);
-		} finally {
-			shell.setCursor(null);
-			imageCanvas.setCursor(crossCursor);
-			waitCursor.dispose();
-		}
-	}
-
-	/* Just use Image(device, filename) to load an image file. */
-	void menuLoad() {
-		animate = false; // stop any animation in progress
-		
-		// Get the user to choose an image file.
-		FileDialog fileChooser = new FileDialog(shell, SWT.OPEN);
-		if (lastPath != null)
-			fileChooser.setFilterPath(lastPath);
-		fileChooser.setFilterExtensions(OPEN_FILTER_EXTENSIONS);
-		fileChooser.setFilterNames(OPEN_FILTER_NAMES);
-		String filename = fileChooser.open();
-		lastPath = fileChooser.getFilterPath();
-		if (filename == null)
-			return;
-
-		Cursor waitCursor = new Cursor(display, SWT.CURSOR_WAIT);
-		shell.setCursor(waitCursor);
-		imageCanvas.setCursor(waitCursor);
-		try {
-			// Read the new image from the chosen file.
-			long startTime = System.currentTimeMillis();
-			Image newImage = new Image(display, filename);
-			loadTime = System.currentTimeMillis() - startTime; // don't include getImageData in load time
-			imageData = newImage.getImageData();
-
-			// Cache the filename.
-			currentName = filename;
-			fileName = filename;
-			
-			// Fill in array and loader data.
-			loader = new ImageLoader();
-			imageDataArray = new ImageData[] {imageData};
-			loader.data = imageDataArray;
-				
-			// Display the image.
-			imageDataIndex = 0;
-			displayImage(imageData);
-		} catch (SWTException e) {
-			showErrorDialog(bundle.getString("Loading_lc"), filename, e);
-		} catch (SWTError e) {
-			showErrorDialog(bundle.getString("Loading_lc"), filename, e);
-		} catch (OutOfMemoryError e) {
-			showErrorDialog(bundle.getString("Loading_lc"), filename, e);
-		} finally {
-			shell.setCursor(null);
-			imageCanvas.setCursor(crossCursor);
-			waitCursor.dispose();
-		}
-	}
-	
-	void menuOpenFile() {
-		animate = false; // stop any animation in progress
-		
-		// Get the user to choose an image file.
-		FileDialog fileChooser = new FileDialog(shell, SWT.OPEN);
-		if (lastPath != null)
-			fileChooser.setFilterPath(lastPath);
-		fileChooser.setFilterExtensions(OPEN_FILTER_EXTENSIONS);
-		fileChooser.setFilterNames(OPEN_FILTER_NAMES);
-		String filename = fileChooser.open();
-		lastPath = fileChooser.getFilterPath();
-		if (filename == null)
-			return;
-
-		Cursor waitCursor = new Cursor(display, SWT.CURSOR_WAIT);
-		shell.setCursor(waitCursor);
-		imageCanvas.setCursor(waitCursor);
-		ImageLoader oldLoader = loader;
-		try {
-			loader = new ImageLoader();
-			if (incremental) {
-				// Prepare to handle incremental events.
-				loader.addImageLoaderListener(new ImageLoaderListener() {
-					public void imageDataLoaded(ImageLoaderEvent event) {
-						incrementalDataLoaded(event);
-					}
-				});
-				incrementalThreadStart();
-			}
-			// Read the new image(s) from the chosen file.
-			long startTime = System.currentTimeMillis();
-			imageDataArray = loader.load(filename);
-			loadTime = System.currentTimeMillis() - startTime;
-			if (imageDataArray.length > 0) {
-				// Cache the filename.
-				currentName = filename;
-				fileName = filename;
-				
-				// If there are multiple images in the file (typically GIF)
-				// then enable the Previous, Next and Animate buttons.
-				previousButton.setEnabled(imageDataArray.length > 1);
-				nextButton.setEnabled(imageDataArray.length > 1);
-				animateButton.setEnabled(imageDataArray.length > 1 && loader.logicalScreenWidth > 0 && loader.logicalScreenHeight > 0);
-	
-				// Display the first image in the file.
-				imageDataIndex = 0;
-				displayImage(imageDataArray[imageDataIndex]);
-			}
-		} catch (SWTException e) {
-			showErrorDialog(bundle.getString("Loading_lc"), filename, e);
-			loader = oldLoader;
-		} catch (SWTError e) {
-			showErrorDialog(bundle.getString("Loading_lc"), filename, e);
-			loader = oldLoader;
-		} catch (OutOfMemoryError e) {
-			showErrorDialog(bundle.getString("Loading_lc"), filename, e);
-			loader = oldLoader;
-		} finally {
-			shell.setCursor(null);
-			imageCanvas.setCursor(crossCursor);
-			waitCursor.dispose();
-		}
-	}
-	
-	void menuOpenURL() {
-		animate = false; // stop any animation in progress
-		
-		// Get the user to choose an image URL.
-		TextPrompter textPrompter = new TextPrompter(shell, SWT.APPLICATION_MODAL | SWT.DIALOG_TRIM);
-		textPrompter.setText(bundle.getString("OpenURLDialog"));
-		textPrompter.setMessage(bundle.getString("EnterURL"));
-		String urlname = textPrompter.open();
-		if (urlname == null) return;
-
-		Cursor waitCursor = new Cursor(display, SWT.CURSOR_WAIT);
-		shell.setCursor(waitCursor);
-		imageCanvas.setCursor(waitCursor);
-		ImageLoader oldLoader = loader;
-		try {
-			URL url = new URL(urlname);
-			InputStream stream = url.openStream();
-			loader = new ImageLoader();
-			if (incremental) {
-				// Prepare to handle incremental events.
-				loader.addImageLoaderListener(new ImageLoaderListener() {
-					public void imageDataLoaded(ImageLoaderEvent event) {
-						incrementalDataLoaded(event);
-					}
-				});
-				incrementalThreadStart();
-			}
-			// Read the new image(s) from the chosen URL.
-			long startTime = System.currentTimeMillis();
-			imageDataArray = loader.load(stream);
-			loadTime = System.currentTimeMillis() - startTime;
-			stream.close();
-			if (imageDataArray.length > 0) {
-				currentName = urlname;
-				fileName = null;
-				
-				// If there are multiple images (typically GIF)
-				// then enable the Previous, Next and Animate buttons.
-				previousButton.setEnabled(imageDataArray.length > 1);
-				nextButton.setEnabled(imageDataArray.length > 1);
-				animateButton.setEnabled(imageDataArray.length > 1 && loader.logicalScreenWidth > 0 && loader.logicalScreenHeight > 0);
-	
-				// Display the first image.
-				imageDataIndex = 0;
-				displayImage(imageDataArray[imageDataIndex]);
-			}
-		} catch (Exception e) {
-			showErrorDialog(bundle.getString("Loading_lc"), urlname, e);
-			loader = oldLoader;
-		} catch (OutOfMemoryError e) {
-			showErrorDialog(bundle.getString("Loading_lc"), urlname, e);
-			loader = oldLoader;
-		} finally {
-			shell.setCursor(null);
-			imageCanvas.setCursor(crossCursor);
-			waitCursor.dispose();
-		}
-	}
-
-	/*
-	 * Called to start a thread that draws incremental images
-	 * as they are loaded.
-	 */
-	void incrementalThreadStart() {
-		incrementalEvents = new Vector();
-		incrementalThread = new Thread("Incremental") {
-			public void run() {
-				// Draw the first ImageData increment.
-				while (incrementalEvents != null) {
-					// Synchronize so we don't try to remove when the vector is null.
-					synchronized (ImageAnalyzer.this) {
-						if (incrementalEvents != null) {
-							if (incrementalEvents.size() > 0) {
-								ImageLoaderEvent event = (ImageLoaderEvent) incrementalEvents.remove(0);
-								if (image != null) image.dispose();
-								image = new Image(display, event.imageData);
-								imageData = event.imageData;
-								imageCanvasGC.drawImage(
-									image,
-									0,
-									0,
-									imageData.width,
-									imageData.height,
-									imageData.x,
-									imageData.y,
-									imageData.width,
-									imageData.height);
-							} else {
-								yield();
-							}
-						}
-					}
-				}
-				display.wake();
-			}
-		};
-		incrementalThread.setDaemon(true);
-		incrementalThread.start();
-	}
-	
-	/*
-	 * Called when incremental image data has been loaded,
-	 * for example, for interlaced GIF/PNG or progressive JPEG.
-	 */
-	void incrementalDataLoaded(ImageLoaderEvent event) {
-		// Synchronize so that we do not try to add while
-		// the incremental drawing thread is removing.
-		synchronized (this) {
-			incrementalEvents.addElement(event);
-		}
-	}
-	
-	void menuSave() {
-		if (image == null) return;
-		animate = false; // stop any animation in progress
-
-		// If the image file type is unknown, we can't 'Save',
-		// so we have to use 'Save As...'.
-		if (imageData.type == SWT.IMAGE_UNDEFINED || fileName == null) {
-			menuSaveAs();
-			return;
-		}
-
-		Cursor waitCursor = new Cursor(display, SWT.CURSOR_WAIT);
-		shell.setCursor(waitCursor);
-		imageCanvas.setCursor(waitCursor);
-		try {
-			// Save the current image to the current file.
-			loader.data = new ImageData[] {imageData};
-			loader.save(fileName, imageData.type);
-			
-		} catch (SWTException e) {
-			showErrorDialog(bundle.getString("Saving_lc"), fileName, e);
-		} catch (SWTError e) {
-			showErrorDialog(bundle.getString("Saving_lc"), fileName, e);
-		} finally {
-			shell.setCursor(null);
-			imageCanvas.setCursor(crossCursor);
-			waitCursor.dispose();
-		}
-	}
-
-	void menuSaveAs() {
-		if (image == null) return;
-		animate = false; // stop any animation in progress
-
-		// Get the user to choose a file name and type to save.
-		FileDialog fileChooser = new FileDialog(shell, SWT.SAVE);
-		fileChooser.setFilterPath(lastPath);
-		if (fileName != null) {
-			String name = fileName;
-			int nameStart = name.lastIndexOf(java.io.File.separatorChar);
-			if (nameStart > -1) {
-				name = name.substring(nameStart + 1);
-			}
-			fileChooser.setFileName(name);
-		}
-		fileChooser.setFilterExtensions(SAVE_FILTER_EXTENSIONS);
-		fileChooser.setFilterNames(SAVE_FILTER_NAMES);
-		String filename = fileChooser.open();
-		lastPath = fileChooser.getFilterPath();
-		if (filename == null)
-			return;
-
-		// Figure out what file type the user wants saved.
-		int filetype = fileChooser.getFilterIndex();
-		if (filetype == -1) {
-			/* The platform file dialog does not support user-selectable file filters.
-			 * Determine the desired type by looking at the file extension. 
-			 */
-			filetype = determineFileType(filename);
-			if (filetype == SWT.IMAGE_UNDEFINED) {
-				MessageBox box = new MessageBox(shell, SWT.ICON_ERROR);
-				box.setMessage(createMsg(bundle.getString("Unknown_extension"), 
-					filename.substring(filename.lastIndexOf('.') + 1)));
-				box.open();
-				return;
-			}
-		}
-		
-		if (new java.io.File(filename).exists()) {
-			MessageBox box = new MessageBox(shell, SWT.ICON_QUESTION | SWT.OK | SWT.CANCEL);
-			box.setMessage(createMsg(bundle.getString("Overwrite"), filename));
-			if (box.open() == SWT.CANCEL)
-				return;
-		}
-		
-		Cursor waitCursor = new Cursor(display, SWT.CURSOR_WAIT);
-		shell.setCursor(waitCursor);
-		imageCanvas.setCursor(waitCursor);
-		try {
-			// Save the current image to the specified file.
-			boolean multi = false;
-			if (loader.data.length > 1) {
-				MessageBox box = new MessageBox(shell, SWT.ICON_QUESTION | SWT.YES | SWT.NO | SWT.CANCEL);
-				box.setMessage(createMsg(bundle.getString("Save_all"), new Integer(loader.data.length)));
-				int result = box.open();
-				if (result == SWT.CANCEL) return;
-				if (result == SWT.YES) multi = true;
-			}
-			/* If the image has transparency but the user has transparency turned off,
-			 * turn it off in the saved image. */
-			int transparentPixel = imageData.transparentPixel;
-			if (!multi && transparentPixel != -1 && !transparent) {
-				imageData.transparentPixel = -1;
-			}
-			
-			if (!multi) loader.data = new ImageData[] {imageData};
-			loader.save(filename, filetype);
-			
-			/* Restore the previous transparency setting. */
-			if (!multi && transparentPixel != -1 && !transparent) {
-				imageData.transparentPixel = transparentPixel;
-			}
-
-			// Update the shell title and file type label,
-			// and use the new file.
-			fileName = filename;
-			shell.setText(createMsg(bundle.getString("Analyzer_on"), filename));
-			typeLabel.setText(createMsg(bundle.getString("Type_string"), fileTypeString(filetype)));
-
-		} catch (SWTException e) {
-			showErrorDialog(bundle.getString("Saving_lc"), filename, e);
-		} catch (SWTError e) {
-			showErrorDialog(bundle.getString("Saving_lc"), filename, e);
-		} finally {
-			shell.setCursor(null);
-			imageCanvas.setCursor(crossCursor);
-			waitCursor.dispose();
-		}
-	}
-
-	void menuSaveMaskAs() {
-		if (image == null || !showMask) return;
-		if (imageData.getTransparencyType() == SWT.TRANSPARENCY_NONE) return;
-		animate = false; // stop any animation in progress
-
-		// Get the user to choose a file name and type to save.
-		FileDialog fileChooser = new FileDialog(shell, SWT.SAVE);
-		fileChooser.setFilterPath(lastPath);
-		if (fileName != null) fileChooser.setFileName(fileName);
-		fileChooser.setFilterExtensions(SAVE_FILTER_EXTENSIONS);
-		fileChooser.setFilterNames(SAVE_FILTER_NAMES);
-		String filename = fileChooser.open();
-		lastPath = fileChooser.getFilterPath();
-		if (filename == null)
-			return;
-
-		// Figure out what file type the user wants saved.
-		int filetype = fileChooser.getFilterIndex();
-		if (filetype == -1) {
-			/* The platform file dialog does not support user-selectable file filters.
-			 * Determine the desired type by looking at the file extension. 
-			 */
-			filetype = determineFileType(filename);
-			if (filetype == SWT.IMAGE_UNDEFINED) {
-				MessageBox box = new MessageBox(shell, SWT.ICON_ERROR);
-				box.setMessage(createMsg(bundle.getString("Unknown_extension"), 
-					filename.substring(filename.lastIndexOf('.') + 1)));
-				box.open();
-				return;
-			}
-		}
-		
-		if (new java.io.File(filename).exists()) {
-			MessageBox box = new MessageBox(shell, SWT.ICON_QUESTION | SWT.OK | SWT.CANCEL);
-			box.setMessage(createMsg(bundle.getString("Overwrite"), filename));
-			if (box.open() == SWT.CANCEL)
-				return;
-		}
-		
-		Cursor waitCursor = new Cursor(display, SWT.CURSOR_WAIT);
-		shell.setCursor(waitCursor);
-		imageCanvas.setCursor(waitCursor);
-		try {
-			// Save the mask of the current image to the specified file.
-			ImageData maskImageData = imageData.getTransparencyMask();
-			loader.data = new ImageData[] {maskImageData};
-			loader.save(filename, filetype);
-			
-		} catch (SWTException e) {
-			showErrorDialog(bundle.getString("Saving_lc"), filename, e);
-		} catch (SWTError e) {
-			showErrorDialog(bundle.getString("Saving_lc"), filename, e);
-		} finally {
-			shell.setCursor(null);
-			imageCanvas.setCursor(crossCursor);
-			waitCursor.dispose();
-		}
-	}
-
-	void menuPrint() {
-		if (image == null) return;
-
-		try {
-			// Ask the user to specify the printer.
-			PrintDialog dialog = new PrintDialog(shell, SWT.NONE);
-			PrinterData printerData = dialog.open();
-			if (printerData == null) return;
-			
-			Printer printer = new Printer(printerData);
-			Point screenDPI = display.getDPI();
-			Point printerDPI = printer.getDPI();
-			int scaleFactor = printerDPI.x / screenDPI.x;
-			Rectangle trim = printer.computeTrim(0, 0, 0, 0);
-			if (printer.startJob(currentName)) {
-				if (printer.startPage()) {
-					GC gc = new GC(printer);
-					int transparentPixel = imageData.transparentPixel;
-					if (transparentPixel != -1 && !transparent) {
-						imageData.transparentPixel = -1;
-					}
-					Image printerImage = new Image(printer, imageData);
-					gc.drawImage(
-						printerImage,
-						0,
-						0,
-						imageData.width,
-						imageData.height,
-						-trim.x,
-						-trim.y,
-						scaleFactor * imageData.width,
-						scaleFactor * imageData.height);
-					if (transparentPixel != -1 && !transparent) {
-						imageData.transparentPixel = transparentPixel;
-					}
-					printerImage.dispose();
-					gc.dispose();
-					printer.endPage();
-				}
-				printer.endJob();
-			}
-			printer.dispose();
-		} catch (SWTError e) {
-			MessageBox box = new MessageBox(shell, SWT.ICON_ERROR);
-			box.setMessage(bundle.getString("Printing_error") + e.getMessage());
-			box.open();
-		}
-	}
-
-	void menuReopen() {
-		if (currentName == null) return;
-		animate = false; // stop any animation in progress
-		Cursor waitCursor = new Cursor(display, SWT.CURSOR_WAIT);
-		shell.setCursor(waitCursor);
-		imageCanvas.setCursor(waitCursor);
-		try {
-			loader = new ImageLoader();
-			ImageData[] newImageData;
-			if (fileName == null) {
-				URL url = new URL(currentName);
-				InputStream stream = url.openStream();
-				long startTime = System.currentTimeMillis();
-				newImageData = loader.load(stream);
-				loadTime = System.currentTimeMillis() - startTime;
-				stream.close();
-			} else {
-				long startTime = System.currentTimeMillis();
-				newImageData = loader.load(fileName);
-				loadTime = System.currentTimeMillis() - startTime;
-			}
-			imageDataIndex = 0;
-			displayImage(newImageData[imageDataIndex]);
-
-		} catch (Exception e) {
-			showErrorDialog(bundle.getString("Reloading_lc"), currentName, e);
-		} catch (OutOfMemoryError e) {
-			showErrorDialog(bundle.getString("Reloading_lc"), currentName, e);
-		} finally {	
-			shell.setCursor(null);
-			imageCanvas.setCursor(crossCursor);
-			waitCursor.dispose();
-		}
-	}
-	
-	void changeBackground() {
-		String background = backgroundCombo.getText();
-		if (background.equals(bundle.getString("White"))) {
-			imageCanvas.setBackground(whiteColor);
-		} else if (background.equals(bundle.getString("Black"))) {
-			imageCanvas.setBackground(blackColor);
-		} else if (background.equals(bundle.getString("Red"))) {
-			imageCanvas.setBackground(redColor);
-		} else if (background.equals(bundle.getString("Green"))) {
-			imageCanvas.setBackground(greenColor);
-		} else if (background.equals(bundle.getString("Blue"))) {
-			imageCanvas.setBackground(blueColor);
-		} else {
-			imageCanvas.setBackground(null);
-		}
-	}
-	
-	/*
-	 * Called when the ScaleX combo selection changes.
-	 */
-	void scaleX() {
-		try {
-			xscale = Float.parseFloat(scaleXCombo.getText());
-		} catch (NumberFormatException e) {
-			xscale = 1;
-			scaleXCombo.select(scaleXCombo.indexOf("1"));
-		}
-		if (image != null) {
-			resizeScrollBars();
-			imageCanvas.redraw();
-		}
-	}
-	
-	/*
-	 * Called when the ScaleY combo selection changes.
-	 */
-	void scaleY() {
-		try {
-			yscale = Float.parseFloat(scaleYCombo.getText());
-		} catch (NumberFormatException e) {
-			yscale = 1;
-			scaleYCombo.select(scaleYCombo.indexOf("1"));
-		}
-		if (image != null) {
-			resizeScrollBars();
-			imageCanvas.redraw();
-		}
-	}
-	
-	/*
-	 * Called when the Alpha combo selection changes.
-	 */
-	void alpha() {
-		try {
-			alpha = Integer.parseInt(alphaCombo.getText());
-		} catch (NumberFormatException e) {
-			alphaCombo.select(alphaCombo.indexOf("255"));
-			alpha = 255;
-		}
-	}
-	
-	/*
-	 * Called when the mouse moves in the image canvas.
-	 * Show the color of the image at the point under the mouse.
-	 */
-	void showColorAt(int mx, int my) {
-		int x = mx - imageData.x - ix;
-		int y = my - imageData.y - iy;
-		showColorForPixel(x, y);
-	}
-	
-	/*
-	 * Called when a mouse down or key press is detected
-	 * in the data text. Show the color of the pixel at
-	 * the caret position in the data text.
-	 */
-	void showColorForData() {
-		int delimiterLength = dataText.getLineDelimiter().length();
-		int charactersPerLine = 6 + 3 * imageData.bytesPerLine + delimiterLength;
-		int position = dataText.getCaretOffset();
-		int y = position / charactersPerLine;
-		if ((position - y * charactersPerLine) < 6 || ((y + 1) * charactersPerLine - position) <= delimiterLength) {
-			statusLabel.setText("");
-			return;
-		}
-		int dataPosition = position - 6 * (y + 1) - delimiterLength * y;
-		int byteNumber = dataPosition / 3;
-		int where = dataPosition - byteNumber * 3;
-		int xByte = byteNumber % imageData.bytesPerLine;
-		int x = -1;
-		int depth = imageData.depth;
-		if (depth == 1) { // 8 pixels per byte (can only show 3 of 8)
-			if (where == 0) x = xByte * 8;
-			if (where == 1) x = xByte * 8 + 3;
-			if (where == 2) x = xByte * 8 + 7;
-		}
-		if (depth == 2) { // 4 pixels per byte (can only show 3 of 4)
-			if (where == 0) x = xByte * 4;
-			if (where == 1) x = xByte * 4 + 1;
-			if (where == 2) x = xByte * 4 + 3;
-		}
-		if (depth == 4) { // 2 pixels per byte
-			if (where == 0) x = xByte * 2;
-			if (where == 1) x = xByte * 2;
-			if (where == 2) x = xByte * 2 + 1;
-		}
-		if (depth == 8) { // 1 byte per pixel
-			x = xByte;
-		}
-		if (depth == 16) { // 2 bytes per pixel
-			x = xByte / 2;
-		}
-		if (depth == 24) { // 3 bytes per pixel
-			x = xByte / 3;
-		}
-		if (depth == 32) { // 4 bytes per pixel
-			x = xByte / 4;
-		}
-		if (x != -1) {
-			showColorForPixel(x, y);
-		} else {
-			statusLabel.setText("");
-		}
-	}
-	
-	/*
-	 * Set the status label to show color information
-	 * for the specified pixel in the image.
-	 */
-	void showColorForPixel(int x, int y) {
-		if (x >= 0 && x < imageData.width && y >= 0 && y < imageData.height) {
-			int pixel = imageData.getPixel(x, y);
-			RGB rgb = imageData.palette.getRGB(pixel);
-			boolean hasAlpha = false;
-			int alphaValue = 0;
-			if (imageData.alphaData != null && imageData.alphaData.length > 0) {
-				hasAlpha = true;
-				alphaValue = imageData.getAlpha(x, y);
-			}
-			String rgbMessageFormat = bundle.getString(hasAlpha ? "RGBA" : "RGB");
-			Object[] rgbArgs = {
-					Integer.toString(rgb.red),
-					Integer.toString(rgb.green),
-					Integer.toString(rgb.blue),
-					Integer.toString(alphaValue)
-			};
-			Object[] rgbHexArgs = {
-					Integer.toHexString(rgb.red),
-					Integer.toHexString(rgb.green),
-					Integer.toHexString(rgb.blue),
-					Integer.toHexString(alphaValue)
-			};
-			Object[] args = {
-					new Integer(x),
-					new Integer(y),
-					new Integer(pixel),
-					Integer.toHexString(pixel),
-					createMsg(rgbMessageFormat, rgbArgs),
-					createMsg(rgbMessageFormat, rgbHexArgs),
-					(pixel == imageData.transparentPixel) ? bundle.getString("Color_at_transparent") : ""};
-			statusLabel.setText(createMsg(bundle.getString("Color_at"), args));
-		} else {
-			statusLabel.setText("");
-		}
-	}
-	
-	/*
-	 * Called when the Animate button is pressed.
-	 */
-	void animate() {
-		animate = !animate;
-		if (animate && image != null && imageDataArray.length > 1) {
-			animateThread = new Thread(bundle.getString("Animation")) {
-				public void run() {
-					// Pre-animation widget setup.
-					preAnimation();
-					
-					// Animate.
-					try {
-						animateLoop();
-					} catch (final SWTException e) {
-						display.syncExec(new Runnable() {
-							public void run() {
-								showErrorDialog(createMsg(bundle.getString("Creating_image"), 
-										    new Integer(imageDataIndex+1)),
-										    currentName, e);
-							}
-						});
-					}
-					
-					// Post animation widget reset.
-					postAnimation();
-				}
-			};
-			animateThread.setDaemon(true);
-			animateThread.start();
-		}
-	}
-	
-	/*
-	 * Loop through all of the images in a multi-image file
-	 * and display them one after another.
-	 */
-	void animateLoop() {
-		// Create an off-screen image to draw on, and a GC to draw with.
-		// Both are disposed after the animation.
-		Image offScreenImage = new Image(display, loader.logicalScreenWidth, loader.logicalScreenHeight);
-		GC offScreenImageGC = new GC(offScreenImage);
-		
-		try {
-			// Use syncExec to get the background color of the imageCanvas.
-			display.syncExec(new Runnable() {
-				public void run() {
-					canvasBackground = imageCanvas.getBackground();
-				}
-			});
-
-			// Fill the off-screen image with the background color of the canvas.
-			offScreenImageGC.setBackground(canvasBackground);
-			offScreenImageGC.fillRectangle(
-				0,
-				0,
-				loader.logicalScreenWidth,
-				loader.logicalScreenHeight);
-					
-			// Draw the current image onto the off-screen image.
-			offScreenImageGC.drawImage(
-				image,
-				0,
-				0,
-				imageData.width,
-				imageData.height,
-				imageData.x,
-				imageData.y,
-				imageData.width,
-				imageData.height);
-
-			int repeatCount = loader.repeatCount;
-			while (animate && (loader.repeatCount == 0 || repeatCount > 0)) {
-				if (imageData.disposalMethod == SWT.DM_FILL_BACKGROUND) {
-					// Fill with the background color before drawing.
-					Color bgColor = null;
-					int backgroundPixel = loader.backgroundPixel;
-					if (showBackground && backgroundPixel != -1) {
-						// Fill with the background color.
-						RGB backgroundRGB = imageData.palette.getRGB(backgroundPixel);
-						bgColor = new Color(null, backgroundRGB);
-					}
-					try {
-						offScreenImageGC.setBackground(bgColor != null ? bgColor : canvasBackground);
-						offScreenImageGC.fillRectangle(
-							imageData.x,
-							imageData.y,
-							imageData.width,
-							imageData.height);
-					} finally {
-						if (bgColor != null) bgColor.dispose();
-					}
-				} else if (imageData.disposalMethod == SWT.DM_FILL_PREVIOUS) {
-					// Restore the previous image before drawing.
-					offScreenImageGC.drawImage(
-						image,
-						0,
-						0,
-						imageData.width,
-						imageData.height,
-						imageData.x,
-						imageData.y,
-						imageData.width,
-						imageData.height);
-				}
-									
-				// Get the next image data.
-				imageDataIndex = (imageDataIndex + 1) % imageDataArray.length;
-				imageData = imageDataArray[imageDataIndex];
-				image.dispose();
-				image = new Image(display, imageData);
-				
-				// Draw the new image data.
-				offScreenImageGC.drawImage(
-					image,
-					0,
-					0,
-					imageData.width,
-					imageData.height,
-					imageData.x,
-					imageData.y,
-					imageData.width,
-					imageData.height);
-				
-				// Draw the off-screen image to the screen.
-				imageCanvasGC.drawImage(offScreenImage, 0, 0);
-				
-				// Sleep for the specified delay time before drawing again.
-				try {
-					Thread.sleep(visibleDelay(imageData.delayTime * 10));
-				} catch (InterruptedException e) {
-				}
-				
-				// If we have just drawn the last image in the set,
-				// then decrement the repeat count.
-				if (imageDataIndex == imageDataArray.length - 1) repeatCount--;
-			}
-		} finally {
-			offScreenImage.dispose();
-			offScreenImageGC.dispose();
-		}
-	}
-
-	/*
-	 * Pre animation setup.
-	 */
-	void preAnimation() {
-		display.syncExec(new Runnable() {
-			public void run() {
-				// Change the label of the Animate button to 'Stop'.
-				animateButton.setText(bundle.getString("Stop"));
-				
-				// Disable anything we don't want the user
-				// to select during the animation.
-				previousButton.setEnabled(false);
-				nextButton.setEnabled(false);
-				backgroundCombo.setEnabled(false);
-				scaleXCombo.setEnabled(false);
-				scaleYCombo.setEnabled(false);
-				alphaCombo.setEnabled(false);
-				incrementalCheck.setEnabled(false);
-				transparentCheck.setEnabled(false);
-				maskCheck.setEnabled(false);
-				// leave backgroundCheck enabled
-			
-				// Reset the scale combos and scrollbars.
-				resetScaleCombos();
-				resetScrollBars();
-			}
-		});
-	}
-
-	/*
-	 * Post animation reset.
-	 */
-	void postAnimation() {
-		display.syncExec(new Runnable() {
-			public void run() {
-				// Enable anything we disabled before the animation.
-				previousButton.setEnabled(true);
-				nextButton.setEnabled(true);
-				backgroundCombo.setEnabled(true);
-				scaleXCombo.setEnabled(true);
-				scaleYCombo.setEnabled(true);
-				alphaCombo.setEnabled(true);
-				incrementalCheck.setEnabled(true);
-				transparentCheck.setEnabled(true);
-				maskCheck.setEnabled(true);
-			
-				// Reset the label of the Animate button.
-				animateButton.setText(bundle.getString("Animate"));
-			
-				if (animate) {
-					// If animate is still true, we finished the
-					// full number of repeats. Leave the image as-is.
-					animate = false;
-				} else {
-					// Redisplay the current image and its palette.
-					displayImage(imageDataArray[imageDataIndex]);
-				}
-			}
-		});
-	}
-
-	/*
-	 * Called when the Previous button is pressed.
-	 * Display the previous image in a multi-image file.
-	 */
-	void previous() {
-		if (image != null && imageDataArray.length > 1) {
-			if (imageDataIndex == 0) {
-				imageDataIndex = imageDataArray.length;
-			}
-			imageDataIndex = imageDataIndex - 1;
-			displayImage(imageDataArray[imageDataIndex]);
-		}	
-	}
-
-	/*
-	 * Called when the Next button is pressed.
-	 * Display the next image in a multi-image file.
-	 */
-	void next() {
-		if (image != null && imageDataArray.length > 1) {
-			imageDataIndex = (imageDataIndex + 1) % imageDataArray.length;
-			displayImage(imageDataArray[imageDataIndex]);
-		}	
-	}
-
-	void displayImage(ImageData newImageData) {
-		resetScaleCombos();
-		if (incremental && incrementalThread != null) {
-			// Tell the incremental thread to stop drawing.
-			synchronized (this) {
-				incrementalEvents = null;
-			}
-			
-			// Wait until the incremental thread is done.
-			while (incrementalThread.isAlive()) {
-				if (!display.readAndDispatch()) display.sleep();
-			}
-		}
-					
-		// Dispose of the old image, if there was one.
-		if (image != null) image.dispose();
-
-		try {
-			// Cache the new image and imageData.
-			image = new Image(display, newImageData);
-			imageData = newImageData;
-
-		} catch (SWTException e) {
-			showErrorDialog(bundle.getString("Creating_from") + " ", currentName, e);
-			image = null;
-			return;
-		}
-
-		// Update the widgets with the new image info.
-		String string = createMsg(bundle.getString("Analyzer_on"), currentName);
-		shell.setText(string);
-
-		if (imageDataArray.length > 1) {
-			string = createMsg(bundle.getString("Type_index"), 
-			                   new Object[] {fileTypeString(imageData.type),
-			                                 new Integer(imageDataIndex + 1),
-			                                 new Integer(imageDataArray.length)});
-		} else {
-			string = createMsg(bundle.getString("Type_string"), fileTypeString(imageData.type));
-		}
-		typeLabel.setText(string);
-
-		string = createMsg(bundle.getString("Size_value"), 
-					 new Object[] {new Integer(imageData.width),
-							   new Integer(imageData.height)});
-		sizeLabel.setText(string);
-
-		string = createMsg(bundle.getString("Depth_value"), new Integer(imageData.depth));
-		depthLabel.setText(string);
-
-		string = createMsg(bundle.getString("Transparent_pixel_value"), pixelInfo(imageData.transparentPixel));
-		transparentPixelLabel.setText(string);
-
-		string = createMsg(bundle.getString("Time_to_load_value"), new Long(loadTime));
-		timeToLoadLabel.setText(string);
-
-		string = createMsg(bundle.getString("Animation_size_value"), 
-		                      new Object[] {new Integer(loader.logicalScreenWidth),
-								new Integer(loader.logicalScreenHeight)});
-		screenSizeLabel.setText(string);
-
-		string = createMsg(bundle.getString("Background_pixel_value"), pixelInfo(loader.backgroundPixel));
-		backgroundPixelLabel.setText(string);
-
-		string = createMsg(bundle.getString("Image_location_value"), 
-		                      new Object[] {new Integer(imageData.x), new Integer(imageData.y)});
-		locationLabel.setText(string);
-
-		string = createMsg(bundle.getString("Disposal_value"),
-		                      new Object[] {new Integer(imageData.disposalMethod),
-							      disposalString(imageData.disposalMethod)});
-		disposalMethodLabel.setText(string);
-
-		int delay = imageData.delayTime * 10;
-		int delayUsed = visibleDelay(delay);
-		if (delay != delayUsed) {
-			string = createMsg(bundle.getString("Delay_value"), 
-			                   new Object[] {new Integer(delay), new Integer(delayUsed)});
-		} else {
-			string = createMsg(bundle.getString("Delay_used"), new Integer(delay));
-		}
-		delayTimeLabel.setText(string);
-
-		if (loader.repeatCount == 0) {
-			string = createMsg( bundle.getString("Repeats_forever"), new Integer(loader.repeatCount));
-		} else {
-			string = createMsg(bundle.getString("Repeats_value"), new Integer(loader.repeatCount));
-		}
-		repeatCountLabel.setText(string);
-
-		if (imageData.palette.isDirect) {
-			string = bundle.getString("Palette_direct");
-		} else {
-			string = createMsg(bundle.getString("Palette_value"), new Integer(imageData.palette.getRGBs().length));
-		}
-		paletteLabel.setText(string);
-
-		string = createMsg(
-				bundle.getString("Pixel_data_value"),
-				new Object[] {
-						new Integer(imageData.bytesPerLine),
-						new Integer(imageData.scanlinePad),
-						depthInfo(imageData.depth),
-						(imageData.alphaData != null && imageData.alphaData.length > 0) ?
-								bundle.getString("Scroll_for_alpha") : "" });
-		dataLabel.setText(string);
-
-		String data = dataHexDump(dataText.getLineDelimiter());
-		dataText.setText(data);
-		
-		// bold the first column all the way down
-		int index = 0;
-		while((index = data.indexOf(':', index+1)) != -1) {
-			int start = index - INDEX_DIGITS;
-			int length = INDEX_DIGITS;
-			if (Character.isLetter(data.charAt(index-1))) {
-				start = index - ALPHA_CHARS;
-				length = ALPHA_CHARS;
-			}
-			dataText.setStyleRange(new StyleRange(start, length, dataText.getForeground(), dataText.getBackground(), SWT.BOLD));
-		}
-
-		statusLabel.setText("");
-
-		// Redraw both canvases.
-		resetScrollBars();
-		paletteCanvas.redraw();
-		imageCanvas.redraw();
-	}
-
-	void paintImage(PaintEvent event) {
-		GC gc = event.gc;
-		Image paintImage = image;
-		
-		/* If the user wants to see the transparent pixel in its actual color,
-		 * then temporarily turn off transparency.
-		 */
-		int transparentPixel = imageData.transparentPixel;
-		if (transparentPixel != -1 && !transparent) {
-			imageData.transparentPixel = -1;
-			paintImage = new Image(display, imageData);
-		}
-		
-		/* Scale the image when drawing, using the user's selected scaling factor. */
-		int w = Math.round(imageData.width * xscale);
-		int h = Math.round(imageData.height * yscale);
-		
-		/* If any of the background is visible, fill it with the background color. */
-		Rectangle bounds = imageCanvas.getBounds();
-		if (imageData.getTransparencyType() != SWT.TRANSPARENCY_NONE) {
-			/* If there is any transparency at all, fill the whole background. */
-			gc.fillRectangle(0, 0, bounds.width, bounds.height);
-		} else {
-			/* Otherwise, just fill in the backwards L. */
-			if (ix + w < bounds.width) gc.fillRectangle(ix + w, 0, bounds.width - (ix + w), bounds.height);
-			if (iy + h < bounds.height) gc.fillRectangle(0, iy + h, ix + w, bounds.height - (iy + h));
-		}
-		
-		/* Draw the image */
-		gc.drawImage(
-			paintImage,
-			0,
-			0,
-			imageData.width,
-			imageData.height,
-			ix + imageData.x,
-			iy + imageData.y,
-			w,
-			h);
-		
-		/* If there is a mask and the user wants to see it, draw it. */
-		if (showMask && (imageData.getTransparencyType() != SWT.TRANSPARENCY_NONE)) {
-			ImageData maskImageData = imageData.getTransparencyMask();
-			Image maskImage = new Image(display, maskImageData);
-			gc.drawImage(
-				maskImage,
-				0,
-				0,
-				imageData.width,
-				imageData.height,
-				w + 10 + ix + imageData.x,
-				iy + imageData.y,
-				w,
-				h);
-			maskImage.dispose();
-		}
-		
-		/* If transparency was temporarily disabled, restore it. */
-		if (transparentPixel != -1 && !transparent) {
-			imageData.transparentPixel = transparentPixel;
-			paintImage.dispose();
-		}
-	}
-
-	void paintPalette(PaintEvent event) {
-		GC gc = event.gc;
-		gc.fillRectangle(paletteCanvas.getClientArea());
-		if (imageData.palette.isDirect) {
-			// For a direct palette, display the masks.
-			int y = py + 10;
-			int xTab = 50;
-			gc.drawString("rMsk", 10, y, true);
-			gc.drawString(toHex4ByteString(imageData.palette.redMask), xTab, y, true);
-			gc.drawString("gMsk", 10, y+=12, true);
-			gc.drawString(toHex4ByteString(imageData.palette.greenMask), xTab, y, true);
-			gc.drawString("bMsk", 10, y+=12, true);
-			gc.drawString(toHex4ByteString(imageData.palette.blueMask), xTab, y, true);
-			gc.drawString("rShf", 10, y+=12, true);
-			gc.drawString(Integer.toString(imageData.palette.redShift), xTab, y, true);
-			gc.drawString("gShf", 10, y+=12, true);
-			gc.drawString(Integer.toString(imageData.palette.greenShift), xTab, y, true);
-			gc.drawString("bShf", 10, y+=12, true);
-			gc.drawString(Integer.toString(imageData.palette.blueShift), xTab, y, true);
-		} else {
-			// For an indexed palette, display the palette colors and indices.
-			RGB[] rgbs = imageData.palette.getRGBs();
-			if (rgbs != null) {
-				int xTab1 = 40, xTab2 = 100;
-				for (int i = 0; i < rgbs.length; i++) {
-					int y = (i+1) * 10 + py;
-					gc.drawString(String.valueOf(i), 10, y, true);
-					gc.drawString(toHexByteString(rgbs[i].red) + toHexByteString(rgbs[i].green) + toHexByteString(rgbs[i].blue), xTab1, y, true);
-					Color color = new Color(display, rgbs[i]);
-					gc.setBackground(color);
-					gc.fillRectangle(xTab2, y+2, 10, 10);
-					color.dispose();
-				}
-			}
-		}
-	}
-	
-	void resizeShell(ControlEvent event) {
-		if (image == null || shell.isDisposed())
-			return;
-		resizeScrollBars();
-	}
-
-	// Reset the scale combos to 1.
-	void resetScaleCombos() {
-		xscale = 1; yscale = 1;
-		scaleXCombo.select(scaleXCombo.indexOf("1"));
-		scaleYCombo.select(scaleYCombo.indexOf("1"));
-	}
-	
-	// Reset the scroll bars to 0.
-	void resetScrollBars() {
-		if (image == null) return;
-		ix = 0; iy = 0; py = 0;
-		resizeScrollBars();
-		imageCanvas.getHorizontalBar().setSelection(0);
-		imageCanvas.getVerticalBar().setSelection(0);
-		paletteCanvas.getVerticalBar().setSelection(0);
-	}
-	
-	void resizeScrollBars() {
-		// Set the max and thumb for the image canvas scroll bars.
-		ScrollBar horizontal = imageCanvas.getHorizontalBar();
-		ScrollBar vertical = imageCanvas.getVerticalBar();
-		Rectangle canvasBounds = imageCanvas.getClientArea();
-		int width = Math.round(imageData.width * xscale);
-		if (width > canvasBounds.width) {
-			// The image is wider than the canvas.
-			horizontal.setEnabled(true);
-			horizontal.setMaximum(width);
-			horizontal.setThumb(canvasBounds.width);
-			horizontal.setPageIncrement(canvasBounds.width);
-		} else {
-			// The canvas is wider than the image.
-			horizontal.setEnabled(false);
-			if (ix != 0) {
-				// Make sure the image is completely visible.
-				ix = 0;
-				imageCanvas.redraw();
-			}
-		}
-		int height = Math.round(imageData.height * yscale);
-		if (height > canvasBounds.height) {
-			// The image is taller than the canvas.
-			vertical.setEnabled(true);
-			vertical.setMaximum(height);
-			vertical.setThumb(canvasBounds.height);
-			vertical.setPageIncrement(canvasBounds.height);
-		} else {
-			// The canvas is taller than the image.
-			vertical.setEnabled(false);
-			if (iy != 0) {
-				// Make sure the image is completely visible.
-				iy = 0;
-				imageCanvas.redraw();
-			}
-		}
-
-		// Set the max and thumb for the palette canvas scroll bar.
-		vertical = paletteCanvas.getVerticalBar();
-		if (imageData.palette.isDirect) {
-			vertical.setEnabled(false);
-		} else { // indexed palette
-			canvasBounds = paletteCanvas.getClientArea();
-			int paletteHeight = imageData.palette.getRGBs().length * 10 + 20; // 10 pixels each index + 20 for margins.
-			vertical.setEnabled(true);
-			vertical.setMaximum(paletteHeight);
-			vertical.setThumb(canvasBounds.height);
-			vertical.setPageIncrement(canvasBounds.height);
-		}
-	}
-
-	/*
-	 * Called when the image canvas' horizontal scrollbar is selected.
-	 */
-	void scrollHorizontally(ScrollBar scrollBar) {
-		if (image == null) return;
-		Rectangle canvasBounds = imageCanvas.getClientArea();
-		int width = Math.round(imageData.width * xscale);
-		int height = Math.round(imageData.height * yscale);
-		if (width > canvasBounds.width) {
-			// Only scroll if the image is bigger than the canvas.
-			int x = -scrollBar.getSelection();
-			if (x + width < canvasBounds.width) {
-				// Don't scroll past the end of the image.
-				x = canvasBounds.width - width;
-			}
-			imageCanvas.scroll(x, iy, ix, iy, width, height, false);
-			ix = x;
-		}
-	}
-	
-	/*
-	 * Called when the image canvas' vertical scrollbar is selected.
-	 */
-	void scrollVertically(ScrollBar scrollBar) {
-		if (image == null) return;
-		Rectangle canvasBounds = imageCanvas.getClientArea();
-		int width = Math.round(imageData.width * xscale);
-		int height = Math.round(imageData.height * yscale);
-		if (height > canvasBounds.height) {
-			// Only scroll if the image is bigger than the canvas.
-			int y = -scrollBar.getSelection();
-			if (y + height < canvasBounds.height) {
-				// Don't scroll past the end of the image.
-				y = canvasBounds.height - height;
-			}
-			imageCanvas.scroll(ix, y, ix, iy, width, height, false);
-			iy = y;
-		}
-	}
-
-	/*
-	 * Called when the palette canvas' vertical scrollbar is selected.
-	 */
-	void scrollPalette(ScrollBar scrollBar) {
-		if (image == null) return;
-		Rectangle canvasBounds = paletteCanvas.getClientArea();
-		int paletteHeight = imageData.palette.getRGBs().length * 10 + 20;
-		if (paletteHeight > canvasBounds.height) {
-			// Only scroll if the palette is bigger than the canvas.
-			int y = -scrollBar.getSelection();
-			if (y + paletteHeight < canvasBounds.height) {
-				// Don't scroll past the end of the palette.
-				y = canvasBounds.height - paletteHeight;
-			}
-			paletteCanvas.scroll(0, y, 0, py, paletteWidth, paletteHeight, false);
-			py = y;
-		}
-	}
-
-	/*
-	 * Return a String containing a line-by-line dump of
-	 * the data in the current imageData. The lineDelimiter
-	 * parameter must be a string of length 1 or 2.
-	 */
-	String dataHexDump(String lineDelimiter) {
-		final int MAX_DUMP = 1024 * 1024;
-		if (image == null) return "";
-		boolean truncated = false;
-		char[] dump = null;
-		byte[] alphas = imageData.alphaData;
-		try {
-			int length = imageData.height * (6 + 3 * imageData.bytesPerLine + lineDelimiter.length());
-			if (alphas != null && alphas.length > 0) {
-				length += imageData.height * (6 + 3 * imageData.width + lineDelimiter.length()) + 6 + lineDelimiter.length();
-			}
-			dump = new char[length];
-		} catch (OutOfMemoryError e) {
-			/* Too much data to dump - truncate. */
-			dump = new char[MAX_DUMP];
-			truncated = true;
-		}
-		int index = 0;
-		try {
-			for (int i = 0; i < imageData.data.length; i++) {
-				if (i % imageData.bytesPerLine == 0) {
-					int line = i / imageData.bytesPerLine;
-					dump[index++] = Character.forDigit(line / 1000 % 10, 10);
-					dump[index++] = Character.forDigit(line / 100 % 10, 10);
-					dump[index++] = Character.forDigit(line / 10 % 10, 10);
-					dump[index++] = Character.forDigit(line % 10, 10);
-					dump[index++] = ':';
-					dump[index++] = ' ';
-				}
-				byte b = imageData.data[i];
-				dump[index++] = Character.forDigit((b & 0xF0) >> 4, 16);
-				dump[index++] = Character.forDigit(b & 0x0F, 16);
-				dump[index++] = ' ';
-				if ((i + 1) % imageData.bytesPerLine == 0) {
-					dump[index++] = lineDelimiter.charAt(0);
-					if (lineDelimiter.length() > 1) {
-						dump[index++] = lineDelimiter.charAt(1);
-					}
-				}
-			}
-			if (alphas != null && alphas.length > 0) {
-				dump[index++] = lineDelimiter.charAt(0);
-				if (lineDelimiter.length() > 1) {
-					dump[index++] = lineDelimiter.charAt(1);
-				}
-				System.arraycopy(new char[]{'A','l','p','h','a',':'}, 0, dump, index, 6);
-				index +=6;
-				dump[index++] = lineDelimiter.charAt(0);
-				if (lineDelimiter.length() > 1) {
-					dump[index++] = lineDelimiter.charAt(1);
-				}
-				for (int i = 0; i < alphas.length; i++) {
-					if (i % imageData.width == 0) {
-						int line = i / imageData.width;
-						dump[index++] = Character.forDigit(line / 1000 % 10, 10);
-						dump[index++] = Character.forDigit(line / 100 % 10, 10);
-						dump[index++] = Character.forDigit(line / 10 % 10, 10);
-						dump[index++] = Character.forDigit(line % 10, 10);
-						dump[index++] = ':';
-						dump[index++] = ' ';
-					}
-					byte b = alphas[i];
-					dump[index++] = Character.forDigit((b & 0xF0) >> 4, 16);
-					dump[index++] = Character.forDigit(b & 0x0F, 16);
-					dump[index++] = ' ';
-					if ((i + 1) % imageData.width == 0) {
-						dump[index++] = lineDelimiter.charAt(0);
-						if (lineDelimiter.length() > 1) {
-							dump[index++] = lineDelimiter.charAt(1);
-						}
-					}
-				}
-			}
-		} catch (IndexOutOfBoundsException e) {}
-		String result = "";
-		try {
-			result = new String(dump);
-		} catch (OutOfMemoryError e) {
-			/* Too much data to display in the text widget - truncate. */
-			result = new String(dump, 0, MAX_DUMP);
-			truncated = true;
-		}
-		if (truncated) result += "\n ...data dump truncated at " + MAX_DUMP + "bytes...";
-		return result;
-	}
-	
-	/*
-	 * Open an error dialog displaying the specified information.
-	 */
-	void showErrorDialog(String operation, String filename, Throwable e) {
-		MessageBox box = new MessageBox(shell, SWT.ICON_ERROR);
-		String message = createMsg(bundle.getString("Error"), new String[] {operation, filename});
-		String errorMessage = "";
-		if (e != null) {
-			if (e instanceof SWTException) {
-				SWTException swte = (SWTException) e;
-				errorMessage = swte.getMessage();
-				if (swte.throwable != null) {
-					errorMessage += ":\n" + swte.throwable.toString();
-				}
-			} else if (e instanceof SWTError) {
-				SWTError swte = (SWTError) e;
-				errorMessage = swte.getMessage();
-				if (swte.throwable != null) {
-					errorMessage += ":\n" + swte.throwable.toString();
-				}
-			} else {
-				errorMessage = e.toString();
-			}
-		}
-		box.setMessage(message + errorMessage);
-		box.open();
-	}
-	
-	/*
-	 * Open a dialog asking the user for more information on the type of BMP file to save.
-	 */
-	int showBMPDialog() {
-		final int [] bmpType = new int[1];
-		bmpType[0] = SWT.IMAGE_BMP;
-		SelectionListener radioSelected = new SelectionAdapter () {
-			public void widgetSelected (SelectionEvent event) {
-				Button radio = (Button) event.widget;
-				if (radio.getSelection()) bmpType[0] = ((Integer)radio.getData()).intValue();
-			}
-		};
-		// need to externalize strings
-		final Shell dialog = new Shell(shell, SWT.DIALOG_TRIM);
-
-		dialog.setText(bundle.getString("Save_as_type"));
-		dialog.setLayout(new GridLayout());
-		
-		Label label = new Label(dialog, SWT.NONE);
-		label.setText(bundle.getString("Save_as_type_label"));
-		
-		Button radio = new Button(dialog, SWT.RADIO);
-		radio.setText(bundle.getString("Save_as_type_no_compress"));
-		radio.setSelection(true);
-		radio.setData(new Integer(SWT.IMAGE_BMP));
-		radio.addSelectionListener(radioSelected);
-
-		radio = new Button(dialog, SWT.RADIO);
-		radio.setText(bundle.getString("Save_as_type_rle_compress"));
-		radio.setData(new Integer(SWT.IMAGE_BMP_RLE));
-		radio.addSelectionListener(radioSelected);
-		
-		radio = new Button(dialog, SWT.RADIO);
-		radio.setText(bundle.getString("Save_as_type_os2"));
-		radio.setData(new Integer(SWT.IMAGE_OS2_BMP));
-		radio.addSelectionListener(radioSelected);
-
-		label = new Label(dialog, SWT.SEPARATOR | SWT.HORIZONTAL);
-		label.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		
-		Button ok = new Button(dialog, SWT.PUSH);
-		ok.setText(bundle.getString("OK"));
-		GridData data = new GridData();
-		data.horizontalAlignment = SWT.CENTER;
-		data.widthHint = 75;
-		ok.setLayoutData(data);
-		ok.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				dialog.close();
-			}
-		});
-		
-		dialog.pack();
-		dialog.open();
-		while (!dialog.isDisposed()) {
-			if (!display.readAndDispatch()) display.sleep();
-		}
-		return bmpType[0];
-	}	
-	
-	/*
-	 * Return a String describing how to analyze the bytes
-	 * in the hex dump.
-	 */
-	static String depthInfo(int depth) {
-		Object[] args = {new Integer(depth), ""};
-		switch (depth) {
-			case 1:
-				args[1] = createMsg(bundle.getString("Multi_pixels"), 
-				                    new Object[] {new Integer(8), " [01234567]"});
-				break;
-			case 2:
-				args[1] = createMsg(bundle.getString("Multi_pixels"),
-				                    new Object[] {new Integer(4), "[00112233]"});
-				break;
-			case 4:
-				args[1] = createMsg(bundle.getString("Multi_pixels"),
-				                    new Object[] {new Integer(2), "[00001111]"});
-				break;
-			case 8:
-				args[1] = bundle.getString("One_byte");
-				break;
-			case 16:
-				args[1] = createMsg(bundle.getString("Multi_bytes"), new Integer(2));
-				break;
-			case 24:
-				args[1] = createMsg(bundle.getString("Multi_bytes"), new Integer(3));
-				break;
-			case 32:
-				args[1] = createMsg(bundle.getString("Multi_bytes"), new Integer(4));
-				break;
-			default:
-				args[1] = bundle.getString("Unsupported_lc");
-		}
-		return createMsg(bundle.getString("Depth_info"), args);
-	}
-	
-	/*
-	 * Return the specified number of milliseconds.
-	 * If the specified number of milliseconds is too small
-	 * to see a visual change, then return a higher number.
-	 */
-	static int visibleDelay(int ms) {
-		if (ms < 20) return ms + 30;
-		if (ms < 30) return ms + 10;
-		return ms;
-	}
-
-	/*
-	 * Return the specified byte value as a hex string,
-	 * preserving leading 0's.
-	 */
-	static String toHexByteString(int i) {
-		if (i <= 0x0f)
-			return "0" + Integer.toHexString(i);
-		return Integer.toHexString(i & 0xff);
-	}
-
-	/*
-	 * Return the specified 4-byte value as a hex string,
-	 * preserving leading 0's.
-	 * (a bit 'brute force'... should probably use a loop...)
-	 */
-	static String toHex4ByteString(int i) {
-		String hex = Integer.toHexString(i);
-		if (hex.length() == 1)
-			return "0000000" + hex;
-		if (hex.length() == 2)
-			return "000000" + hex;
-		if (hex.length() == 3)
-			return "00000" + hex;
-		if (hex.length() == 4)
-			return "0000" + hex;
-		if (hex.length() == 5)
-			return "000" + hex;
-		if (hex.length() == 6)
-			return "00" + hex;
-		if (hex.length() == 7)
-			return "0" + hex;
-		return hex;
-	}
-	
-	/*
-	 * Return a String describing the specified
-	 * transparent or background pixel.
-	 */
-	static String pixelInfo(int pixel) {
-		if (pixel == -1) {
-			return pixel + " (" + bundle.getString("None_lc") + ")";
-		}
-		return pixel + " (0x" + Integer.toHexString(pixel) + ")";
-	}
-	
-	/*
-	 * Return a String describing the specified disposal method.
-	 */
-	static String disposalString(int disposalMethod) {
-		switch (disposalMethod) {
-			case SWT.DM_FILL_NONE: return bundle.getString("None_lc");
-			case SWT.DM_FILL_BACKGROUND: return bundle.getString("Background_lc");
-			case SWT.DM_FILL_PREVIOUS: return bundle.getString("Previous_lc");
-		}
-		return bundle.getString("Unspecified_lc");
-	}
-	
-	/*
-	 * Return a String describing the specified image file type.
-	 */
-	String fileTypeString(int filetype) {
-		if (filetype == SWT.IMAGE_BMP)
-			return "BMP";
-		if (filetype == SWT.IMAGE_BMP_RLE)
-			return "RLE" + imageData.depth + " BMP";
-		if (filetype == SWT.IMAGE_OS2_BMP)
-			return "OS/2 BMP";
-		if (filetype == SWT.IMAGE_GIF)
-			return "GIF";
-		if (filetype == SWT.IMAGE_ICO)
-			return "ICO";
-		if (filetype == SWT.IMAGE_JPEG)
-			return "JPEG";
-		if (filetype == SWT.IMAGE_PNG)
-			return "PNG";
-		if (filetype == SWT.IMAGE_TIFF)
-			return "TIFF";
-		return bundle.getString("Unknown_ac");
-	}
-	
-	/*
-	 * Return the specified file's image type, based on its extension.
-	 * Note that this is not a very robust way to determine image type,
-	 * and it is only to be used in the absence of any better method.
-	 */
-	int determineFileType(String filename) {
-		String ext = filename.substring(filename.lastIndexOf('.') + 1);
-		if (ext.equalsIgnoreCase("bmp")) {
-			return showBMPDialog();
-		}
-		if (ext.equalsIgnoreCase("gif"))
-			return SWT.IMAGE_GIF;
-		if (ext.equalsIgnoreCase("ico"))
-			return SWT.IMAGE_ICO;
-		if (ext.equalsIgnoreCase("jpg") || ext.equalsIgnoreCase("jpeg") || ext.equalsIgnoreCase("jfif"))
-			return SWT.IMAGE_JPEG;
-		if (ext.equalsIgnoreCase("png"))
-			return SWT.IMAGE_PNG;
-		if (ext.equalsIgnoreCase("tif") || ext.equalsIgnoreCase("tiff"))
-			return SWT.IMAGE_TIFF;
-		return SWT.IMAGE_UNDEFINED;
-	}
-	
-	static String createMsg(String msg, Object[] args) {
-		MessageFormat formatter = new MessageFormat(msg);
-		return formatter.format(args);
-	}
-	
-	static String createMsg(String msg, Object arg) {
-		MessageFormat formatter = new MessageFormat(msg);
-		return formatter.format(new Object[]{arg});
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/javaviewer/JavaLineStyler.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/javaviewer/JavaLineStyler.java
deleted file mode 100755
index a48e850..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/javaviewer/JavaLineStyler.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.swt.examples.javaviewer;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import java.util.*;
-import java.io.*;
-
-class JavaLineStyler implements LineStyleListener {
-	JavaScanner scanner = new JavaScanner();
-	int[] tokenColors;
-	Color[] colors;
-	Vector blockComments = new Vector();
-
-	public static final int EOF= -1;
-	public static final int EOL= 10;
-
-	public static final int WORD=		0;
-	public static final int WHITE=		1;
-	public static final int KEY=			2;
-	public static final int COMMENT=		3;	
-	public static final int STRING=		5;
-	public static final int OTHER=		6;
-	public static final int NUMBER=		7;
-
-	public static final int MAXIMUM_TOKEN= 8;
-
-public JavaLineStyler() {
-	initializeColors();
-	scanner = new JavaScanner();
-}
-
-Color getColor(int type) {
-	if (type < 0 || type >= tokenColors.length) {
-		return null;
-	}
-	return colors[tokenColors[type]];
-}
-
-boolean inBlockComment(int start, int end) {
-	for (int i=0; i<blockComments.size(); i++) {
-		int[] offsets = (int[])blockComments.elementAt(i);
-		// start of comment in the line
-		if ((offsets[0] >= start) && (offsets[0] <= end)) return true;
-		// end of comment in the line
-		if ((offsets[1] >= start) && (offsets[1] <= end)) return true;
-		if ((offsets[0] <= start) && (offsets[1] >= end)) return true;
-	}
-	return false;
-}
-
-void initializeColors() {
-	Display display = Display.getDefault();
-	colors= new Color[] {
-		new Color(display, new RGB(0, 0, 0)),		// black
-		new Color(display, new RGB(255, 0, 0)),	// red
-		new Color(display, new RGB(0, 255, 0)),	// green
-		new Color(display, new RGB(0,   0, 255))	// blue
-	};
-	tokenColors= new int[MAXIMUM_TOKEN];
-	tokenColors[WORD]=		0;
-	tokenColors[WHITE]=		0;
-	tokenColors[KEY]=		3; 
-	tokenColors[COMMENT]=	1; 
-	tokenColors[STRING]= 	2; 
-	tokenColors[OTHER]=		0;
-	tokenColors[NUMBER]=	0;
-}
-
-void disposeColors() {
-	for (int i=0;i<colors.length;i++) {
-		colors[i].dispose();
-	}
-}
-
-/**
- * Event.detail			line start offset (input)	
- * Event.text 			line text (input)
- * LineStyleEvent.styles 	Enumeration of StyleRanges, need to be in order. (output)
- * LineStyleEvent.background 	line background color (output)
- */
-public void lineGetStyle(LineStyleEvent event) {
-	Vector styles = new Vector();
-	int token;
-	StyleRange lastStyle;
-	// If the line is part of a block comment, create one style for the entire line.
-	if (inBlockComment(event.lineOffset, event.lineOffset + event.lineText.length())) {
-		styles.addElement(new StyleRange(event.lineOffset, event.lineText.length(), getColor(COMMENT), null));
-		event.styles = new StyleRange[styles.size()];
-		styles.copyInto(event.styles);
-		return;
-	}
-	Color defaultFgColor = ((Control)event.widget).getForeground();
-	scanner.setRange(event.lineText);
-	token = scanner.nextToken();
-	while (token != EOF) {
-		if (token == OTHER) {
-			// do nothing for non-colored tokens
-		} else if (token != WHITE) {
-			Color color = getColor(token);
-			// Only create a style if the token color is different than the 
-			// widget's default foreground color and the token's style is not 
-			// bold.  Keywords are bolded.
-			if ((!color.equals(defaultFgColor)) || (token == KEY)) {
-				StyleRange style = new StyleRange(scanner.getStartOffset() + event.lineOffset, scanner.getLength(), color, null);
-				if (token == KEY) {
-					style.fontStyle = SWT.BOLD;
-				}
-				if (styles.isEmpty()) {
-					styles.addElement(style);
-				} else {
-					// Merge similar styles.  Doing so will improve performance.
-					lastStyle = (StyleRange)styles.lastElement();
-					if (lastStyle.similarTo(style) && (lastStyle.start + lastStyle.length == style.start)) {
-						lastStyle.length += style.length;
-					} else {
-						styles.addElement(style); 
-					}
-				} 
-			} 
-		} else if ((!styles.isEmpty()) && ((lastStyle=(StyleRange)styles.lastElement()).fontStyle == SWT.BOLD)) {
-			int start = scanner.getStartOffset() + event.lineOffset;
-			lastStyle = (StyleRange)styles.lastElement();
-			// A font style of SWT.BOLD implies that the last style
-			// represents a java keyword.
-			if (lastStyle.start + lastStyle.length == start) {
-				// Have the white space take on the style before it to 
-				// minimize the number of style ranges created and the
-				// number of font style changes during rendering.
-				lastStyle.length += scanner.getLength();
-			}
-		} 
-		token= scanner.nextToken();
-	}
-	event.styles = new StyleRange[styles.size()];
-	styles.copyInto(event.styles);
-}
-public void parseBlockComments(String text) {
-	blockComments = new Vector();
-	StringReader buffer = new StringReader(text);
-	int ch;
-	boolean blkComment = false;
-	int cnt = 0;
-	int[] offsets = new int[2];
-	boolean done = false;
-	
-	try {
-	while (!done) {
-		switch (ch = buffer.read()) {
-			case -1 : {
-				if (blkComment) {
-					offsets[1] = cnt;
-					blockComments.addElement(offsets);
-				}
-				done = true;
-				break;
-			}
-			case '/' : {
-				ch = buffer.read();
-				if ((ch == '*') && (!blkComment)) {
-					offsets = new int[2];
-					offsets[0] = cnt;
-					blkComment = true;
-					cnt++;	
-				} else {
-					cnt++;
-				}						
-				cnt++;
-				break;
-			}
-			case '*' : {
-				if (blkComment) {
-					ch = buffer.read();
-					cnt++;
-					if (ch == '/') {
-						blkComment = false;	
-						offsets[1] = cnt;
-						blockComments.addElement(offsets);
-					}
-				}
-				cnt++;	
-				break;
-			}
-			default : {
-				cnt++;				
-				break;
-			}
-		}
-	}		
-	} catch(IOException e) {
-		// ignore errors
-	}
-}
-
-/**
- * A simple fuzzy scanner for Java
- */
-public class JavaScanner {
-
-	protected Hashtable fgKeys= null;
-	protected StringBuffer fBuffer= new StringBuffer();
-	protected String fDoc;
-	protected int fPos;
-	protected int fEnd;
-	protected int fStartToken;
-	protected boolean fEofSeen= false;
-
-	private String[] fgKeywords= { 
-		"abstract",
-		"boolean", "break", "byte",
-		"case", "catch", "char", "class", "continue",
-		"default", "do", "double",
-		"else", "extends",
-		"false", "final", "finally", "float", "for",
-		"if", "implements", "import", "instanceof", "int", "interface",
-		"long",
-		"native", "new", "null",
-		"package", "private", "protected", "public",
-		"return",
-		"short", "static", "super", "switch", "synchronized",
-		"this", "throw", "throws", "transient", "true", "try",
-		"void", "volatile",
-		"while"
-	};
-
-	public JavaScanner() {
-		initialize();
-	}
-
-	/**
-	 * Returns the ending location of the current token in the document.
-	 */
-	public final int getLength() {
-		return fPos - fStartToken;
-	}
-
-	/**
-	 * Initialize the lookup table.
-	 */
-	void initialize() {
-		fgKeys= new Hashtable();
-		Integer k= new Integer(KEY);
-		for (int i= 0; i < fgKeywords.length; i++)
-			fgKeys.put(fgKeywords[i], k);
-	}
-
-	/**
-	 * Returns the starting location of the current token in the document.
-	 */
-	public final int getStartOffset() {
-		return fStartToken;
-	}
-
-	/**
-	 * Returns the next lexical token in the document.
-	 */
-	public int nextToken() {
-		int c;
-		fStartToken= fPos;
-		while (true) {
-			switch (c= read()) {			
-			case EOF:
-				return EOF;				
-			case '/':	// comment
-				c= read();
-				if (c == '/') {
-					while (true) {
-						c= read();
-						if ((c == EOF) || (c == EOL)) {
-							unread(c);
-							return COMMENT;
-						}
-					}
-				}
-				unread(c);
-				return OTHER;
-			case '\'':	// char const
-				while(true) {
-					c= read();
-					switch (c) {
-						case '\'':
-							return STRING;
-						case EOF:
-							unread(c);
-							return STRING;
-						case '\\':
-							c= read();
-							break;
-						}
-				}
-
-			case '"':	// string
-				while(true) {
-					c= read();
-					switch (c) {
-						case '"':
-							return STRING;
-						case EOF:
-							unread(c);
-							return STRING;
-						case '\\':
-							c= read();
-							break;
-						}
-				}
-
-			case '0': case '1': case '2': case '3': case '4':
-			case '5': case '6': case '7': case '8': case '9':
-				do {
-					c= read();
-				} while(Character.isDigit((char)c));
-				unread(c);
-				return NUMBER;
-			default:
-				if (Character.isWhitespace((char)c)) {
-					do {
-						c= read();
-					} while(Character.isWhitespace((char)c));
-					unread(c);
-					return WHITE;
-				}
-				if (Character.isJavaIdentifierStart((char)c)) {
-					fBuffer.setLength(0);
-					do {
-						fBuffer.append((char)c);
-						c= read();
-					} while(Character.isJavaIdentifierPart((char)c));
-					unread(c);
-					Integer i= (Integer) fgKeys.get(fBuffer.toString());
-					if (i != null)
-						return i.intValue();
-						return WORD;
-				}
-				return OTHER;
-			}
-		}
-	}
-
-	/**
-	 * Returns next character.
-	 */
-	protected int read() {
-		if (fPos <= fEnd) {
-			return fDoc.charAt(fPos++);
-		}
-		return EOF;
-	}
-
-	public void setRange(String text) {
-		fDoc= text;
-		fPos= 0;
-		fEnd= fDoc.length() -1;
-	}
-
-	protected void unread(int c) {
-		if (c != EOF)
-	    	fPos--;
-	}
-}
-
-
-
-
-
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/javaviewer/JavaViewer.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/javaviewer/JavaViewer.java
deleted file mode 100755
index c31f57b..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/javaviewer/JavaViewer.java
+++ /dev/null
@@ -1,184 +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.swt.examples.javaviewer;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import java.util.*;
-import java.io.*;
-import java.text.*;
-
-/**
- */
-public class JavaViewer {  
-	Shell shell;
-	StyledText text;
-	JavaLineStyler lineStyler = new JavaLineStyler();
-	FileDialog fileDialog;
-	static ResourceBundle resources = ResourceBundle.getBundle("examples_javaviewer");
-
-Menu createFileMenu() {
-	Menu bar = shell.getMenuBar ();
-	Menu menu = new Menu (bar);
-	MenuItem item;
-
-	// Open 
-	item = new MenuItem (menu, SWT.PUSH);
-	item.setText (resources.getString("Open_menuitem"));
-	item.setAccelerator(SWT.MOD1 + 'O');
-	item.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent event) {
-			openFile();
-		}
-	});
-
-	// Exit
-	item = new MenuItem (menu, SWT.PUSH);
-	item.setText (resources.getString("Exit_menuitem"));
-	item.addSelectionListener (new SelectionAdapter () {
-		public void widgetSelected (SelectionEvent e) {
-			menuFileExit ();
-		}
-	});
-	return menu;
-}
-
-void createMenuBar () {
-	Menu bar = new Menu (shell, SWT.BAR);
-	shell.setMenuBar (bar);
-
-	MenuItem fileItem = new MenuItem (bar, SWT.CASCADE);
-	fileItem.setText (resources.getString("File_menuitem"));
-	fileItem.setMenu (createFileMenu ());
-
-}
-
-void createShell (Display display) {
-	shell = new Shell (display);
-	shell.setText (resources.getString("Window_title"));	
-	GridLayout layout = new GridLayout();
-	layout.numColumns = 1;
-	shell.setLayout(layout);
-	shell.addShellListener (new ShellAdapter () {
-		public void shellClosed (ShellEvent e) {
-			lineStyler.disposeColors();
-			text.removeLineStyleListener(lineStyler);
-		}
-	});
-}
-void createStyledText() {
-	text = new StyledText (shell, SWT.BORDER | SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL);
-	GridData spec = new GridData();
-	spec.horizontalAlignment = GridData.FILL;
-	spec.grabExcessHorizontalSpace = true;
-	spec.verticalAlignment = GridData.FILL;
-	spec.grabExcessVerticalSpace = true;
-	text.setLayoutData(spec);
-	text.addLineStyleListener(lineStyler);
-	text.setEditable(false);
-	Color bg = Display.getDefault().getSystemColor(SWT.COLOR_GRAY);
-	text.setBackground(bg);
-}
-
-void displayError(String msg) {
-	MessageBox box = new MessageBox(shell, SWT.ICON_ERROR);
-	box.setMessage(msg);
-	box.open();
-}
-
-public static void main (String [] args) {
-	Display display = new Display();
-	JavaViewer example = new JavaViewer ();
-	Shell shell = example.open (display);
-	while (!shell.isDisposed ())
-		if (!display.readAndDispatch ()) display.sleep ();
-	display.dispose ();
-}
-
-public Shell open (Display display) {
-	createShell (display);
-	createMenuBar ();
-	createStyledText ();
-	shell.setSize(500, 400);
-	shell.open ();
-	return shell;
-}
-
-void openFile() {	
-	if (fileDialog == null) {
-		fileDialog = new FileDialog(shell, SWT.OPEN);
-	}
-
-	fileDialog.setFilterExtensions(new String[] {"*.java", "*.*"});
-	String name = fileDialog.open();
-	
-	open(name);
-}
-
-void open(String name) {
-	final String textString;
-	
-	if ((name == null) || (name.length() == 0)) return;
-
-	File file = new File(name);
-	if (!file.exists()) {
-		String message = MessageFormat.format(resources.getString("Err_file_no_exist"), new String[] {file.getName()});
-		displayError(message);
-		return;
-	}
-
-	try {
-		FileInputStream stream= new FileInputStream(file.getPath());
-		try {
-			Reader in = new BufferedReader(new InputStreamReader(stream));
-			char[] readBuffer= new char[2048];
-			StringBuffer buffer= new StringBuffer((int) file.length());
-			int n;
-			while ((n = in.read(readBuffer)) > 0) {
-				buffer.append(readBuffer, 0, n);
-			}
-			textString = buffer.toString();
-			stream.close();
-		}
-		catch (IOException e) {
-			// Err_file_io
-			String message = MessageFormat.format(resources.getString("Err_file_io"), new String[] {file.getName()});
-			displayError(message);
-			return;
-		}
-	}
-	catch (FileNotFoundException e) {
-		String message = MessageFormat.format(resources.getString("Err_not_found"), new String[] {file.getName()});
-		displayError(message);
-		return;
-	}
-	// Guard against superfluous mouse move events -- defer action until later
-	Display display = text.getDisplay();
-	display.asyncExec(new Runnable() {
-		public void run() {
-			text.setText(textString);
-		}
-	});	
-	
-	// parse the block comments up front since block comments can go across
-	// lines - inefficient way of doing this
-	lineStyler.parseBlockComments(textString);
-}
-
-void menuFileExit () {
-	shell.close ();
-}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/layoutexample/FillLayoutTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/layoutexample/FillLayoutTab.java
deleted file mode 100644
index bbcc4f3..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/layoutexample/FillLayoutTab.java
+++ /dev/null
@@ -1,222 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.examples.layoutexample;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-class FillLayoutTab extends Tab {
-	/* Controls for setting layout parameters */
-	Button horizontal, vertical;
-	Spinner marginWidth, marginHeight, spacing;
-	/* The example layout instance */
-	FillLayout fillLayout;
-	/* TableEditors and related controls*/
-	TableEditor comboEditor, nameEditor;
-	CCombo combo;
-	Text nameText;
-	final int NAME_COL = 0;
-	final int TOTAL_COLS = 2;
-	
-	/**
-	 * Creates the Tab within a given instance of LayoutExample.
-	 */
-	FillLayoutTab(LayoutExample instance) {
-		super(instance);
-	}
-	
-	/**
-	 * Creates the widgets in the "child" group.
-	 */
-	void createChildWidgets () {
-		/* Add common controls */
-		super.createChildWidgets ();
-		
-		/* Add TableEditors */
-		comboEditor = new TableEditor (table);
-		nameEditor = new TableEditor (table);
-		table.addMouseListener(new MouseAdapter() {
-			public void mouseDown(MouseEvent e) {
-				resetEditors ();
-				index = table.getSelectionIndex ();
-				if (index == -1) return;
-				TableItem oldItem = comboEditor.getItem ();
-				newItem = table.getItem (index);
-				if (newItem == oldItem || newItem != lastSelected) {
-					lastSelected = newItem;
-					return;
-				}
-				table.showSelection ();
-				
-				combo = new CCombo (table, SWT.READ_ONLY);
-				createComboEditor (combo, comboEditor);
-				
-				nameText = new Text(table, SWT.SINGLE);
-				nameText.setText(((String[])data.elementAt(index))[NAME_COL]);
-				createTextEditor(nameText, nameEditor, NAME_COL);
-			}
-		});
-	}
-	
-	/**
-	 * Creates the control widgets.
-	 */
-	void createControlWidgets () {
-		/* Controls the type of FillLayout */
-		Group typeGroup = new Group (controlGroup, SWT.NONE);
-		typeGroup.setText (LayoutExample.getResourceString ("Type"));
-		typeGroup.setLayout (new GridLayout ());
-		typeGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, false));
-		horizontal = new Button (typeGroup, SWT.RADIO);
-		horizontal.setText ("SWT.HORIZONTAL");
-		horizontal.setLayoutData(new GridData (SWT.FILL, SWT.CENTER, true, false));
-		horizontal.setSelection(true);
-		horizontal.addSelectionListener (selectionListener);
-		vertical = new Button (typeGroup, SWT.RADIO);
-		vertical.setText ("SWT.VERTICAL");
-		vertical.setLayoutData(new GridData (SWT.FILL, SWT.CENTER, true, false));
-		vertical.addSelectionListener (selectionListener); 
-		
-		/* Controls the margins and spacing of the FillLayout */
-		Group marginGroup = new Group(controlGroup, SWT.NONE);
-		marginGroup.setText (LayoutExample.getResourceString("Margins_Spacing"));
-		marginGroup.setLayout(new GridLayout(2, false));
-		marginGroup.setLayoutData (new GridData(SWT.FILL, SWT.CENTER, false, false));
-		new Label(marginGroup, SWT.NONE).setText("marginWidth");
-		marginWidth = new Spinner(marginGroup, SWT.BORDER);
-		marginWidth.setSelection(0);
-		marginWidth.addSelectionListener(selectionListener);
-		new Label(marginGroup, SWT.NONE).setText("marginHeight");
-		marginHeight = new Spinner(marginGroup, SWT.BORDER);
-		marginHeight.setSelection(0);
-		marginHeight.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false));
-		marginHeight.addSelectionListener(selectionListener);
-		new Label(marginGroup, SWT.NONE).setText ("spacing");
-		spacing = new Spinner(marginGroup, SWT.BORDER);
-		spacing.setSelection(0);
-		spacing.addSelectionListener(selectionListener);
-		
-		/* Add common controls */
-		super.createControlWidgets ();
-	}
-	
-	/**
-	 * Creates the example layout.
-	 */
-	void createLayout () {
-		fillLayout = new FillLayout ();
-		layoutComposite.setLayout (fillLayout);
-	}
-	
-	/** 
-	 * Disposes the editors without placing their contents
-	 * into the table.
-	 */
-	void disposeEditors () {
-		comboEditor.setEditor (null, null, -1);
-		combo.dispose ();
-		nameText.dispose();
-	}
-
-	
-	/**
-	 * Generates code for the example layout.
-	 */
-	StringBuffer generateLayoutCode () {
-		StringBuffer code = new StringBuffer ();
-		code.append ("\t\tFillLayout fillLayout = new FillLayout ();\n");
-		if (fillLayout.type == SWT.VERTICAL) {
-			code.append ("\t\tfillLayout.type = SWT.VERTICAL;\n");
-		}
-		if (fillLayout.marginWidth != 0) {
-			code.append("\t\tfillLayout.marginWidth = " + fillLayout.marginWidth + ";\n");
-		}
-		if (fillLayout.marginHeight != 0) {
-			code.append("\t\tfillLayout.marginHeight = " + fillLayout.marginHeight + ";\n");
-		}
-		if (fillLayout.spacing != 0) {
-			code.append("\t\tfillLayout.spacing = " + fillLayout.spacing + ";\n");
-		}
-		code.append("\t\tshell.setLayout (fillLayout);\n");
-		for(int i = 0; i < children.length; i++) {
-			Control control = children[i];
-			code.append(getChildCode(control, i));
-		}
-		return code;
-	}
-	
-	/**
-	 * Returns the string to insert when a new child control is added to the table.
-	 */
-	String[] getInsertString (String name, String controlType) {
-		return new String [] {name, controlType};
-	}
-
-	/**
-	 * Returns the layout data field names.
-	 */
-	String [] getLayoutDataFieldNames() {
-		return new String [] { "Control Name", "Control Type" };
-	}
-	
-	/**
-	 * Gets the text for the tab folder item.
-	 */
-	String getTabText () {
-		return "FillLayout";
-	}
-	
-	/**
-	 * Takes information from TableEditors and stores it.
-	 */
-	void resetEditors (boolean tab) {
-		TableItem oldItem = comboEditor.getItem ();
-		comboEditor.setEditor (null, null, -1);
-		if (oldItem != null) {
-			int row = table.indexOf (oldItem);
-			try {				
-				new String (nameText.getText ());
-			} catch (NumberFormatException e) {
-				nameText.setText (oldItem.getText (NAME_COL));
-			}
-			String [] insert = new String [] {nameText.getText (), combo.getText ()};
-			data.setElementAt (insert, row);
-			for (int i = 0 ; i < TOTAL_COLS; i++) {
-				oldItem.setText (i, ((String [])data.elementAt (row)) [i]);
-			}
-			if (!tab) disposeEditors ();
-		}
-		setLayoutState ();
-		refreshLayoutComposite ();
-		layoutComposite.layout (true);
-		layoutGroup.layout (true);
-	}
-	
-	/**
-	 * Sets the state of the layout.
-	 */
-	void setLayoutState () {
-		if (vertical.getSelection()) {
-			fillLayout.type = SWT.VERTICAL;
-		} else {
-			fillLayout.type = SWT.HORIZONTAL;
-		}
-		
-		/* Set the margins and spacing */
-		fillLayout.marginWidth = marginWidth.getSelection();		
-		fillLayout.marginHeight = marginHeight.getSelection();		
-		fillLayout.spacing = spacing.getSelection();
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/layoutexample/FormLayoutTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/layoutexample/FormLayoutTab.java
deleted file mode 100644
index bea0cbc..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/layoutexample/FormLayoutTab.java
+++ /dev/null
@@ -1,774 +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.swt.examples.layoutexample;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.custom.*;
-
-class FormLayoutTab extends Tab {
-	/* Controls for setting layout parameters */
-	Spinner marginWidth, marginHeight, marginLeft, marginRight, marginTop, marginBottom, spacing;
-	/* The example layout instance */
-	FormLayout formLayout;
-	/* TableEditors and related controls*/
-	TableEditor nameEditor, comboEditor, widthEditor, heightEditor;
-	TableEditor leftEditor, rightEditor, topEditor, bottomEditor;
-	CCombo combo;
-	Text nameText, widthText, heightText;
-	Button leftAttach, rightAttach, topAttach, bottomAttach;
-	
-	/* Constants */
-	final int NAME_COL = 0;
-	final int COMBO_COL = 1;
-	final int WIDTH_COL = 2;
-	final int HEIGHT_COL = 3;
-	final int LEFT_COL = 4;
-	final int RIGHT_COL = 5;
-	final int TOP_COL = 6;
-	final int BOTTOM_COL = 7;
-	
-	final int MODIFY_COLS = 4;	// The number of columns with combo or text editors
-	final int TOTAL_COLS = 8;
-
-	/**
-	 * Creates the Tab within a given instance of LayoutExample.
-	 */
-	FormLayoutTab(LayoutExample instance) {
-		super(instance);
-	}
-	
-	/**
-	 * Returns the constant for the alignment for an
-	 * attachment given a string.
-	 */
-	int alignmentConstant (String align) {
-		if (align.equals("LEFT")) return SWT.LEFT;
-		if (align.equals("RIGHT")) return SWT.RIGHT;
-		if (align.equals("TOP")) return SWT.TOP;
-		if (align.equals("BOTTOM")) return SWT.BOTTOM;
-		if (align.equals("CENTER")) return SWT.CENTER;
-		return SWT.DEFAULT;
-	}
-	
-	/**
-	 * Returns a string representing the alignment for an
-	 * attachment given a constant.
-	 */
-	String alignmentString (int align) {
-		switch (align) {
-			case SWT.LEFT: return "LEFT";
-			case SWT.RIGHT: return "RIGHT";
-			case SWT.TOP: return "TOP";
-			case SWT.BOTTOM: return "BOTTOM";
-			case SWT.CENTER: return "CENTER";
-		}
-		return "DEFAULT";
-	}
-	
-	/**
-	 * Update the attachment field in case the type of control
-	 * has changed. 
-	 */
-	String checkAttachment (String oldAttach, FormAttachment newAttach) {
-		String controlClass = newAttach.control.getClass().toString ();
-		String controlType = controlClass.substring (controlClass.lastIndexOf ('.') + 1);
-		int i = 0;
-		while (i < oldAttach.length () && !Character.isDigit(oldAttach.charAt (i))) {
-			i++;
-		}
-		String index = oldAttach.substring (i, oldAttach.indexOf (','));
-		return controlType + index + "," + newAttach.offset + ":" + alignmentString (newAttach.alignment);
-	}
-	
-	/**
-	 * Creates the widgets in the "child" group.
-	 */
-	void createChildWidgets () {
-		/* Add common controls */
-		super.createChildWidgets ();
-		
-		/* Resize the columns */
-		table.getColumn (LEFT_COL).setWidth (90);
-		table.getColumn (RIGHT_COL).setWidth (90);
-		table.getColumn (TOP_COL).setWidth (90);
-		table.getColumn (BOTTOM_COL).setWidth (90);
-				
-		/* Add TableEditors */
-		nameEditor = new TableEditor (table);
-		comboEditor = new TableEditor (table);
-		widthEditor = new TableEditor (table);
-		heightEditor = new TableEditor (table);
-		leftEditor = new TableEditor (table);
-		rightEditor = new TableEditor (table);
-		topEditor = new TableEditor (table);
-		bottomEditor = new TableEditor (table);
-		table.addMouseListener (new MouseAdapter () {
-			public void mouseDown(MouseEvent e) {
-				resetEditors();
-				index = table.getSelectionIndex ();
-				Point pt = new Point (e.x, e.y);
-                newItem = table.getItem (pt);
-                if (newItem == null) return;
-                TableItem oldItem = comboEditor.getItem ();
-                if (newItem == oldItem || newItem != lastSelected) {
-					lastSelected = newItem;
-					return;
-				}
-				table.showSelection ();
-				
-				combo = new CCombo (table, SWT.READ_ONLY);
-				createComboEditor (combo, comboEditor);
-				
-				nameText = new Text (table, SWT.SINGLE);
-				nameText.setText (((String[])data.elementAt(index))[NAME_COL]);
-				createTextEditor(nameText, nameEditor, NAME_COL);
-				
-				widthText = new Text (table, SWT.SINGLE);
-				widthText.setText (((String [])data.elementAt (index)) [WIDTH_COL]);
-				createTextEditor (widthText, widthEditor, WIDTH_COL);
-				
-				heightText = new Text (table, SWT.SINGLE);
-				heightText.setText (((String [])data.elementAt (index)) [HEIGHT_COL]);
-				createTextEditor (heightText, heightEditor, HEIGHT_COL);
-				
-				leftAttach = new Button (table, SWT.PUSH);
-				leftAttach.setText (LayoutExample.getResourceString ("Attach_Edit"));
-				leftEditor.horizontalAlignment = SWT.LEFT;
-				leftEditor.grabHorizontal = true;
-				leftEditor.minimumWidth = leftAttach.computeSize (SWT.DEFAULT, SWT.DEFAULT).x;
-				leftEditor.setEditor (leftAttach, newItem, LEFT_COL);
-				leftAttach.addSelectionListener (new SelectionAdapter () {
-					public void widgetSelected (SelectionEvent e) {
-						Shell shell = tabFolderPage.getShell ();
-						AttachDialog dialog = new AttachDialog (shell);
-						dialog.setText (LayoutExample.getResourceString ("Left_Attachment"));
-						dialog.setColumn (LEFT_COL);
-						String attach = dialog.open ();
-						newItem.setText (LEFT_COL, attach);
-						resetEditors ();
-					}
-				});
-				
-				rightAttach = new Button (table, SWT.PUSH);
-				rightAttach.setText (LayoutExample.getResourceString ("Attach_Edit"));
-				rightEditor.horizontalAlignment = SWT.LEFT;
-				rightEditor.grabHorizontal = true;
-				rightEditor.minimumWidth = rightAttach.computeSize (SWT.DEFAULT, SWT.DEFAULT).x;
-				rightEditor.setEditor (rightAttach, newItem, RIGHT_COL);
-				rightAttach.addSelectionListener (new SelectionAdapter () {
-					public void widgetSelected (SelectionEvent e) {
-						Shell shell = tabFolderPage.getShell ();
-						AttachDialog dialog = new AttachDialog (shell);
-						dialog.setText (LayoutExample.getResourceString ("Right_Attachment"));
-						dialog.setColumn (RIGHT_COL);
-						String attach = dialog.open ();
-						newItem.setText (RIGHT_COL, attach);
-						if (newItem.getText (LEFT_COL).endsWith (")")) newItem.setText (LEFT_COL, "");
-						resetEditors ();
-					}
-				});
-				
-				topAttach = new Button (table, SWT.PUSH);
-				topAttach.setText (LayoutExample.getResourceString ("Attach_Edit"));
-				topEditor.horizontalAlignment = SWT.LEFT;
-				topEditor.grabHorizontal = true;
-				topEditor.minimumWidth = topAttach.computeSize (SWT.DEFAULT, SWT.DEFAULT).x;
-				topEditor.setEditor (topAttach, newItem, TOP_COL);
-				topAttach.addSelectionListener (new SelectionAdapter () {
-					public void widgetSelected (SelectionEvent e) {
-						Shell shell = tabFolderPage.getShell ();
-						AttachDialog dialog = new AttachDialog (shell);
-						dialog.setText (LayoutExample.getResourceString ("Top_Attachment"));
-						dialog.setColumn (TOP_COL);
-						String attach = dialog.open ();
-						newItem.setText (TOP_COL, attach);
-						resetEditors ();
-					}
-				});
-				bottomAttach = new Button (table, SWT.PUSH);
-				bottomAttach.setText (LayoutExample.getResourceString ("Attach_Edit"));
-				bottomEditor.horizontalAlignment = SWT.LEFT;
-				bottomEditor.grabHorizontal = true;
-				bottomEditor.minimumWidth = bottomAttach.computeSize (SWT.DEFAULT, SWT.DEFAULT).x;
-				bottomEditor.setEditor (bottomAttach, newItem, BOTTOM_COL);
-				bottomAttach.addSelectionListener (new SelectionAdapter () {
-					public void widgetSelected (SelectionEvent e) {
-						Shell shell = tabFolderPage.getShell ();
-						AttachDialog dialog = new AttachDialog (shell);
-						dialog.setText (LayoutExample.getResourceString ("Bottom_Attachment"));
-						dialog.setColumn (BOTTOM_COL);
-						String attach = dialog.open ();
-						newItem.setText (BOTTOM_COL, attach);
-						if (newItem.getText (TOP_COL).endsWith (")")) newItem.setText (TOP_COL, "");
-						resetEditors ();
-					}
-				});
-                
-                for (int i=0; i<table.getColumnCount (); i++) {
-                	Rectangle rect = newItem.getBounds (i);
-                    if (rect.contains (pt)) {
-                    	switch (i) {
-                    		case 0:
-                    			resetEditors ();
-                    			break;
-							case COMBO_COL :
-								combo.setFocus ();	
-								break;
-							case WIDTH_COL :	
-								widthText.setFocus ();
-								break;
-							case HEIGHT_COL :
-								heightText.setFocus ();
-								break;
-							default :
-								break;
-						}
-                    }
-                } 
-			}
-		});		
-	}
-
-	/**
-	 * Creates the control widgets.
-	 */
-	void createControlWidgets () {
-		/* Controls the margins and spacing of the FormLayout */
-		Group marginGroup = new Group (controlGroup, SWT.NONE);
-		marginGroup.setText (LayoutExample.getResourceString ("Margins_Spacing"));
-		marginGroup.setLayout(new GridLayout (2, false));
-		marginGroup.setLayoutData (new GridData (SWT.FILL, SWT.CENTER, false, false));
-		new Label (marginGroup, SWT.NONE).setText ("marginWidth");
-		marginWidth = new Spinner(marginGroup, SWT.BORDER);
-		marginWidth.setSelection(0);
-		marginWidth.addSelectionListener(selectionListener);
-		new Label (marginGroup, SWT.NONE).setText("marginHeight");
-		marginHeight = new Spinner(marginGroup, SWT.BORDER);
-		marginHeight.setSelection(0);
-		marginHeight.addSelectionListener (selectionListener);
-		new Label (marginGroup, SWT.NONE).setText("marginLeft");
-		marginLeft = new Spinner(marginGroup, SWT.BORDER);
-		marginLeft.setSelection(0);
-		marginLeft.addSelectionListener(selectionListener);
-		new Label(marginGroup, SWT.NONE).setText("marginRight");
-		marginRight = new Spinner(marginGroup, SWT.BORDER);
-		marginRight.setSelection(0);
-		marginRight.addSelectionListener(selectionListener);
-		new Label(marginGroup, SWT.NONE).setText("marginTop");
-		marginTop = new Spinner(marginGroup, SWT.BORDER);
-		marginTop.setSelection(0);
-		marginTop.addSelectionListener(selectionListener);
-		new Label(marginGroup, SWT.NONE).setText("marginBottom");
-		marginBottom = new Spinner(marginGroup, SWT.BORDER);
-		marginBottom.setSelection(0);
-		marginBottom.addSelectionListener(selectionListener);
-		new Label(marginGroup, SWT.NONE).setText ("spacing");
-		spacing = new Spinner(marginGroup, SWT.BORDER);
-		spacing.setSelection(0);
-		spacing.addSelectionListener(selectionListener);
-		
-		/* Add common controls */
-		super.createControlWidgets ();
-	}
-	
-	/**
-	 * Creates the example layout.
-	 */
-	void createLayout () {
-		formLayout = new FormLayout ();
-		layoutComposite.setLayout (formLayout);
-	}
-	
-	/** 
-	 * Disposes the editors without placing their contents
-	 * into the table.
-	 */
-	void disposeEditors () {
-		comboEditor.setEditor (null, null, -1);
-		combo.dispose ();
-		nameText.dispose ();
-		widthText.dispose ();
-		heightText.dispose ();
-		leftAttach.dispose ();
-		rightAttach.dispose ();
-		topAttach.dispose ();
-		bottomAttach.dispose ();
-	}
-
-	/**
-	 * Generates code for the example layout.
-	 */	
-	StringBuffer generateLayoutCode () {
-		StringBuffer code = new StringBuffer ();
-		code.append ("\t\tFormLayout formLayout = new FormLayout ();\n");
-		if (formLayout.marginWidth != 0) {
-			code.append ("\t\tformLayout.marginWidth = " + formLayout.marginWidth + ";\n");
-		}
-		if (formLayout.marginHeight != 0) {
-			code.append ("\t\tformLayout.marginHeight = " + formLayout.marginHeight + ";\n");
-		}
-		if(formLayout.marginLeft != 0) {
-			code.append ("\t\tformLayout.marginLeft = " + formLayout.marginLeft + ";\n");
-		}
-		if(formLayout.marginRight != 0) {
-			code.append ("\t\tformLayout.marginRight = " + formLayout.marginRight + ";\n");
-		}
-		if(formLayout.marginTop != 0) {
-			code.append ("\t\tformLayout.marginTop = " + formLayout.marginTop + ";\n");
-		}
-		if(formLayout.marginBottom != 0) {
-			code.append ("\t\tformLayout.marginBottom = " + formLayout.marginBottom + ";\n");
-		}
-		if (formLayout.spacing != 0) {
-			code.append ("\t\tformLayout.spacing = " + formLayout.spacing + ";\n");
-		}
-		code.append ("\t\tshell.setLayout (formLayout);\n");
-		
-		boolean first = true;
-		for (int i = 0; i < children.length; i++) {
-			Control control = children [i];
-			code.append (getChildCode (control, i));
-			FormData data = (FormData) control.getLayoutData ();
-			if (data != null) {
-				code.append ("\t\t");
-				if (first) {
-					code.append ("FormData ");
-					first = false;
-				}
-				code.append ("data = new FormData ();\n");	
-				if (data.width != SWT.DEFAULT) {
-					code.append ("\t\tdata.width = " + data.width + ";\n");
-				}
-				if (data.height != SWT.DEFAULT) {
-					code.append ("\t\tdata.height = " + data.height + ";\n");
-				}
-				if (data.left != null) {
-					if (data.left.control != null) {
-						TableItem item = table.getItem (i);
-						String controlString = item.getText (LEFT_COL);
-						int index = new Integer (controlString.substring (controlString.indexOf (',') - 1, controlString.indexOf (','))).intValue ();
-						code.append ("\t\tdata.left = new FormAttachment (" + names [index] + ", " + data.left.offset + ", SWT." + alignmentString (data.left.alignment) + ");\n");
-					} else {
-						if (data.right != null || (data.left.numerator != 0 ||data.left.offset != 0)) {
-							code.append ("\t\tdata.left = new FormAttachment (" + data.left.numerator + ", " + data.left.offset + ");\n");
-						}
-					}
-				}
-				if (data.right != null) {
-					if (data.right.control != null) {
-						TableItem item = table.getItem (i);
-						String controlString = item.getText (RIGHT_COL);
-						int index = new Integer (controlString.substring (controlString.indexOf (',') - 1, controlString.indexOf (','))).intValue ();
-						code.append ("\t\tdata.right = new FormAttachment (" + names [index] + ", " + data.right.offset + ", SWT." + alignmentString (data.right.alignment) + ");\n");
-					} else {
-						code.append ("\t\tdata.right = new FormAttachment (" + data.right.numerator + ", " + data.right.offset + ");\n");
-					}
-				}
-				if (data.top != null) {
-					if (data.top.control != null) {
-						TableItem item = table.getItem (i);
-						String controlString = item.getText (TOP_COL);
-						int index = new Integer (controlString.substring (controlString.indexOf (',') - 1, controlString.indexOf (','))).intValue ();
-						code.append ("\t\tdata.top = new FormAttachment (" + names [index] + ", " + data.top.offset + ", SWT." + alignmentString (data.top.alignment) + ");\n");
-					} else {
-						if (data.bottom != null || (data.top.numerator != 0 ||data.top.offset != 0)) {
-							code.append ("\t\tdata.top = new FormAttachment (" + data.top.numerator + ", " + data.top.offset + ");\n");
-						}
-					}
-				}
-				if (data.bottom != null) {
-					if (data.bottom.control != null) {
-						TableItem item = table.getItem (i);
-						String controlString = item.getText (BOTTOM_COL);
-						int index = new Integer (controlString.substring (controlString.indexOf (',') - 1, controlString.indexOf (','))).intValue ();
-						code.append ("\t\tdata.bottom = new FormAttachment (" + names [index] + ", " + data.bottom.offset + ", SWT." + alignmentString (data.bottom.alignment) + ");\n");
-					} else {
-						code.append ("\t\tdata.bottom = new FormAttachment (" + data.bottom.numerator + ", " + data.bottom.offset + ");\n");
-					}
-				}
-				code.append ("\t\t" + names [i] + ".setLayoutData (data);\n");
-			}
-		}
-		return code;
-	}
-	
-	/**
-	 * Returns the string to insert when a new child control is added to the table.
-	 */
-	String[] getInsertString (String name, String controlType) {
-		return new String [] {name, controlType, "-1", "-1",
-				"0,0 (" + LayoutExample.getResourceString ("Default") + ")", "", 
-				"0,0 (" + LayoutExample.getResourceString ("Default") + ")", ""};
-	}
-
-	/**
-	 * Returns the layout data field names.
-	 */
-	String [] getLayoutDataFieldNames() {
-		return new String [] {
-			"Control Name",
-			"Control Type", 
-			"width", 
-			"height", 
-			"left", 
-			"right", 
-			"top", 
-			"bottom"
-		};
-	}
-	
-	/**
-	 * Gets the text for the tab folder item.
-	 */
-	String getTabText () {
-		return "FormLayout";
-	}
-	
-	/**
-	 * Takes information from TableEditors and stores it.
-	 */
-	void resetEditors (boolean tab) {
-		TableItem oldItem = comboEditor.getItem ();
-		if (oldItem != null) {
-			int row = table.indexOf (oldItem);
-			try {
-				new String (nameText.getText ());
-			} catch (NumberFormatException e) {
-				nameText.setText (oldItem.getText (NAME_COL));
-			}
-			try {
-				new Integer (widthText.getText ()).intValue ();
-			} catch (NumberFormatException e) {
-				widthText.setText (oldItem.getText (WIDTH_COL));
-			}
-			try {
-				new Integer(heightText.getText()).intValue();
-			} catch(NumberFormatException e) {
-				heightText.setText (oldItem.getText(HEIGHT_COL));
-			}
-			String[] insert = new String [] {nameText.getText(), combo.getText (), widthText.getText (), heightText.getText ()};
-			data.setElementAt (insert, row);
-			for (int i = 0 ; i < MODIFY_COLS; i++) {
-				oldItem.setText (i, ((String [])data.elementAt (row)) [i]);
-			}
-			if (!tab) disposeEditors ();
-		}
-		setLayoutState ();
-		refreshLayoutComposite ();
-		setLayoutData ();
-		layoutComposite.layout (true);
-		layoutGroup.layout (true);
-	}
-	
-	/**
-	 * Return the initial weight of the layout and control groups within the SashForm.
-	 * @return the desired sash weights for the tab page
-	 */
-	int[] sashWeights () {
-		return new int[] {40, 60};		
-	}
-
-	/**
-	 * Sets an attachment to the edge of a widget using the
-	 * information in the table.
-	 */
-	FormAttachment setAttachment (String attachment) {
-		String control, align;
-		int position, offset;
-		int comma = attachment.indexOf (',');
-		char first = attachment.charAt (0);
-		if (Character.isLetter(first)) {
-			/* Case where there is a control */
-			control = attachment.substring (0, comma);
-			int i = 0;
-			while (i < control.length () && !Character.isDigit (control.charAt (i))) {
-				i++;
-			}
-			String end = control.substring (i);
-			int index = new Integer (end).intValue ();
-			Control attachControl = children [index];
-			int colon = attachment.indexOf (':');
-			try {
-				offset = new Integer (attachment.substring (comma + 1, colon)).intValue ();
-			} catch (NumberFormatException e) {
-				offset = 0;
-			}
-			align = attachment.substring (colon + 1);
-			return new FormAttachment (attachControl, offset, alignmentConstant (align));
-		} else {
-			/* Case where there is a position */
-			try {
-				position = new Integer (attachment.substring (0,comma)).intValue ();
-			} catch (NumberFormatException e) {
-				position = 0;
-			}
-			try {
-				offset = new Integer (attachment.substring (comma + 1)).intValue ();
-			} catch (NumberFormatException e) {
-				offset = 0;
-			}
-			return new FormAttachment (position, offset);		
-		}
-	}
-	
-	/**
-	 * Sets the layout data for the children of the layout.
-	 */
-	void setLayoutData () {
-		Control [] children = layoutComposite.getChildren ();
-		TableItem [] items = table.getItems ();
-		FormData data;
-		int width, height;
-		String left, right, top, bottom;
-		for (int i = 0; i < children.length; i++) {
-			width = new Integer (items [i].getText (WIDTH_COL)).intValue ();
-			height = new Integer (items [i].getText (HEIGHT_COL)).intValue ();
-			data = new FormData ();
-			if (width > 0) data.width = width;
-			if (height > 0) data.height = height;
-			
-			left = items [i].getText (LEFT_COL);
-			if (left.length () > 0) {
-				data.left = setAttachment (left);
-				if (data.left.control != null) {
-					String attachment = checkAttachment (left, data.left);
-					items [i].setText (LEFT_COL, attachment);
-				}
-			}
-			right = items [i].getText (RIGHT_COL);
-			if (right.length () > 0) {
-				data.right = setAttachment (right);
-				if (data.right.control != null) {
-					String attachment = checkAttachment (right, data.right);
-					items [i].setText (RIGHT_COL, attachment);
-				}
-			}
-			top = items [i].getText (TOP_COL);
-			if (top.length () > 0 ) {
-				data.top = setAttachment (top);
-				if (data.top.control != null) {
-					String attachment = checkAttachment (top, data.top);
-					items [i].setText (TOP_COL, attachment);
-				}
-			}
-			bottom = items [i].getText (BOTTOM_COL);
-			if (bottom.length () > 0) {
-				data.bottom = setAttachment (bottom);
-				if (data.bottom.control != null) {
-					String attachment = checkAttachment (bottom, data.bottom);
-					items [i].setText (BOTTOM_COL, attachment);
-				}
-			}
-			children [i].setLayoutData (data);
-		}
-	}
-	
-	/**
-	 * Sets the state of the layout.
-	 */
-	void setLayoutState () {
-		/* Set the margins and spacing */
-		formLayout.marginWidth = marginWidth.getSelection ();		
-		formLayout.marginHeight = marginHeight.getSelection ();		
-		formLayout.marginLeft = marginLeft.getSelection ();
-		formLayout.marginRight = marginRight.getSelection ();
-		formLayout.marginTop = marginTop.getSelection ();
-		formLayout.marginBottom = marginBottom.getSelection ();
-		formLayout.spacing = spacing.getSelection ();
-	}	
-	
-	/**
-	 * <code>AttachDialog</code> is the class that creates a
-	 * dialog specific for this example. It creates a dialog
-	 * with controls to set the values in a FormAttachment.
-	 */
-	public class AttachDialog extends Dialog {
-		String result = "";
-		String controlInput, positionInput, alignmentInput, offsetInput;
-		int col = 0;
-		
-		public AttachDialog (Shell parent, int style) {
-			super (parent, style);
-		}
-		
-		public AttachDialog (Shell parent) {
-			this (parent, 0);
-		}
-		
-		public void setColumn (int col) {
-			this.col = col;
-		}
-	 
-		public String open () {
-			Shell parent = getParent ();
-			final Shell shell = new Shell (parent, SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL);
-			shell.setText (getText ());
-			shell.setLayout (new GridLayout (3, true));
-			
-			/* Find out what was previously set as an attachment */
-			TableItem newItem = leftEditor.getItem ();
-			result = newItem.getText (col);
-			String oldAttach = result;
-			String oldPos = "0", oldControl = "", oldAlign = "DEFAULT", oldOffset = "0";
-			boolean isControl = false;
-			if (oldAttach.length () != 0) {
-				char first = oldAttach.charAt (0);
-				if (Character.isLetter(first)) {
-					/* We have a control */
-					isControl = true;
-					oldControl = oldAttach.substring (0, oldAttach.indexOf (','));
-					oldAlign = oldAttach.substring (oldAttach.indexOf (':') + 1);
-					oldOffset = oldAttach.substring (oldAttach.indexOf (',') + 1, oldAttach.indexOf (':'));
-				} else {
-					/* We have a position */
-					oldPos = oldAttach.substring (0, oldAttach.indexOf (','));
-					oldOffset = oldAttach.substring (oldAttach.indexOf (',') + 1);
-					if (oldOffset.endsWith (")")) { // i.e. (Default)
-						oldOffset = oldOffset.substring (0, oldOffset.indexOf (' '));
-					}
-				}
-			}
-			
-			/* Add position field */
-			final Button posButton = new Button (shell, SWT.RADIO);
-			posButton.setText (LayoutExample.getResourceString ("Position"));
-			posButton.setSelection (!isControl);			
-			final Combo position = new Combo (shell, SWT.NONE);
-			position.setItems (new String [] {"0","25","33","50","67","75","100"});
-			position.setVisibleItemCount (7);
-			position.setText (oldPos);
-			position.setEnabled (!isControl);			
-			position.setLayoutData (new GridData (SWT.FILL, SWT.CENTER, true, false, 2, 1));
-			
-			/* Add control field */
-			final Button contButton = new Button (shell, SWT.RADIO);
-			contButton.setText (LayoutExample.getResourceString ("Control"));
-			contButton.setSelection (isControl);
-			final Combo control = new Combo (shell, SWT.READ_ONLY);
-			TableItem [] items = table.getItems ();
-			TableItem currentItem = leftEditor.getItem ();
-			for (int i = 0; i < table.getItemCount (); i++) {
-				if (items [i].getText (0).length() > 0) {
-					if (items [i] != currentItem) {
-						control.add (items [i].getText (COMBO_COL) + i);
-					}
-				}
-			}
-			if (oldControl.length () != 0) control.setText (oldControl);
-			else control.select (0);
-			control.setEnabled (isControl);
-			control.setLayoutData (new GridData (SWT.FILL, SWT.CENTER, true, false, 2, 1));
-			
-			/* Add alignment field */
-			new Label (shell, SWT.NONE).setText (LayoutExample.getResourceString ("Alignment"));
-			final Combo alignment = new Combo (shell, SWT.NONE);
-			String[] alignmentValues;
-			if (col == LEFT_COL || col == RIGHT_COL) {
-				alignmentValues = new String [] {"SWT.LEFT", "SWT.RIGHT", "SWT.CENTER", "SWT.DEFAULT"};
-			} else {
-				// col == TOP_COL || col == BOTTOM_COL
-				alignmentValues = new String [] {"SWT.TOP", "SWT.BOTTOM", "SWT.CENTER", "SWT.DEFAULT"};
-			}
-			alignment.setItems (alignmentValues);
-			alignment.setText ("SWT." + oldAlign);
-			alignment.setEnabled (isControl);
-			alignment.setLayoutData (new GridData (SWT.FILL, SWT.CENTER, true, false, 2, 1));
-			
-			/* Add offset field */
-			new Label (shell, SWT.NONE).setText (LayoutExample.getResourceString ("Offset"));
-			final Text offset = new Text (shell, SWT.SINGLE | SWT.BORDER);
-			offset.setText (oldOffset);
-			offset.setLayoutData (new GridData (SWT.FILL, SWT.CENTER, true, false, 2, 1));
-			
-			/* Add listeners for choosing between position and control */
-			posButton.addSelectionListener (new SelectionAdapter () {
-				public void widgetSelected (SelectionEvent e) {
-					position.setEnabled (true);
-					control.setEnabled (false);
-					alignment.setEnabled (false);
-				}
-			});
-			contButton.addSelectionListener (new SelectionAdapter () {
-				public void widgetSelected (SelectionEvent e) {
-					position.setEnabled (false);
-					control.setEnabled (true);
-					alignment.setEnabled (true);
-				}
-			});
-			
-			Button clear = new Button (shell, SWT.PUSH);
-			clear.setText (LayoutExample.getResourceString ("Clear"));
-			clear.setLayoutData (new GridData (SWT.END, SWT.CENTER, false, false));
-			clear.addSelectionListener (new SelectionAdapter () {
-				public void widgetSelected (SelectionEvent e) {
-					result = "";
-					shell.close ();
-				}
-			});
-			/* OK button sets data into table */
-			Button ok = new Button (shell, SWT.PUSH);
-			ok.setText (LayoutExample.getResourceString ("OK"));
-			ok.setLayoutData (new GridData (SWT.CENTER, SWT.CENTER, false, false));
-			ok.addSelectionListener (new SelectionAdapter () {
-				public void widgetSelected (SelectionEvent e) {
-					controlInput = control.getText ();
-					alignmentInput = alignment.getText ().substring (4);
-					positionInput = position.getText ();
-					if (positionInput.length () == 0) positionInput = "0";
-					try {
-						new Integer (positionInput).intValue ();
-					} catch (NumberFormatException except) {
-						positionInput = "0";
-					}
-					offsetInput = offset.getText ();
-					if (offsetInput.length () == 0) offsetInput = "0";
-					try {
-						new Integer (offsetInput).intValue ();
-					} catch (NumberFormatException except) {
-						offsetInput = "0";
-					}
-					if (posButton.getSelection() || controlInput.length () == 0) {
-						result = positionInput + "," + offsetInput;
-					} else {
-						result = controlInput + "," + offsetInput + ":" + alignmentInput;
-					}
-					shell.close ();
-				}
-			});
-			Button cancel = new Button (shell, SWT.PUSH);
-			cancel.setText (LayoutExample.getResourceString ("Cancel"));
-			cancel.addSelectionListener (new SelectionAdapter () {
-				public void widgetSelected (SelectionEvent e) {
-					shell.close ();
-				}
-			});
-			
-			shell.setDefaultButton (ok);
-			shell.pack ();
-			/* Center the dialog */
-			Point center = parent.getLocation ();
-			center.x = center.x + (parent.getBounds ().width / 2) - (shell.getBounds ().width / 2);
-			center.y = center.y + (parent.getBounds ().height / 2) - (shell.getBounds ().height / 2);
-			shell.setLocation (center);
-			shell.open ();
-			while (!shell.isDisposed ()) {
-				if (display.readAndDispatch ()) display.sleep ();
-			}
-			
-			return result;
-		}
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/layoutexample/GridLayoutTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/layoutexample/GridLayoutTab.java
deleted file mode 100644
index a64fef1..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/layoutexample/GridLayoutTab.java
+++ /dev/null
@@ -1,672 +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.swt.examples.layoutexample;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.graphics.*;
-
-class GridLayoutTab extends Tab {
-	/* Controls for setting layout parameters */
-	Spinner numColumns;
-	Button makeColumnsEqualWidth;
-	Spinner marginWidth, marginHeight, marginLeft, marginRight, marginTop, marginBottom, horizontalSpacing, verticalSpacing;
-	/* The example layout instance */
-	GridLayout gridLayout;
-	/* TableEditors and related controls*/
-	TableEditor nameEditor, comboEditor, widthEditor, heightEditor;
-	TableEditor vAlignEditor, hAlignEditor, hGrabEditor, vGrabEditor, hSpanEditor, vSpanEditor;
-	TableEditor hIndentEditor, vIndentEditor, minWidthEditor, minHeightEditor, excludeEditor;
-	CCombo combo, vAlign, hAlign, hGrab, vGrab, exclude;
-	Text nameText, widthText, heightText, hSpan, vSpan, hIndent, vIndent, minWidthText, minHeightText;
-	/* Constants */
-	static final int NAME_COL = 0;
-	static final int COMBO_COL = 1;
-	static final int WIDTH_COL = 2;
-	static final int HEIGHT_COL = 3;
-	static final int HALIGN_COL = 4;
-	static final int VALIGN_COL = 5;
-	static final int HGRAB_COL = 6;
-	static final int VGRAB_COL = 7;
-	static final int HSPAN_COL = 8;
-	static final int VSPAN_COL = 9;
-	static final int HINDENT_COL = 10;
-	static final int VINDENT_COL = 11;
-	static final int MINWIDTH_COL = 12;
-	static final int MINHEIGHT_COL = 13;
-	static final int EXCLUDE_COL = 14;
-	
-	static final int TOTAL_COLS = 15;
-		
-	/**
-	 * Creates the Tab within a given instance of LayoutExample.
-	 */
-	GridLayoutTab(LayoutExample instance) {
-		super(instance);
-	}
-	
-	/**
-	 * Creates the widgets in the "child" group.
-	 */
-	void createChildWidgets () {
-		/* Create the TraverseListener */
-		final TraverseListener traverseListener = new TraverseListener () {
-			public void keyTraversed (TraverseEvent e) {
-				if (e.detail == SWT.TRAVERSE_RETURN || e.detail == SWT.TRAVERSE_TAB_NEXT)
-					resetEditors ();
-				if (e.detail == SWT.TRAVERSE_ESCAPE)
-					disposeEditors ();
-			}
-		};
-		
-		/* Add common controls */
-		super.createChildWidgets ();
-			
-		/* Add hovers to the column headers whose field names have been shortened to save space */
-		table.getColumn (HALIGN_COL).setToolTipText ("horizontalAlignment");
-		table.getColumn (VALIGN_COL).setToolTipText ("verticalAlignment");
-		table.getColumn (HGRAB_COL).setToolTipText ("grabExcessHorizontalSpace");
-		table.getColumn (VGRAB_COL).setToolTipText ("grabExcessVerticalSpace");
-		table.getColumn (HSPAN_COL).setToolTipText ("horizontalSpan");
-		table.getColumn (VSPAN_COL).setToolTipText ("verticalSpan");
-		table.getColumn (HINDENT_COL).setToolTipText ("horizontalIndent");
-		table.getColumn (VINDENT_COL).setToolTipText ("verticalIndent");
-		table.getColumn (MINWIDTH_COL).setToolTipText ("minimumWidth");
-		table.getColumn (MINHEIGHT_COL).setToolTipText ("minimumHeight");
-		
-		/* Add TableEditors */		
-		nameEditor = new TableEditor (table);
-		comboEditor = new TableEditor (table);
-		widthEditor = new TableEditor (table);
-		heightEditor = new TableEditor (table);
-		vAlignEditor = new TableEditor (table);
-		hAlignEditor = new TableEditor (table);
-		hGrabEditor = new TableEditor (table);
-		vGrabEditor = new TableEditor (table);
-		hSpanEditor = new TableEditor (table);
-		vSpanEditor = new TableEditor (table);
-		hIndentEditor = new TableEditor (table);
-		vIndentEditor = new TableEditor (table);
-		minWidthEditor = new TableEditor (table);
-		minHeightEditor = new TableEditor (table);
-		excludeEditor = new TableEditor (table);
-		table.addMouseListener (new MouseAdapter () {
-			public void mouseDown(MouseEvent e) {
-				resetEditors();
-				index = table.getSelectionIndex ();
-				Point pt = new Point (e.x, e.y);
-                newItem = table.getItem (pt);
-                if (newItem == null) return;
-                TableItem oldItem = comboEditor.getItem ();
-                if (newItem == oldItem || newItem != lastSelected) {
-					lastSelected = newItem;
-					return;
-				}
-				table.showSelection ();
-				
-				nameText = new Text (table, SWT.SINGLE);
-				nameText.setText (((String [])data.elementAt (index)) [NAME_COL]);
-				createTextEditor (nameText, nameEditor, NAME_COL);
-				
-				combo = new CCombo (table, SWT.READ_ONLY);
-				createComboEditor (combo, comboEditor);
-				
-				widthText = new Text (table, SWT.SINGLE);
-				widthText.setText (((String [])data.elementAt (index)) [WIDTH_COL]);
-				createTextEditor (widthText, widthEditor, WIDTH_COL);
-				
-				heightText = new Text (table, SWT.SINGLE);
-				heightText.setText (((String [])data.elementAt (index)) [HEIGHT_COL]);
-				createTextEditor (heightText, heightEditor, HEIGHT_COL);
-				
-				String [] alignValues = new String [] {"BEGINNING","CENTER","END","FILL"};
-				hAlign = new CCombo (table, SWT.NONE);
-				hAlign.setItems (alignValues);
-				hAlign.setText (newItem.getText (HALIGN_COL));
-				hAlignEditor.horizontalAlignment = SWT.LEFT;
-				hAlignEditor.grabHorizontal = true;
-				hAlignEditor.minimumWidth = 50;
-				hAlignEditor.setEditor (hAlign, newItem, HALIGN_COL);
-				hAlign.addTraverseListener (traverseListener);
-				
-				vAlign = new CCombo (table, SWT.NONE);
-				vAlign.setItems (alignValues);
-				vAlign.setText (newItem.getText (VALIGN_COL));
-				vAlignEditor.horizontalAlignment = SWT.LEFT;
-				vAlignEditor.grabHorizontal = true;
-				vAlignEditor.minimumWidth = 50;
-				vAlignEditor.setEditor (vAlign, newItem, VALIGN_COL);
-				vAlign.addTraverseListener (traverseListener);
-				
-				String [] boolValues = new String [] {"false", "true"};
-				hGrab = new CCombo (table, SWT.NONE);
-				hGrab.setItems (boolValues);
-				hGrab.setText (newItem.getText (HGRAB_COL));
-				hGrabEditor.horizontalAlignment = SWT.LEFT;
-				hGrabEditor.grabHorizontal = true;
-				hGrabEditor.minimumWidth = 50;
-				hGrabEditor.setEditor (hGrab, newItem, HGRAB_COL);
-				hGrab.addTraverseListener (traverseListener);
-				
-				vGrab = new CCombo (table, SWT.NONE);
-				vGrab.setItems (boolValues);
-				vGrab.setText (newItem.getText (VGRAB_COL));
-				vGrabEditor.horizontalAlignment = SWT.LEFT;
-				vGrabEditor.grabHorizontal = true;
-				vGrabEditor.minimumWidth = 50;
-				vGrabEditor.setEditor (vGrab, newItem, VGRAB_COL);
-				vGrab.addTraverseListener (traverseListener);
-                
-				hSpan = new Text (table, SWT.SINGLE);
-				hSpan.setText (((String [])data.elementAt (index)) [HSPAN_COL]);
-				createTextEditor (hSpan, hSpanEditor, HSPAN_COL);
-				
-				vSpan = new Text (table, SWT.SINGLE);
-				vSpan.setText (((String [])data.elementAt (index)) [VSPAN_COL]);
-				createTextEditor (vSpan, vSpanEditor, VSPAN_COL);
-				
-				hIndent = new Text (table, SWT.SINGLE);
-				hIndent.setText (((String [])data.elementAt (index)) [HINDENT_COL]);
-				createTextEditor (hIndent, hIndentEditor, HINDENT_COL);
-				
-				vIndent = new Text (table, SWT.SINGLE);
-				vIndent.setText (((String [])data.elementAt (index)) [VINDENT_COL]);
-				createTextEditor (vIndent, vIndentEditor, VINDENT_COL);
-				
-				minWidthText = new Text (table, SWT.SINGLE);
-				minWidthText.setText (((String [])data.elementAt (index)) [MINWIDTH_COL]);
-				createTextEditor (minWidthText, minWidthEditor, MINWIDTH_COL);
-				
-				minHeightText = new Text (table, SWT.SINGLE);
-				minHeightText.setText (((String [])data.elementAt (index)) [MINHEIGHT_COL]);
-				createTextEditor (minHeightText, minHeightEditor, MINHEIGHT_COL);
-
-				exclude = new CCombo (table, SWT.NONE);
-				exclude.setItems (boolValues);
-				exclude.setText (newItem.getText (EXCLUDE_COL));
-				excludeEditor.horizontalAlignment = SWT.LEFT;
-				excludeEditor.grabHorizontal = true;
-				excludeEditor.minimumWidth = 50;
-				excludeEditor.setEditor (exclude, newItem, EXCLUDE_COL);
-				exclude.addTraverseListener (traverseListener);
-                
-                for (int i=0; i<table.getColumnCount (); i++) {
-                	Rectangle rect = newItem.getBounds (i);
-                    if (rect.contains (pt)) {
-                    	switch (i) {
-                    		case NAME_COL:
-                    			nameText.setFocus ();
-                    			break;
-							case COMBO_COL :
-								combo.setFocus ();	
-								break;
-							case WIDTH_COL :	
-								widthText.setFocus ();
-								break;
-							case HEIGHT_COL :
-								heightText.setFocus ();
-								break;
-							case HALIGN_COL :
-								hAlign.setFocus ();
-								break;
-							case VALIGN_COL :
-								vAlign.setFocus ();
-								break;
-							case HGRAB_COL :
-								hGrab.setFocus ();
-								break;
-							case VGRAB_COL :
-								vGrab.setFocus ();
-								break;
-							case HSPAN_COL :
-								hSpan.setFocus ();
-								break;
-							case VSPAN_COL :
-								vSpan.setFocus ();
-								break;
-							case HINDENT_COL :
-								hIndent.setFocus ();
-								break;
-							case VINDENT_COL :
-								vIndent.setFocus ();
-								break;
-							case MINWIDTH_COL :	
-								minWidthText.setFocus ();
-								break;
-							case MINHEIGHT_COL :
-								minHeightText.setFocus ();
-								break;
-							case EXCLUDE_COL :
-								exclude.setFocus ();
-								break;
-							default :
-								resetEditors ();
-								break;
-						}
-                    }
-                } 
-			}
-		});
-	}
-
-	/**
-	 * Creates the control widgets.
-	 */
-	void createControlWidgets () {
-        /* Controls the columns in the GridLayout */
-		Group columnGroup = new Group (controlGroup, SWT.NONE);
-		columnGroup.setText (LayoutExample.getResourceString ("Columns"));
-		columnGroup.setLayout(new GridLayout(2, false));
-		columnGroup.setLayoutData(new GridData (SWT.FILL, SWT.FILL, false, false));
-		new Label(columnGroup, SWT.NONE).setText ("numColumns");
-		numColumns = new Spinner (columnGroup, SWT.BORDER);
-		numColumns.setMinimum (1);
-		numColumns.addSelectionListener (selectionListener);
-		makeColumnsEqualWidth = new Button (columnGroup, SWT.CHECK);
-		makeColumnsEqualWidth.setText ("makeColumnsEqualWidth");
-		makeColumnsEqualWidth.addSelectionListener (selectionListener);
-		makeColumnsEqualWidth.setEnabled (false);
-		makeColumnsEqualWidth.setLayoutData (new GridData(SWT.FILL, SWT.CENTER, false, false, 2, 1));
-
-		/* Controls the margins and spacing of the GridLayout */
-		Group marginGroup = new Group(controlGroup, SWT.NONE);
-		marginGroup.setText (LayoutExample.getResourceString("Margins_Spacing"));
-		marginGroup.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false));
-		marginGroup.setLayout(new GridLayout(2, false));
-		new Label (marginGroup, SWT.NONE).setText("marginWidth");
-		marginWidth = new Spinner (marginGroup, SWT.BORDER);
-		marginWidth.setSelection(5);
-		marginWidth.addSelectionListener(selectionListener);
-		new Label(marginGroup, SWT.NONE).setText("marginHeight");
-		marginHeight = new Spinner(marginGroup, SWT.BORDER);
-		marginHeight.setSelection(5);
-		marginHeight.addSelectionListener(selectionListener);
-		new Label(marginGroup, SWT.NONE).setText("marginLeft");
-		marginLeft = new Spinner(marginGroup, SWT.BORDER);
-		marginLeft.setSelection(0);
-		marginLeft.addSelectionListener(selectionListener);
-		new Label(marginGroup, SWT.NONE).setText("marginRight");
-		marginRight = new Spinner(marginGroup, SWT.BORDER);
-		marginRight.setSelection(0);
-		marginRight.addSelectionListener(selectionListener);
-		new Label(marginGroup, SWT.NONE).setText("marginTop");
-		marginTop = new Spinner(marginGroup, SWT.BORDER);
-		marginTop.setSelection(0);
-		marginTop.addSelectionListener(selectionListener);
-		new Label(marginGroup, SWT.NONE).setText("marginBottom");
-		marginBottom = new Spinner(marginGroup, SWT.BORDER);
-		marginBottom.setSelection(0);
-		marginBottom.addSelectionListener(selectionListener);
-		new Label(marginGroup, SWT.NONE).setText("horizontalSpacing");
-		horizontalSpacing = new Spinner(marginGroup, SWT.BORDER);
-		horizontalSpacing.setSelection(5);
-		horizontalSpacing.addSelectionListener(selectionListener);
-		new Label(marginGroup, SWT.NONE).setText("verticalSpacing");
-		verticalSpacing = new Spinner(marginGroup, SWT.BORDER);
-		verticalSpacing.setSelection(5);
-		verticalSpacing.addSelectionListener(selectionListener);
-        
-		/* Add common controls */
-		super.createControlWidgets ();
-		controlGroup.pack();
-	}
-	
-	/**
-	 * Creates the example layout.
-	 */
-	void createLayout () {
-		gridLayout = new GridLayout ();
-		layoutComposite.setLayout (gridLayout);
-	}
-	
-	/** 
-	 * Disposes the editors without placing their contents
-	 * into the table.
-	 */
-	void disposeEditors () {
-		comboEditor.setEditor (null, null, -1);
-		combo.dispose ();
-		nameText.dispose ();
-		widthText.dispose ();
-		heightText.dispose ();
-		hAlign.dispose ();
-		vAlign.dispose ();
-		hGrab.dispose ();
-		vGrab.dispose ();
-		hSpan.dispose ();
-		vSpan.dispose ();
-		hIndent.dispose ();
-		vIndent.dispose ();
-		minWidthText.dispose ();
-		minHeightText.dispose ();
-		exclude.dispose ();
-	}
-	
-	/**
-	 * Generates code for the example layout.
-	 */	
-	StringBuffer generateLayoutCode () {
-		StringBuffer code = new StringBuffer ();
-		code.append ("\t\tGridLayout gridLayout = new GridLayout (");
-		if (gridLayout.numColumns != 1 || gridLayout.makeColumnsEqualWidth) {
-			code.append (gridLayout.numColumns + ", " + gridLayout.makeColumnsEqualWidth);
-		}
-		code.append(");\n");
-		if (gridLayout.marginWidth != 5) {
-			code.append("\t\tgridLayout.marginWidth = " + gridLayout.marginWidth + ";\n");
-		}
-		if (gridLayout.marginHeight != 5) {
-			code.append ("\t\tgridLayout.marginHeight = " + gridLayout.marginHeight + ";\n");
-		}
-		if (gridLayout.marginLeft != 0) {
-			code.append ("\t\tgridLayout.marginLeft = " + gridLayout.marginLeft + ";\n");
-		}
-		if (gridLayout.marginRight != 0) {
-			code.append ("\t\tgridLayout.marginRight = " + gridLayout.marginRight + ";\n");
-		}
-		if (gridLayout.marginTop != 0) {
-			code.append ("\t\tgridLayout.marginTop = " + gridLayout.marginTop + ";\n");
-		}
-		if (gridLayout.marginBottom != 0) {
-			code.append ("\t\tgridLayout.marginBottom = " + gridLayout.marginBottom + ";\n");
-		}
-		if (gridLayout.horizontalSpacing != 5) {
-			code.append ("\t\tgridLayout.horizontalSpacing = " + gridLayout.horizontalSpacing + ";\n");
-		}
-		if (gridLayout.verticalSpacing != 5) {
-			code.append ("\t\tgridLayout.verticalSpacing = " + gridLayout.verticalSpacing + ";\n");
-		}
-		code.append ("\t\tshell.setLayout (gridLayout);\n");
-		
-		boolean first = true;
-		boolean bounds, align, grab, span;
-		for (int i = 0; i < children.length; i++) {
-			Control control = children [i];
-			code.append (getChildCode (control, i));
-			GridData data = (GridData) control.getLayoutData ();
-			if (data != null) {
-				/* Use the most efficient constructor */
-				bounds = data.widthHint != SWT.DEFAULT || data.heightHint != SWT.DEFAULT;
-				align = data.horizontalAlignment != SWT.BEGINNING || data.verticalAlignment != SWT.CENTER;
-				grab = data.grabExcessHorizontalSpace || data.grabExcessVerticalSpace;
-				span = data.horizontalSpan != 1 || data.verticalSpan != 1;
-
-				code.append ("\t\t");
-				if (first) {
-					code.append ("GridData ");
-					first = false;
-				}
-				if (align || grab || span) {
-					code.append ("data = new GridData (");
-					code.append (alignmentString(data.horizontalAlignment) + ", ");
-					code.append (alignmentString(data.verticalAlignment) + ", ");
-					code.append (data.grabExcessHorizontalSpace + ", ");
-					code.append (data.grabExcessVerticalSpace);
-					if (span) {
-						code.append (", " + data.horizontalSpan);
-						code.append (", " + data.verticalSpan);
-					}
-					code.append(");\n");
-					if (data.widthHint != SWT.DEFAULT) {
-						code.append ("\t\tdata.widthHint = " + data.widthHint + ";\n");
-					}
-					if (data.heightHint != SWT.DEFAULT) {
-						code.append ("\t\tdata.heightHint = " + data.heightHint + ";\n");
-					}
-				} else {
-					if (bounds) {
-						code.append ("data = new GridData (");
-						code.append (data.widthHint == SWT.DEFAULT ? "SWT.DEFAULT" : String.valueOf(data.widthHint) + ", ");
-						code.append (data.heightHint == SWT.DEFAULT ? "SWT.DEFAULT" : String.valueOf(data.heightHint));
-						code.append(");\n");
-					} else {
-						code.append ("data = new GridData ();\n");
-					}
-				}
-				if (data.horizontalIndent != 0) {
-					code.append ("\t\tdata.horizontalIndent = " + data.horizontalIndent + ";\n");
-				}
-				if (data.verticalIndent != 0) {
-					code.append ("\t\tdata.verticalIndent = " + data.verticalIndent + ";\n");
-				}
-				if (data.minimumWidth != 0) {
-					code.append ("\t\tdata.minimumWidth = " + data.minimumWidth + ";\n");
-				}
-				if (data.minimumHeight != 0) {
-					code.append ("\t\tdata.minimumHeight = " + data.minimumHeight + ";\n");
-				}
-				if (data.exclude) {
-					code.append ("\t\tdata.exclude = true;\n");
-				}
-				if (code.substring (code.length () - 33).equals ("GridData data = new GridData ();\n")) {
-					code.delete (code.length () - 33, code.length ());
-					first = true;
-				} else if (code.substring (code.length () - 24).equals ("data = new GridData ();\n")) { 
-					code.delete (code.length () - 24, code.length ());
-				} else {	
-					code.append ("\t\t" + names [i] + ".setLayoutData (data);\n");
-				}
-			}
-		}
-		return code;
-	}
-	
-	String alignmentString(int alignment) {
-		if (alignment == SWT.BEGINNING) return "SWT.BEGINNING";
-		if (alignment == SWT.CENTER) return "SWT.CENTER";
-		if (alignment == SWT.END) return "SWT.END";
-		return "SWT.FILL";
-	}
-
-	/**
-	 * Returns the string to insert when a new child control is added to the table.
-	 */
-	String[] getInsertString (String name, String controlType) {
-		return new String [] {name, controlType,
-				"-1","-1","BEGINNING","CENTER",
-				"false","false","1","1","0","0",
-				"0","0","false"};
-	}
-
-	/**
-	 * Returns the layout data field names.
-	 */
-	String [] getLayoutDataFieldNames() {
-		return new String [] {
-			"Control Name",
-			"Control Type", 
-			"width", 
-			"height", 
-			"hAlignment", //"horizontalAlignment", 
-			"vAlignment", //"verticalAlignment", 
-			"grabH", //"grabExcessHorizontalSpace", 
-			"grabV", //"grabExcessVerticalSpace", 
-			"hSpan", //"horizontalSpan",
-			"vSpan", //"verticalSpan", 
-			"hIndent", //"horizontalIndent", 
-			"vIndent", //"verticalIndent",
-			"minWidth", //"minimumWidth",
-			"minHeight", //"minimumHeight", 
-			"exclude"
-		};
-	}
-	
-	/**
-	 * Gets the text for the tab folder item.
-	 */
-	String getTabText () {
-		return "GridLayout";
-	}
-	
-	/**
-	 * Takes information from TableEditors and stores it.
-	 */
-	void resetEditors (boolean tab) {
-		TableItem oldItem = comboEditor.getItem ();
-		if (oldItem != null) {
-			int row = table.indexOf (oldItem);
-			/** Make sure user enters a valid data*/
-			try {				
-				new String (nameText.getText ());
-			} catch (NumberFormatException e) {
-				nameText.setText (oldItem.getText (NAME_COL));
-			}
-			try {
-				new Integer (widthText.getText ()).intValue ();
-			} catch (NumberFormatException e) {
-				widthText.setText (oldItem.getText (WIDTH_COL));
-			}
-			try {
-				new Integer (heightText.getText ()).intValue ();
-			} catch (NumberFormatException e) {
-				heightText.setText (oldItem.getText (HEIGHT_COL));
-			}
-			try {
-				new Integer (hSpan.getText ()).intValue ();
-			} catch (NumberFormatException e) {
-				hSpan.setText (oldItem.getText (HSPAN_COL));
-			}
-			try {
-				new Integer (vSpan.getText ()).intValue ();
-			} catch (NumberFormatException e) {
-				vSpan.setText (oldItem.getText (VSPAN_COL));
-			}
-			try {
-				new Integer (hIndent.getText ()).intValue ();
-			} catch (NumberFormatException e) {
-				hIndent.setText (oldItem.getText (HINDENT_COL));
-			}
-			try {
-				new Integer (vIndent.getText ()).intValue ();
-			} catch (NumberFormatException e) {
-				vIndent.setText (oldItem.getText (VINDENT_COL));
-			}
-			try {
-				new Integer (minWidthText.getText ()).intValue ();
-			} catch (NumberFormatException e) {
-				minWidthText.setText (oldItem.getText (MINWIDTH_COL));
-			}
-			try {
-				new Integer (minHeightText.getText ()).intValue ();
-			} catch (NumberFormatException e) {
-				minHeightText.setText (oldItem.getText (MINHEIGHT_COL));
-			}
-			String [] insert = new String [] {
-				nameText.getText (), combo.getText (), widthText.getText (), heightText.getText (),
-				hAlign.getText (), vAlign.getText (), hGrab.getText (), vGrab.getText (), 
-				hSpan.getText (), vSpan.getText (), hIndent.getText (), vIndent.getText (), 
-				minWidthText.getText (), minHeightText.getText (), exclude.getText ()
-			};
-			data.setElementAt (insert, row);
-			for (int i = 0; i < TOTAL_COLS; i++) {
-				oldItem.setText (i, ((String [])data.elementAt (row)) [i]);
-			}
-			if (!tab) disposeEditors ();
-		}
-		setLayoutState ();
-		refreshLayoutComposite ();
-		setLayoutData ();
-		layoutComposite.layout (true);
-		layoutGroup.layout (true);
-	}	
-	
-	/**
-	 * Return the initial weight of the layout and control groups within the SashForm.
-	 * @return the desired sash weights for the tab page
-	 */
-	int[] sashWeights () {
-		return new int[] {35, 65};		
-	}
-
-	/**
-	 * Sets the layout data for the children of the layout.
-	 */
-	void setLayoutData () {
-		Control [] children = layoutComposite.getChildren ();
-		TableItem [] items = table.getItems ();
-		GridData data;
-		int hSpan, vSpan, hIndent, vIndent;
-		String vAlign, hAlign, vGrab, hGrab, exclude;
-		for (int i = 0; i < children.length; i++) {
-			data = new GridData ();
-			/* Set widthHint and heightHint */
-			data.widthHint = new Integer (items [i].getText (WIDTH_COL)).intValue ();
-			data.heightHint = new Integer (items [i].getText (HEIGHT_COL)).intValue ();
-			/* Set vertical alignment and horizontal alignment */
-			hAlign = items [i].getText (HALIGN_COL);
-			if (hAlign.equals ("CENTER")) {
-				data.horizontalAlignment = SWT.CENTER;
-			} else if (hAlign.equals ("END")) {
-				data.horizontalAlignment = SWT.END;
-			} else if (hAlign.equals ("FILL")) {
-				data.horizontalAlignment = SWT.FILL;
-			} else {
-				data.horizontalAlignment = SWT.BEGINNING;
-			}
-			vAlign = items [i].getText (VALIGN_COL);
-			if (vAlign.equals ("BEGINNING")) {
-				data.verticalAlignment = SWT.BEGINNING;
-			} else if (vAlign.equals ("END")) {
-				data.verticalAlignment = SWT.END;
-			} else if (vAlign.equals ("FILL")) {
-				data.verticalAlignment = SWT.FILL;
-			} else {
-				data.verticalAlignment = SWT.CENTER;
-			}
-			/* Set spans and indents */
-			hSpan = new Integer (items [i].getText (HSPAN_COL)).intValue ();
-			data.horizontalSpan = hSpan;
-			vSpan = new Integer (items [i].getText (VSPAN_COL)).intValue ();
-			data.verticalSpan = vSpan;
-			hIndent = new Integer (items [i].getText (HINDENT_COL)).intValue ();
-			data.horizontalIndent = hIndent;
-			vIndent = new Integer (items [i].getText (VINDENT_COL)).intValue ();
-			data.verticalIndent = vIndent;
-			/* Set grabs */
-			hGrab = items [i].getText (HGRAB_COL);
-			data.grabExcessHorizontalSpace = hGrab.equals ("true");
-			vGrab = items [i].getText (VGRAB_COL);
-			data.grabExcessVerticalSpace = vGrab.equals ("true");
-			/* Set minimum width and height */
-			data.minimumWidth = new Integer (items [i].getText (MINWIDTH_COL)).intValue ();
-			data.minimumHeight = new Integer (items [i].getText (MINHEIGHT_COL)).intValue ();
-			/* Set exclude boolean */
-			exclude = items [i].getText (EXCLUDE_COL);
-			data.exclude = exclude.equals ("true");
-			
-			children [i].setLayoutData (data);
-		}
-	}
-	
-	/**
-	 * Sets the state of the layout.
-	 */
-	void setLayoutState () {
-		/* Set the columns for the layout */
-		gridLayout.numColumns = numColumns.getSelection ();
-		gridLayout.makeColumnsEqualWidth = makeColumnsEqualWidth.getSelection ();
-		makeColumnsEqualWidth.setEnabled (numColumns.getSelection () > 1);
-		
-		/* Set the margins and spacing */
-		gridLayout.marginWidth = marginWidth.getSelection ();
-		gridLayout.marginHeight = marginHeight.getSelection ();
-		gridLayout.marginLeft = marginLeft.getSelection ();
-		gridLayout.marginRight = marginRight.getSelection ();
-		gridLayout.marginTop = marginTop.getSelection ();
-		gridLayout.marginBottom = marginBottom.getSelection ();
-		gridLayout.horizontalSpacing = horizontalSpacing.getSelection ();
-		gridLayout.verticalSpacing = verticalSpacing.getSelection ();
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/layoutexample/LayoutExample.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/layoutexample/LayoutExample.java
deleted file mode 100644
index 862ec5d..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/layoutexample/LayoutExample.java
+++ /dev/null
@@ -1,115 +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.swt.examples.layoutexample;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.events.*;
-
-import java.text.*;
-import java.util.*;
-
-public class LayoutExample {
-	private static ResourceBundle resourceBundle = ResourceBundle.getBundle("examples_layout");
-	private TabFolder tabFolder;
-	
-	/**
-	 * Creates an instance of a LayoutExample embedded inside
-	 * the supplied parent Composite.
-	 * 
-	 * @param parent the container of the example
-	 */
-	public LayoutExample(Composite parent) {
-		tabFolder = new TabFolder (parent, SWT.NONE);
-		Tab [] tabs = new Tab [] {
-			new FillLayoutTab (this),
-			new RowLayoutTab (this),
-			new GridLayoutTab (this),
-			new FormLayoutTab (this),
-			new StackLayoutTab (this)
-		};
-		for (int i=0; i<tabs.length; i++) {
-			TabItem item = new TabItem (tabFolder, SWT.NONE);
-		    item.setText (tabs [i].getTabText ());
-		    item.setControl (tabs [i].createTabFolderPage (tabFolder));
-		}
-	}
-	
-	/**
-	 * Grabs input focus.
-	 */
-	public void setFocus() {
-		tabFolder.setFocus();
-	}
-	
-	/**
-	 * Disposes of all resources associated with a particular
-	 * instance of the LayoutExample.
-	 */	
-	public void dispose() {
-		tabFolder = null;
-	}
-	
-	/**
-	 * Invokes as a standalone program.
-	 */
-	public static void main(String[] args) {
-		final Display display = new Display();
-		final Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		new LayoutExample(shell);
-		shell.setText(getResourceString("window.title"));
-		shell.addShellListener (new ShellAdapter () {
-			public void shellClosed(ShellEvent e) {
-				Shell [] shells = display.getShells();
-				for (int i = 0; i < shells.length; i++) {
-					if (shells [i] != shell) shells [i].close ();
-				}
-			}
-		});
-		shell.open();
-		while (! shell.isDisposed()) {
-			if (! display.readAndDispatch()) display.sleep();
-		}
-	}
-
-	/**
-	 * Gets a string from the resource bundle.
-	 * We don't want to crash because of a missing String.
-	 * Returns the key if not found.
-	 */
-	static String getResourceString(String key) {
-		try {
-			return resourceBundle.getString(key);
-		} catch (MissingResourceException e) {
-			return key;
-		} catch (NullPointerException e) {
-			return "!" + key + "!";
-		}			
-	}
-
-	/**
-	 * Gets a string from the resource bundle and binds it
-	 * with the given arguments. If the key is not found,
-	 * return the key.
-	 */
-	static String getResourceString(String key, Object[] args) {
-		try {
-			return MessageFormat.format(getResourceString(key), args);
-		} catch (MissingResourceException e) {
-			return key;
-		} catch (NullPointerException e) {
-			return "!" + key + "!";
-		}
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/layoutexample/RowLayoutTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/layoutexample/RowLayoutTab.java
deleted file mode 100644
index 23fab6b..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/layoutexample/RowLayoutTab.java
+++ /dev/null
@@ -1,413 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.examples.layoutexample;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.custom.*;
-
-class RowLayoutTab extends Tab {
-	/* Controls for setting layout parameters */
-	Button horizontal, vertical;
-	Button wrap, pack, fill, justify;
-	Spinner marginWidth, marginHeight, marginLeft, marginRight, marginTop, marginBottom, spacing;
-	/* The example layout instance */
-	RowLayout rowLayout;
-	/* TableEditors and related controls*/
-	TableEditor comboEditor, widthEditor, heightEditor, nameEditor, excludeEditor;
-	CCombo combo, exclude;
-	Text nameText, widthText, heightText;
-	
-	/* Constants */
-	final int NAME_COL = 0;
-	final int COMBO_COL = 1;
-	final int WIDTH_COL = 2;
-	final int HEIGHT_COL = 3;
-	final int EXCLUDE_COL = 4;
-	final int TOTAL_COLS = 5;
-	
-	/**
-	 * Creates the Tab within a given instance of LayoutExample.
-	 */
-	RowLayoutTab(LayoutExample instance) {
-		super(instance);
-	}
-	
-	/**
-	 * Creates the widgets in the "child" group.
-	 */
-	void createChildWidgets () {
-		/* Add common controls */
-		super.createChildWidgets ();
-		
-		/* Add TableEditors */
-		nameEditor = new TableEditor (table);
-		comboEditor = new TableEditor (table);
-		widthEditor = new TableEditor (table);
-		heightEditor = new TableEditor (table);
-		excludeEditor = new TableEditor (table);
-		table.addMouseListener (new MouseAdapter () {
-			public void mouseDown(MouseEvent e) {
-				resetEditors();
-				index = table.getSelectionIndex ();
-				Point pt = new Point (e.x, e.y);
-                newItem = table.getItem (pt);
-                if (newItem == null) return;
-                TableItem oldItem = comboEditor.getItem ();
-                if (newItem == oldItem || newItem != lastSelected) {
-					lastSelected = newItem;
-					return;
-				}
-				table.showSelection ();
-				
-				combo = new CCombo (table, SWT.READ_ONLY);
-				createComboEditor (combo, comboEditor);
-				
-				nameText = new Text(table, SWT.SINGLE);
-				nameText.setText(((String[])data.elementAt(index))[NAME_COL]);
-				createTextEditor(nameText, nameEditor, NAME_COL);
-				
-				widthText = new Text(table, SWT.SINGLE);
-				widthText.setText(((String[])data.elementAt(index))[WIDTH_COL]);
-				createTextEditor(widthText, widthEditor, WIDTH_COL);
-				
-				heightText = new Text(table, SWT.SINGLE);
-				heightText.setText (((String [])data.elementAt (index)) [HEIGHT_COL]);
-				createTextEditor (heightText, heightEditor, HEIGHT_COL);
-                
-				String [] boolValues = new String [] {"false", "true"};
-				exclude = new CCombo (table, SWT.NONE);
-				exclude.setItems (boolValues);
-				exclude.setText (newItem.getText (EXCLUDE_COL));
-				excludeEditor.horizontalAlignment = SWT.LEFT;
-				excludeEditor.grabHorizontal = true;
-				excludeEditor.minimumWidth = 50;
-				excludeEditor.setEditor (exclude, newItem, EXCLUDE_COL);
-				exclude.addTraverseListener (traverseListener);
-
-				for (int i=0; i<table.getColumnCount (); i++) {
-                	Rectangle rect = newItem.getBounds (i);
-                    if (rect.contains (pt)) {
-                    	switch (i) {
-                    		case NAME_COL :
-                    			nameText.setFocus ();
-							case COMBO_COL :
-								combo.setFocus ();	
-								break;
-							case WIDTH_COL :	
-								widthText.setFocus ();
-								break;
-							case HEIGHT_COL :
-								heightText.setFocus ();
-								break;
-							case EXCLUDE_COL :
-								exclude.setFocus ();
-								break;
-							default :
-								resetEditors ();
-								break;
-						}
-                    }
-                } 
-			}
-		});
-	}
-	
-	/**
-	 * Creates the control widgets.
-	 */
-	void createControlWidgets () {
-		/* Controls the type of RowLayout */
-		Group typeGroup = new Group (controlGroup, SWT.NONE);
-		typeGroup.setText (LayoutExample.getResourceString ("Type"));
-		typeGroup.setLayout (new GridLayout ());
-		typeGroup.setLayoutData(new GridData (SWT.FILL, SWT.FILL, false, false));
-		horizontal = new Button (typeGroup, SWT.RADIO);
-		horizontal.setText ("SWT.HORIZONTAL");
-		horizontal.setLayoutData (new GridData (SWT.FILL, SWT.CENTER, true, false)); 
-		horizontal.setSelection(true);
-		horizontal.addSelectionListener (selectionListener);
-		vertical = new Button (typeGroup, SWT.RADIO);
-		vertical.setText ("SWT.VERTICAL");
-		vertical.setLayoutData (new GridData (SWT.FILL, SWT.CENTER, true, false)); 
-		vertical.addSelectionListener (selectionListener);
-		
-		/* Controls the margins and spacing of the RowLayout */
-		Group marginGroup = new Group (controlGroup, SWT.NONE);
-		marginGroup.setText (LayoutExample.getResourceString ("Margins_Spacing"));
-		marginGroup.setLayout(new GridLayout(2, false));
-		marginGroup.setLayoutData(new GridData (SWT.FILL, SWT.FILL, false, false, 1, 2));
-		new Label(marginGroup, SWT.NONE).setText("marginWidth");
-		marginWidth = new Spinner(marginGroup, SWT.BORDER);
-		marginWidth.setSelection(0);
-		marginWidth.addSelectionListener(selectionListener);
-		new Label (marginGroup, SWT.NONE).setText ("marginHeight");
-		marginHeight = new Spinner(marginGroup, SWT.BORDER);
-		marginHeight.setSelection(0);
-		marginHeight.setLayoutData (new GridData(SWT.BEGINNING, SWT.CENTER, false, false));
-		marginHeight.addSelectionListener (selectionListener);
-		new Label (marginGroup, SWT.NONE).setText ("marginLeft");
-		marginLeft = new Spinner(marginGroup, SWT.BORDER);
-		marginLeft.setSelection(3);
-		marginLeft.addSelectionListener (selectionListener);
-		new Label (marginGroup, SWT.NONE).setText ("marginRight");
-		marginRight = new Spinner(marginGroup, SWT.BORDER);
-		marginRight.setSelection(3);
-		marginRight.addSelectionListener(selectionListener);
-		new Label(marginGroup, SWT.NONE).setText("marginTop");
-		marginTop = new Spinner(marginGroup, SWT.BORDER);
-		marginTop.setSelection(3);
-		marginTop.addSelectionListener(selectionListener);
-		new Label (marginGroup, SWT.NONE).setText ("marginBottom");
-		marginBottom = new Spinner(marginGroup, SWT.BORDER);
-		marginBottom.setSelection(3);
-		marginBottom.addSelectionListener (selectionListener);
-		new Label (marginGroup, SWT.NONE).setText ("spacing");
-		spacing = new Spinner(marginGroup, SWT.BORDER);
-		spacing.setSelection(3);
-		spacing.addSelectionListener (selectionListener);
-		
-		/* Controls other parameters of the RowLayout */
-		Group specGroup = new Group (controlGroup, SWT.NONE);
-		specGroup.setText (LayoutExample.getResourceString ("Properties"));
-		specGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, false, false));
-		specGroup.setLayout (new GridLayout ());
-		wrap = new Button (specGroup, SWT.CHECK);
-		wrap.setText ("Wrap");
-		wrap.setSelection (true);
-		wrap.setLayoutData (new GridData (SWT.FILL, SWT.CENTER, true, false)); 
-		wrap.addSelectionListener (selectionListener);
-		pack = new Button (specGroup, SWT.CHECK);
-		pack.setText ("Pack");
-		pack.setLayoutData (new GridData (SWT.FILL, SWT.CENTER, true, false)); 
-		pack.setSelection (true);
-		pack.addSelectionListener(selectionListener);
-		fill = new Button(specGroup, SWT.CHECK);
-		fill.setText("Fill");
-		fill.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); 
-		fill.addSelectionListener(selectionListener);
-		justify = new Button (specGroup, SWT.CHECK);
-		justify.setText ("Justify");
-		justify.setLayoutData (new GridData (SWT.FILL, SWT.CENTER, true, false)); 
-		justify.addSelectionListener (selectionListener);
-		
-		/* Add common controls */
-		super.createControlWidgets ();
-	}
-	
-	/**
-	 * Creates the example layout.
-	 */
-	void createLayout () {
-		rowLayout = new RowLayout ();
-		layoutComposite.setLayout (rowLayout);
-	}
-		
-	/** 
-	 * Disposes the editors without placing their contents
-	 * into the table.
-	 */
-	void disposeEditors () {
-		comboEditor.setEditor (null, null, -1);
-		combo.dispose ();
-		widthText.dispose ();
-		heightText.dispose ();
-		nameText.dispose ();
-		exclude.dispose ();
-	}
-	
-	/**
-	 * Generates code for the example layout.
-	 */	
-	StringBuffer generateLayoutCode () {
-		StringBuffer code = new StringBuffer ();
-		code.append ("\t\tRowLayout rowLayout = new RowLayout ();\n");
-		if (rowLayout.type == SWT.VERTICAL) {
-			code.append ("\t\trowLayout.type = SWT.VERTICAL;\n");
-		}
-		if (rowLayout.wrap == false) {
-			code.append ("\t\trowLayout.wrap = false;\n");
-		} 
-		if (rowLayout.pack == false) {
-			code.append ("\t\trowLayout.pack = false;\n");
-		}
-		if (rowLayout.fill == true) {
-			code.append("\t\trowLayout.fill = true;\n");
-		}
-		if (rowLayout.justify == true) {
-			code.append ("\t\trowLayout.justify = true;\n");
-		}
-		if (rowLayout.marginWidth != 0) {
-			code.append("\t\trowLayout.marginWidth = " + rowLayout.marginWidth + ";\n");
-		}
-		if (rowLayout.marginHeight != 0) {
-			code.append("\t\trowLayout.marginHeight = " + rowLayout.marginHeight + ";\n");
-		}
-		if (rowLayout.marginLeft != 3) {
-			code.append ("\t\trowLayout.marginLeft = " + rowLayout.marginLeft + ";\n");
-		}
-		if (rowLayout.marginRight != 3) {
-			code.append ("\t\trowLayout.marginRight = " + rowLayout.marginRight + ";\n");
-		}
-		if (rowLayout.marginTop != 3) {
-			code.append ("\t\trowLayout.marginTop = " + rowLayout.marginTop + ";\n");
-		}
-		if (rowLayout.marginBottom != 3) {
-			code.append ("\t\trowLayout.marginBottom = " + rowLayout.marginBottom + ";\n");
-		}
-		if (rowLayout.spacing != 3) {
-			code.append ("\t\trowLayout.spacing = " + rowLayout.spacing + ";\n");
-		}
-		code.append ("\t\tshell.setLayout (rowLayout);\n");
-		
-		boolean first = true;
-		for (int i = 0; i < children.length; i++) {
-			Control control = children [i];
-			code.append (getChildCode (control,i));
-			RowData rowData = (RowData) control.getLayoutData ();
-			if (rowData != null) {
-				if (rowData.width != -1 || rowData.height != -1 || rowData.exclude) {
-					code.append ("\t\t");
-					if (first) {
-						code.append ("RowData ");
-						first = false;
-					}
-					if (rowData.width == -1 && rowData.height == -1) {
-						code.append ("rowData = new RowData ();\n");
-					} else if (rowData.width == -1) {
-						code.append ("rowData = new RowData (SWT.DEFAULT, " + rowData.height + ");\n");
-					} else if (rowData.height == -1) {
-						code.append ("rowData = new RowData (" + rowData.width + ", SWT.DEFAULT);\n");
-					} else {
-						code.append ("rowData = new RowData (" + rowData.width + ", " + rowData.height + ");\n");				
-					}
-					if (rowData.exclude) {
-						code.append ("\t\trowData.exclude = true;\n");
-					}
-					code.append ("\t\t" + names [i] + ".setLayoutData (rowData);\n");
-				}
-			}
-		}
-		return code;
-	}
-	
-	/**
-	 * Returns the string to insert when a new child control is added to the table.
-	 */
-	String[] getInsertString (String name, String controlType) {
-		return new String [] {name, controlType, "-1", "-1", "false"};
-	}
-
-	/**
-	 * Returns the layout data field names.
-	 */
-	String [] getLayoutDataFieldNames() {
-		return new String [] { 
-			"Control Name",
-			"Control Type",
-			"width", 
-			"height",
-			"exclude"
-		};
-	}
-	
-	/**
-	 * Gets the text for the tab folder item.
-	 */
-	String getTabText () {
-		return "RowLayout";
-	}
-	
-	/**
-	 * Takes information from TableEditors and stores it.
-	 */
-	void resetEditors (boolean tab) {
-		TableItem oldItem = comboEditor.getItem ();
-		if (oldItem != null) {
-			int row = table.indexOf (oldItem);
-			/* Make sure user has entered valid data */
-			try {				
-				new String(nameText.getText());
-			} catch (NumberFormatException e) {
-				nameText.setText(oldItem.getText(NAME_COL));
-			}
-			try {
-				new Integer (widthText.getText ()).intValue ();
-			} catch (NumberFormatException e) {
-				widthText.setText (oldItem.getText (WIDTH_COL));
-			}
-			try {
-				new Integer (heightText.getText ()).intValue ();
-			} catch (NumberFormatException e) {
-				heightText.setText (oldItem.getText (HEIGHT_COL));
-			}
-			String [] insert = new String [] {
-				nameText.getText(), combo.getText (), widthText.getText (), heightText.getText (), exclude.getText ()};
-			data.setElementAt (insert, row);
-			for (int i = 0 ; i < TOTAL_COLS; i++) {
-				oldItem.setText (i, ((String [])data.elementAt (row)) [i]);
-			}
-			if (!tab) disposeEditors ();
-		}
-		setLayoutState ();
-		refreshLayoutComposite ();
-		setLayoutData ();
-		layoutComposite.layout (true);
-		layoutGroup.layout (true);
-	}
-	
-	/**
-	 * Sets the layout data for the children of the layout.
-	 */
-	void setLayoutData () {
-		Control [] children = layoutComposite.getChildren ();
-		TableItem [] items = table.getItems ();
-		RowData data;
-		int width, height;
-		String exclude;
-		for (int i = 0; i < children.length; i++) {
-			width = new Integer (items [i].getText (WIDTH_COL)).intValue ();
-			height = new Integer (items [i].getText (HEIGHT_COL)).intValue ();
-			data = new RowData (width, height);
-			exclude = items [i].getText (EXCLUDE_COL);
-			data.exclude = exclude.equals ("true");
-			children [i].setLayoutData (data);
-		}
-		
-	}
-	
-	/**
-	 * Sets the state of the layout.
-	 */
-	void setLayoutState () {
-		/* Set the type of layout */
-		rowLayout.type = vertical.getSelection () ? SWT.VERTICAL : SWT.HORIZONTAL;
-		
-		/* Set the margins and spacing */
-		rowLayout.marginWidth = marginWidth.getSelection ();
-		rowLayout.marginHeight = marginHeight.getSelection ();
-		rowLayout.marginLeft = marginLeft.getSelection ();
-		rowLayout.marginRight = marginRight.getSelection ();
-		rowLayout.marginTop = marginTop.getSelection ();
-		rowLayout.marginBottom = marginBottom.getSelection ();
-		rowLayout.spacing = spacing.getSelection ();
-		
-		/* Set the other layout properties */
-		rowLayout.wrap = wrap.getSelection ();
-		rowLayout.pack = pack.getSelection ();
-		rowLayout.fill = fill.getSelection ();
-		rowLayout.justify = justify.getSelection ();
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/layoutexample/StackLayoutTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/layoutexample/StackLayoutTab.java
deleted file mode 100644
index 5d911ab..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/layoutexample/StackLayoutTab.java
+++ /dev/null
@@ -1,247 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.examples.layoutexample;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-class StackLayoutTab extends Tab {
-	/* Controls for setting layout parameters */
-	Button backButton, advanceButton;
-	Label topControl;
-	Spinner marginWidth, marginHeight;
-	/* The example layout instance */
-	StackLayout stackLayout;
-	int currentLayer = -1;
-	/* TableEditors and related controls*/
-	TableEditor comboEditor, nameEditor;
-	CCombo combo;
-	Text nameText;
-	final int NAME_COL = 0;
-	final int TOTAL_COLS = 2;
-	
-	/**
-	 * Creates the Tab within a given instance of LayoutExample.
-	 */
-	StackLayoutTab(LayoutExample instance) {
-		super(instance);
-	}
-	
-	/**
-	 * Creates the widgets in the "child" group.
-	 */
-	void createChildWidgets() {
-		/* Add common controls */
-		super.createChildWidgets();
-		
-		/* Add TableEditors */
-		comboEditor = new TableEditor(table);
-		nameEditor = new TableEditor(table);
-		table.addMouseListener (new MouseAdapter() {
-			public void mouseDown(MouseEvent e) { 	
-				resetEditors();
-				index = table.getSelectionIndex();
-				if (index == -1) return;
-				//set top layer of stack to the selected item
-				setTopControl (index);
-				
-				TableItem oldItem = comboEditor.getItem();
-				newItem = table.getItem(index);
-				if (newItem == oldItem || newItem != lastSelected) {
-					lastSelected = newItem;
-					return;
-				}
-				table.showSelection();				
-				combo = new CCombo(table, SWT.READ_ONLY);				
-				createComboEditor(combo, comboEditor);
-				
-				nameText = new Text(table, SWT.SINGLE);
-				nameText.setText(((String[])data.elementAt(index))[NAME_COL]);
-				createTextEditor(nameText, nameEditor, NAME_COL);
-			}
-		});		
-	}
-	
-	/**
-	 * Creates the control widgets.
-	 */
-	void createControlWidgets() {
-        /* Controls the topControl in the StackLayout */
-		Group columnGroup = new Group (controlGroup, SWT.NONE);
-		columnGroup.setText ("topControl");//(LayoutExample.getResourceString ("Top_Control"));
-		columnGroup.setLayout(new GridLayout(3, false));
-		columnGroup.setLayoutData(new GridData (SWT.FILL, SWT.FILL, false, false));
-		backButton = new Button(columnGroup, SWT.PUSH);
-	    backButton.setText("<<");
-	    backButton.setEnabled(false);
-		backButton.setLayoutData(new GridData (SWT.END, SWT.CENTER, false, false));
-		backButton.addSelectionListener(new SelectionAdapter() {
-	        public void widgetSelected(SelectionEvent e) {
-		    	setTopControl (currentLayer - 1);
-	        }
-		});
-		topControl = new Label (columnGroup, SWT.BORDER);
-		topControl.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
-		advanceButton = new Button(columnGroup, SWT.PUSH);
-		advanceButton.setText(">>");
-		advanceButton.setEnabled(false);
-		advanceButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-		    	setTopControl (currentLayer + 1);
-	        }
-		});		
-
-		/* Controls the margins of the StackLayout */
-		Group marginGroup = new Group(controlGroup, SWT.NONE);
-		marginGroup.setText (LayoutExample.getResourceString("Margins"));
-		marginGroup.setLayout(new GridLayout(2, false));
-		marginGroup.setLayoutData (new GridData(SWT.FILL, SWT.CENTER, false, false));
-		new Label(marginGroup, SWT.NONE).setText("marginWidth");
-		marginWidth = new Spinner(marginGroup, SWT.BORDER);
-		marginWidth.setSelection(0);
-		marginWidth.addSelectionListener(selectionListener);
-		new Label(marginGroup, SWT.NONE).setText("marginHeight");
-		marginHeight = new Spinner(marginGroup, SWT.BORDER);
-		marginHeight.setSelection(0);
-		marginHeight.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false));
-		marginHeight.addSelectionListener(selectionListener);
-		
-		/* Add common controls */
-		super.createControlWidgets();
-	}
-	
-	/**
-	 * Creates the example layout.
-	 */
-	void createLayout() {
-		stackLayout = new StackLayout();
-		layoutComposite.setLayout(stackLayout);
-	}
-	
-	void createLayoutComposite() {
-		layoutComposite = new Composite(layoutGroup, SWT.BORDER);
-		layoutComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1));
-		createLayout();
-	}
-	
-	/** 
-	 * Disposes the editors without placing their contents
-	 * into the table.
-	 */
-	void disposeEditors() {
-		comboEditor.setEditor(null, null, -1);
-		combo.dispose();
-		nameText.dispose();
-	}
-	
-	/**
-	 * Generates code for the example layout.
-	 */
-	StringBuffer generateLayoutCode() {
-		StringBuffer code = new StringBuffer();
-		code.append("\t\tStackLayout stackLayout = new StackLayout ();\n");
-		if (stackLayout.marginWidth != 0) {
-			code.append("\t\tstackLayout.marginWidth = " + stackLayout.marginWidth + ";\n");
-		}
-		if (stackLayout.marginHeight != 0) {
-			code.append("\t\tstackLayout.marginHeight = " + stackLayout.marginHeight + ";\n");
-		}
-		code.append("\t\tshell.setLayout (stackLayout);\n");
-		for(int i = 0; i < children.length; i++) {
-			Control control = children[i];
-			code.append (getChildCode(control, i));
-		}
-		if (children.length > 0 && currentLayer != -1) {
-			code.append("\n\t\tstackLayout.topControl = " + names[currentLayer] + ";\n");
-		}
-		return code;
-	}
-	
-	boolean needsCustom() {
-		return true;
-	}
-
-	/**
-	 * Returns the string to insert when a new child control is added to the table.
-	 */
-	String[] getInsertString (String name, String controlType) {
-		return new String [] {name, controlType};
-	}
-
-	/**
-	 * Returns the layout data field names.
-	 */
-	String[] getLayoutDataFieldNames() {
-		return new String[] {"Control Name", "Control Type"};
-	}
-	
-	/**
-	 * Gets the text for the tab folder item.
-	 */
-	String getTabText() {
-		return "StackLayout";
-	}
-	
-	/**
-	 * Takes information from TableEditors and stores it.
-	 */
-	void resetEditors (boolean tab) {
-		TableItem oldItem = comboEditor.getItem ();
-		comboEditor.setEditor (null, null, -1);
-		if (oldItem != null) {
-			int row = table.indexOf (oldItem);
-			try {				
-				new String (nameText.getText ());
-			} catch (NumberFormatException e) {
-				nameText.setText (oldItem.getText (NAME_COL));
-			}
-			String [] insert = new String [] {nameText.getText (), combo.getText ()};
-			data.setElementAt (insert, row);
-			for (int i = 0 ; i < TOTAL_COLS; i++) {
-				oldItem.setText (i, ((String [])data.elementAt (row)) [i]);
-			}
-			if (!tab) disposeEditors ();
-		}
-		setLayoutState ();
-		refreshLayoutComposite ();
-		setTopControl (currentLayer);
-		layoutGroup.layout (true);
-	}	
-
-	void setTopControl (int index) {
-		if (index == -1 || children.length == 0) {
-			currentLayer = -1;
-			topControl.setText ("");
-		} else {
-			currentLayer = index;
-			stackLayout.topControl = children [currentLayer];
-			layoutComposite.layout ();
-			TableItem item = table.getItem(currentLayer);
-			topControl.setText (item.getText(0));
-		}
-		backButton.setEnabled(children.length > 1 && currentLayer > 0);
-		advanceButton.setEnabled(children.length > 1 && currentLayer < children.length - 1);
-	}
-
-	/**
-	 * Sets the state of the layout.
-	 */
-	void setLayoutState() {
-		/* Set the margins and spacing */
-		stackLayout.marginWidth = marginWidth.getSelection();		
-		stackLayout.marginHeight = marginHeight.getSelection();		
-	}	
-	
-}
-
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/layoutexample/Tab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/layoutexample/Tab.java
deleted file mode 100644
index 6125185..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/layoutexample/Tab.java
+++ /dev/null
@@ -1,748 +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.swt.examples.layoutexample;
-
- 
-import java.util.Vector;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * <code>Tab</code> is the abstract superclass of every page
- * in the example's tab folder.  Each page in the tab folder
- * displays a layout, and allows the user to manipulate the
- * layout.
- *
- * A typical page in a Tab contains a two column composite.
- * The left column contains the layout group, which contains
- * the "layout composite" (the one that has the example layout).
- * The right column contains the "control" group. The "control"
- * group allows the user to interact with the example. Typical
- * operations are modifying layout parameters, adding children
- * to the "layout composite", and modifying child layout data.
- * The "Code" button in the "control" group opens a new window
- * containing code that will regenerate the layout. This code
- * (or parts of it) can be selected and copied to the clipboard.
- */
-abstract class Tab {	
-	Shell shell;
-	Display display;
-	/* Common groups and composites */
-	Composite tabFolderPage;
-	SashForm sash;
-	Group layoutGroup, controlGroup, childGroup;
-	/* The composite that contains the example layout */
-	Composite layoutComposite;
-	/* Common controls for modifying the example layout */
-	String [] names;
-	Control [] children;
-	ToolItem add, delete, clear, code;
-	int prevSelected = 0;
-	/* Common values for working with TableEditors */
-	Table table;
-	int index;
-	boolean comboReset = false;
-	final String[] OPTIONS = {"Button", "Canvas", "Combo", "Composite",	"CoolBar", 
-			"Group", "Label", "Link", "List", "ProgressBar", "Scale", "Slider", "StyledText",
-			"Table", "Text", "ToolBar", "Tree"};
-	TableItem newItem, lastSelected;
-	Vector data = new Vector ();
-	/* Controlling instance */
-	final LayoutExample instance;
-
-	/* Listeners */
-	SelectionListener selectionListener = new SelectionAdapter () {
-		public void widgetSelected (SelectionEvent e) {
-			resetEditors ();
-		}
-	};
-		
-	TraverseListener traverseListener = new TraverseListener () {
-		public void keyTraversed (TraverseEvent e) {
-			if (e.detail == SWT.TRAVERSE_RETURN) {
-				e.doit = false;
-				resetEditors ();
-			}
-		}
-	};
-
-	/**
-	 * Creates the Tab within a given instance of LayoutExample.
-	 */
-	Tab(LayoutExample instance) {
-		this.instance = instance;
-	}
-	
-	/**
-	 * Creates the "children" group. This is the group that allows
-	 * you to add children to the layout. It exists within the
-	 * controlGroup.
-	 */
-	void createChildGroup () {
-		childGroup = new Group (controlGroup, SWT.NONE);
-		childGroup.setText (LayoutExample.getResourceString("Children"));
-		childGroup.setLayout(new GridLayout ());
-		childGroup.setLayoutData(new GridData (SWT.FILL, SWT.FILL, true, true, 2, 1)); 
-
-		ToolBar toolBar = new ToolBar(childGroup, SWT.FLAT);	
-		toolBar.setLayoutData(new GridData(SWT.CENTER, SWT.CENTER, false, false));
-		add = new ToolItem(toolBar, SWT.DROP_DOWN);
-		add.setText(LayoutExample.getResourceString("Add"));	
-		add.addSelectionListener (new SelectionAdapter () {
-			public void widgetSelected(SelectionEvent event) {
-				if (event.detail == SWT.ARROW) {
-					ToolItem item = (ToolItem)event.widget;
-					ToolBar bar = item.getParent ();
-					final Menu menu = new Menu (shell, SWT.POP_UP);
-					for (int i = 0; i < OPTIONS.length; i++) {
-						final MenuItem newItem = new MenuItem (menu, SWT.RADIO);
-						newItem.setText (OPTIONS [i]);						
-						newItem.addSelectionListener (new SelectionAdapter () {
-							public void widgetSelected (SelectionEvent event) {
-								MenuItem menuItem = (MenuItem)event.widget;
-								if (menuItem.getSelection ()) {
-									Menu menu  = menuItem.getParent ();
-									prevSelected = menu.indexOf (menuItem);
-									String controlType = menuItem.getText ();
-									String name = controlType.toLowerCase () + String.valueOf (table.getItemCount ());
-									String [] insert = getInsertString (name, controlType);
-									if (insert != null) {
-										TableItem item = new TableItem (table, SWT.NONE);
-										item.setText (insert);
-										data.addElement (insert);
-									}
-									resetEditors ();
-								}
-							}
-						});							
-						newItem.setSelection (i == prevSelected);
-					}
-					Point pt = display.map (bar, null, event.x, event.y);
-					menu.setLocation (pt.x, pt.y);
-					menu.setVisible (true);
-					
-					while (menu != null && !menu.isDisposed () && menu.isVisible ()) {
-						if (!display.readAndDispatch ()) {
-							display.sleep ();
-						}
-					}
-					menu.dispose ();
-				} else {
-					String controlType = OPTIONS [prevSelected];
-					String name = controlType.toLowerCase () + String.valueOf (table.getItemCount ());
-					String [] insert = getInsertString (name, controlType);
-					if (insert != null) {
-						TableItem item = new TableItem (table, 0);
-						item.setText (insert);
-						data.addElement (insert);
-					}
-					resetEditors ();
-				}
-			}
-		});
-
-		new ToolItem(toolBar,SWT.SEPARATOR);
-
-		delete = new ToolItem(toolBar, SWT.PUSH);
-		delete.setText (LayoutExample.getResourceString ("Delete"));
-		delete.addSelectionListener (new SelectionAdapter () {
-			public void widgetSelected (SelectionEvent e) {
-				resetEditors ();
-				int [] selected = table.getSelectionIndices ();
-				table.remove (selected);
-				/* Refresh the control indices of the table */
-				for (int i = 0; i < table.getItemCount(); i++) {
-					TableItem item = table.getItem (i);
-					item.setText (0, item.getText (0));
-				}
-				refreshLayoutComposite ();
-				layoutComposite.layout (true);
-				layoutGroup.layout (true);
-			}
-		});
-		
-		new ToolItem(toolBar,SWT.SEPARATOR);
-		clear = new ToolItem(toolBar, SWT.PUSH);
-		clear.setText (LayoutExample.getResourceString ("Clear"));
-		clear.addSelectionListener (new SelectionAdapter () {
-			public void widgetSelected (SelectionEvent e) {
-				resetEditors ();
-				children = layoutComposite.getChildren ();
-				for (int i = 0; i < children.length; i++) {
-					children [i].dispose ();
-				}
-				table.removeAll ();
-				data.clear ();
-				children = new Control [0];
-				layoutGroup.layout (true);
-			}
-		});
-		toolBar.pack();
-		
-		new ToolItem (toolBar,SWT.SEPARATOR);
-		code = new ToolItem (toolBar, SWT.PUSH);
-		code.setText (LayoutExample.getResourceString ("Generate_Code"));
-		code.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				final Shell shell = new Shell();	
-				shell.setText(LayoutExample.getResourceString("Generated_Code"));
-				shell.setLayout(new FillLayout());
-				final Text text = new Text(shell, SWT.BORDER | SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL);
-				String layoutCode = generateCode().toString ();
-				if (layoutCode.length() == 0) return;
-				text.setText(layoutCode);
-				
-				Menu bar = new Menu(shell, SWT.BAR);
-				shell.setMenuBar(bar);
-				MenuItem editItem = new MenuItem(bar, SWT.CASCADE);
-				editItem.setText(LayoutExample.getResourceString("Edit"));
-				Menu menu = new Menu(bar);
-				MenuItem select = new MenuItem(menu, SWT.PUSH);
-				select.setText(LayoutExample.getResourceString("Select_All"));
-				select.setAccelerator(SWT.MOD1 + 'A');
-				select.addSelectionListener(new SelectionAdapter() {
-					public void widgetSelected(SelectionEvent e) {
-						text.selectAll();
-					}
-				});
-				MenuItem copy = new MenuItem(menu, SWT.PUSH);
-				copy.setText(LayoutExample.getResourceString("Copy"));
-				copy.setAccelerator(SWT.MOD1 + 'C');
-				copy.addSelectionListener(new SelectionAdapter() {
-					public void widgetSelected(SelectionEvent e) {
-						text.copy();
-					}
-				});
-				MenuItem exit = new MenuItem(menu, SWT.PUSH);
-				exit.setText(LayoutExample.getResourceString("Exit"));
-				exit.addSelectionListener(new SelectionAdapter() {
-					public void widgetSelected(SelectionEvent e) {
-						shell.close();
-					}
-				});
-				editItem.setMenu(menu);
-				
-				shell.pack();
-				shell.setSize(500, 600);
-				shell.open();
-				while(!shell.isDisposed())
-					if (!display.readAndDispatch()) display.sleep();
-			}
-		});
-	
-		createChildWidgets();
-	}
-	
-	/**
-	 * Creates the controls for modifying the "children" 
-	 * table, and the table itself.
-	 * Subclasses override this method to augment the
-	 * standard table.
-	 */
-	void createChildWidgets() {
-		/* Create the "children" table */
-		table = new Table (childGroup, SWT.MULTI | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.HIDE_SELECTION);
-		table.setLinesVisible (true);
-		table.setHeaderVisible (true);
-		FontData def[] = display.getSystemFont().getFontData();
-		table.setFont(new Font(display, def[0].getName(), 10, SWT.NONE));
-		GridData gridData = new GridData(SWT.FILL, SWT.FILL, true, true, 3, 1);
-		gridData.heightHint = 150;
-		table.setLayoutData (gridData);
-		table.addTraverseListener (traverseListener);
-		
-		/* Add columns to the table */
-		String [] columnHeaders = getLayoutDataFieldNames ();
-		for (int i = 0; i < columnHeaders.length; i++) {
-			TableColumn column = new TableColumn(table, SWT.NONE);
-			column.setText (columnHeaders [i]);
-			if (i == 0) column.setWidth (100);
-			else if (i == 1) column.setWidth (90);
-			else column.pack ();
-		}
-	}
-
-	/**
-	 * Creates the TableEditor with a CCombo in the first column
-	 * of the table. This CCombo lists all the controls that
-	 * the user can select to place on their layout.
-	 */
-	void createComboEditor (CCombo combo, TableEditor comboEditor) {
-		combo.setItems (OPTIONS);
-		combo.setText (newItem.getText (1));
-		
-		/* Set up editor */
-		comboEditor.horizontalAlignment = SWT.LEFT;
-		comboEditor.grabHorizontal = true;
-		comboEditor.minimumWidth = 50;
-		comboEditor.setEditor (combo, newItem, 1);
-		
-		/* Add listener */
-		combo.addTraverseListener(new TraverseListener() {
-        	public void keyTraversed(TraverseEvent e) {
-            	if (e.detail == SWT.TRAVERSE_TAB_NEXT || e.detail == SWT.TRAVERSE_RETURN) {
-            		comboReset = true;
-                    resetEditors ();
-                }
-                if (e.detail == SWT.TRAVERSE_ESCAPE) {
-                	disposeEditors ();
-                }
-            }
-        });
-	}
-	
-	/**
-	 * Creates the "control" group. This is the group on the
-	 * right half of each example tab. It contains controls
-	 * for adding new children to the layoutComposite, and
-	 * for modifying the children's layout data.
-	 */	
-	void createControlGroup () {
-		controlGroup = new Group (sash, SWT.NONE);
-		controlGroup.setText (LayoutExample.getResourceString("Parameters"));
-		GridLayout layout = new GridLayout (2, true);
-		layout.horizontalSpacing = 10;
-		controlGroup.setLayout (layout);
-		final Button preferredButton = new Button (controlGroup, SWT.CHECK);
-		preferredButton.setText (LayoutExample.getResourceString ("Preferred_Size"));
-		preferredButton.setSelection (false);
-		preferredButton.addSelectionListener (new SelectionAdapter () {
-			public void widgetSelected (SelectionEvent e) {
-				resetEditors ();
-				GridData data = (GridData)layoutComposite.getLayoutData();
-				if (preferredButton.getSelection ()) {
-					data.heightHint = data.widthHint = SWT.DEFAULT;	
-					data.verticalAlignment = data.horizontalAlignment = 0;
-					data.grabExcessVerticalSpace = data.grabExcessHorizontalSpace = false;
-				} else {
-					data.verticalAlignment = data.horizontalAlignment = SWT.FILL;
-					data.grabExcessVerticalSpace = data.grabExcessHorizontalSpace = true;
-				}
-				layoutComposite.setLayoutData (data);
-				layoutGroup.layout (true);
-			}
-		});
-		preferredButton.setLayoutData (new GridData (SWT.FILL, SWT.CENTER, true, false, 2, 1));	
-		createControlWidgets ();
-	}
-		
-	/**
-	 * Creates the "control" widget children.
-	 * Subclasses override this method to augment
-	 * the standard controls created.
-	 */
-	void createControlWidgets () {
-		createChildGroup ();
-	}
-	
-	/**
-	 * Creates the example layout.
-	 * Subclasses override this method.
-	 */
-	void createLayout () {
-	}
-	
-	/**
-	 * Creates the composite that contains the example layout.
-	 */
-	void createLayoutComposite () {
-		layoutComposite = new Composite (layoutGroup, SWT.BORDER);
-		layoutComposite.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true));
-		createLayout ();
-	}
-	
-	/**
-	 * Creates the layout group. This is the group on the
-	 * left half of each example tab.
-	 */
-	void createLayoutGroup () {
-		layoutGroup = new Group (sash, SWT.NONE);
-		layoutGroup.setText (LayoutExample.getResourceString("Layout"));
-		layoutGroup.setLayout (new GridLayout ());
-		createLayoutComposite ();
-	}
-	
-	/**
-	 * Creates the tab folder page.
-	 *
-	 * @param tabFolder org.eclipse.swt.widgets.TabFolder
-	 * @return the new page for the tab folder
-	 */
-	Composite createTabFolderPage (TabFolder tabFolder) {
-		/* Cache the shell and display. */
-		shell = tabFolder.getShell ();
-		display = shell.getDisplay ();
-
-		/* Create a two column page with a SashForm*/
-		tabFolderPage = new Composite (tabFolder, SWT.NONE);
-		tabFolderPage.setLayoutData (new GridData(SWT.FILL, SWT.FILL, true, true));
-		tabFolderPage.setLayout (new FillLayout ());
-		sash = new SashForm (tabFolderPage, SWT.HORIZONTAL);
-	
-		/* Create the "layout" and "control" columns */
-		createLayoutGroup ();
-		createControlGroup ();
-		
-		sash.setWeights(sashWeights ());		
-		return tabFolderPage;
-	}
-	
-	/**
-	 * Return the initial weight of the layout and control groups within the SashForm.
-	 * Subclasses may override to provide tab-specific weights.
-	 * @return the desired sash weights for the tab page
-	 */
-	int[] sashWeights () {
-		return new int[] {50, 50};		
-	}
-
-	/**
-	 * Creates the TableEditor with a Text in the given column
-	 * of the table.
-	 */
-	void createTextEditor (Text text, TableEditor textEditor, int column) {
-		text.setFont (table.getFont ());
-		text.selectAll ();
-		textEditor.horizontalAlignment = SWT.LEFT;
-		textEditor.grabHorizontal = true;
-		textEditor.setEditor (text, newItem, column);
-		
-		text.addTraverseListener(new TraverseListener() {
-        	public void keyTraversed(TraverseEvent e) {
-            	if (e.detail == SWT.TRAVERSE_TAB_NEXT) {
-                    resetEditors (true);
-                }
-                if (e.detail == SWT.TRAVERSE_ESCAPE) {
-                	disposeEditors ();
-                }
-            }
-        });
-	}
-	
-	/** 
-	 * Disposes the editors without placing their contents
-	 * into the table.
-	 * Subclasses override this method.
-	 */
-	void disposeEditors () {
-	}
-	
-	/**
-	 * Generates the code needed to produce the example layout.
-	 */	
-	StringBuffer generateCode () {
-		/* Make sure all information being entered is stored in the table */
-		resetEditors ();
-		
-		/* Get names for controls in the layout */
-		names = new String [children.length];
-		for (int i = 0; i < children.length; i++) {
-			TableItem myItem = table.getItem(i);
-			String name = myItem.getText(0);
-			if (name.matches("\\d")) {
-				Control control = children [i];
-				String controlClass = control.getClass ().toString ();
-				String controlType = controlClass.substring (controlClass.lastIndexOf ('.') + 1);
-				names [i] = controlType.toLowerCase () + i;
-			} else {
-				names [i] = myItem.getText(0);
-			}	
-		}
-	
-		/* Create StringBuffer containing the code */
-		StringBuffer code = new StringBuffer ();
-		code.append ("import org.eclipse.swt.*;\n");
-		code.append ("import org.eclipse.swt.layout.*;\n");
-		code.append ("import org.eclipse.swt.widgets.*;\n");
-		if (needsCustom ()) code.append ("import org.eclipse.swt.custom.*;\n");
-		if (needsGraphics ()) code.append ("import org.eclipse.swt.graphics.*;\n");
-		code.append ("\n");
-		code.append ("public class MyLayout {\n");
-		code.append ("\tpublic static void main (String [] args) {\n");
-		code.append ("\t\tDisplay display = new Display ();\n");
-		code.append ("\t\tShell shell = new Shell (display);\n");
-		
-		/* Get layout specific code */
-		code.append (generateLayoutCode ());
-		
-		code.append ("\n\t\tshell.pack ();\n\t\tshell.open ();\n\n");
-		code.append ("\t\twhile (!shell.isDisposed ()) {\n");
-		code.append ("\t\t\tif (!display.readAndDispatch ())\n");
-		code.append ("\t\t\t\tdisplay.sleep ();\n\t\t}\n\t\tdisplay.dispose ();\n\t}\n}");
-		
-		return code;
-	}
-	
-	boolean needsGraphics() {
-		return false;
-	}
-
-	boolean needsCustom() {
-		return false;
-	}
-
-	/**
-	 * Generates layout specific code for the example layout.
-	 * Subclasses override this method.
-	 */
-	StringBuffer generateLayoutCode () {
-		return new StringBuffer ();
-	}
-	
-	/**
-	 * Returns the StringBuffer for the code which will 
-	 * create a child control.
-	 */
-	StringBuffer getChildCode (Control control, int i) {
-		StringBuffer code = new StringBuffer ();
-		/* Find the type of control */
-		String controlClass = control.getClass().toString ();
-		String controlType = controlClass.substring (controlClass.lastIndexOf ('.') + 1);
-		/* Find the style of the control */
-		String styleString;
-		if (controlType.equals ("Button")) {
-			styleString = "SWT.PUSH";
-		} else if (controlType.equals ("StyledText")) {
-			styleString = "SWT.MULTI | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL";
-		} else if (controlType.equals ("Canvas") || controlType.equals ("Composite") || 
-					controlType.equals ("Table") || controlType.equals ("StyledText") ||
-					controlType.equals ("ToolBar") || controlType.equals ("Tree") ||
-					controlType.equals ("List") || controlType.equals ("Text")) {
-			styleString = "SWT.BORDER";
-		} else styleString = "SWT.NONE";
-		/* Write out the control being declared */
-		code.append ("\n\t\t" + controlType + " " + names [i] + 
-					 " = new " + controlType + " (shell, " + styleString + ");\n");
-		/* Add items to those controls that need items */
-		if (controlType.equals ("Combo") || controlType.equals ("List")) {
-			code.append ("\t\t" + names [i] + ".setItems (new String [] {\"Item 1\", \"Item 2\", \"Item 2\"});\n");
-		} else if (controlType.equals ("Table")) {
-			code.append ("\t\t" + names [i] + ".setLinesVisible (true);\n");
-			for (int j = 1; j < 3; j++) {
-				code.append ("\t\tTableItem tableItem" + j + " = new TableItem (" + names [i] + ", SWT.NONE);\n");
-				code.append ("\t\ttableItem" + j + ".setText (\"Item" + j + "\");\n");
-			}
-		} else if (controlType.equals ("Tree")) {
-			for (int j = 1; j < 3; j++) {
-				code.append ("\t\tTreeItem treeItem" + j + " = new TreeItem (" + names [i] + ", SWT.NONE);\n");
-				code.append ("\t\ttreeItem" + j + ".setText (\"Item" + j + "\");\n");
-			}
-		} else if (controlType.equals ("ToolBar")) {
-			for (int j = 1; j < 3; j++) {
-				code.append ("\t\tToolItem toolItem" + j + " = new ToolItem (" + names [i] + ", SWT.NONE);\n");
-				code.append ("\t\ttoolItem" + j + ".setText (\"Item" + j + "\");\n");
-			}
-		} else if (controlType.equals ("CoolBar")) {
-			code.append ("\t\tToolBar coolToolBar = new ToolBar (" + names [i] + ", SWT.BORDER);\n");
-			code.append ("\t\tToolItem coolToolItem = new ToolItem (coolToolBar, SWT.NONE);\n");
-			code.append ("\t\tcoolToolItem.setText (\"Item 1\");\n");
-			code.append ("\t\tcoolToolItem = new ToolItem (coolToolBar, SWT.NONE);\n");
-			code.append ("\t\tcoolToolItem.setText (\"Item 2\");\n");
-			code.append ("\t\tCoolItem coolItem1 = new CoolItem (" + names [i] + ", SWT.NONE);\n");
-			code.append ("\t\tcoolItem1.setControl (coolToolBar);\n");
-			code.append ("\t\tPoint size = coolToolBar.computeSize (SWT.DEFAULT, SWT.DEFAULT);\n");
-			code.append ("\t\tcoolItem1.setSize (coolItem1.computeSize (size.x, size.y));\n");
-			code.append ("\t\tcoolToolBar = new ToolBar (" + names [i] + ", SWT.BORDER);\n");
-			code.append ("\t\tcoolToolItem = new ToolItem (coolToolBar, SWT.NONE);\n");
-			code.append ("\t\tcoolToolItem.setText (\"Item 3\");\n");
-			code.append ("\t\tcoolToolItem = new ToolItem (coolToolBar, SWT.NONE);\n");
-			code.append ("\t\tcoolToolItem.setText (\"Item 4\");\n");
-			code.append ("\t\tCoolItem coolItem2 = new CoolItem (" + names [i] + ", SWT.NONE);\n");
-			code.append ("\t\tcoolItem2.setControl (coolToolBar);\n");
-			code.append ("\t\tsize = coolToolBar.computeSize (SWT.DEFAULT, SWT.DEFAULT);\n");
-			code.append ("\t\tcoolItem2.setSize (coolItem2.computeSize (size.x, size.y));\n");
-			code.append ("\t\t" + names [i] + ".setSize (" + names [i] + ".computeSize (SWT.DEFAULT, SWT.DEFAULT));\n");
-		} else if (controlType.equals ("ProgressBar")) {
-			code.append ("\t\t" + names [i] + ".setSelection (50);\n");
-		} 
-		/* Set text for those controls that support it */			 
-		if (controlType.equals ("Button") ||
-			controlType.equals ("Combo") ||
-			controlType.equals ("Group") ||
-			controlType.equals ("Label") ||
-			controlType.equals ("Link") ||
-			controlType.equals ("StyledText") ||
-			controlType.equals ("Text")) {
-			code.append ("\t\t" + names [i] + ".setText (\"" + names [i] + "\");\n");
-		}
-		return code;
-	}
-
-	/**
-	 * Returns the string to insert when a new child control is added to the table.
-	 * Subclasses override this method.
-	 */
-	String[] getInsertString (String name, String controlType) {
-		return null;
-	}
-
-	/**
-	 * Returns the layout data field names.
-	 * Subclasses override this method.
-	 */
-	String [] getLayoutDataFieldNames () {
-		return new String [] {};
-	}
-	
-	/**
-	 * Gets the text for the tab folder item.
-	 * Subclasses override this method.
-	 */
-	String getTabText () {
-		return "";
-	}
-	
-	/**
-	 * Refreshes the composite and draws all controls
-	 * in the layout example.
-	 */
-	void refreshLayoutComposite () {
-		/* Remove children that are already laid out */
-		children = layoutComposite.getChildren ();
-		for (int i = 0; i < children.length; i++) {
-			children [i].dispose ();
-		}
-		/* Add all children listed in the table */
-		TableItem [] items = table.getItems ();
-		children = new Control [items.length];
-		String [] itemValues = new String [] {
-			LayoutExample.getResourceString ("Item", new String [] {"1"}),
-			LayoutExample.getResourceString ("Item", new String [] {"2"}),
-			LayoutExample.getResourceString ("Item", new String [] {"3"})};
-		for (int i = 0; i < items.length; i++) {
-			String control = items [i].getText (1);
-			String controlName = items [i].getText (0);
-			if (control.equals ("Button")) {
-				Button button = new Button (layoutComposite, SWT.PUSH);
-				button.setText (controlName);
-				children [i] = button;
-			} else if (control.equals ("Canvas")) {
-				Canvas canvas = new Canvas (layoutComposite, SWT.BORDER);
-				children [i] = canvas;
-			} else if (control.equals ("Combo")) {
-				Combo combo = new Combo (layoutComposite, SWT.NONE);
-				combo.setItems (itemValues);
-				combo.setText (controlName);
-				children [i] = combo;
-			} else if (control.equals ("Composite")) { 
-				Composite composite = new Composite (layoutComposite, SWT.BORDER);
-				children [i] = composite;
-		    } else if (control.equals ("CoolBar")) { 
-		    	CoolBar coolBar = new CoolBar (layoutComposite, SWT.NONE);
-		    	ToolBar toolBar = new ToolBar (coolBar, SWT.BORDER);
-				ToolItem item = new ToolItem (toolBar, 0);
-				item.setText (LayoutExample.getResourceString ("Item",new String [] {"1"}));
-				item = new ToolItem (toolBar, 0);
-				item.setText (LayoutExample.getResourceString ("Item",new String [] {"2"}));
-		    	CoolItem coolItem1 = new CoolItem (coolBar, 0);
-		    	coolItem1.setControl (toolBar);
-				toolBar = new ToolBar (coolBar, SWT.BORDER);
-				item = new ToolItem (toolBar, 0);
-				item.setText (LayoutExample.getResourceString ("Item",new String [] {"3"}));
-				item = new ToolItem (toolBar, 0);
-				item.setText (LayoutExample.getResourceString ("Item",new String [] {"4"}));
-		    	CoolItem coolItem2 = new CoolItem (coolBar, 0);
-		    	coolItem2.setControl (toolBar);
-		    	Point size = toolBar.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-        		coolItem1.setSize(coolItem1.computeSize (size.x, size.y));
-        		coolItem2.setSize(coolItem2.computeSize (size.x, size.y));
-       			coolBar.setSize(coolBar.computeSize(SWT.DEFAULT, SWT.DEFAULT));
-				children [i] = coolBar;
-		    } else if (control.equals ("Group")) {
-				Group group = new Group (layoutComposite, SWT.NONE);
-				group.setText (controlName);
-				children [i] = group;
-			} else if (control.equals ("Label")) {
-				Label label = new Label (layoutComposite, SWT.NONE);
-				label.setText (controlName);
-				children [i] = label;
-			} else if (control.equals ("Link")) {
-				Link link = new Link (layoutComposite, SWT.NONE);
-				link.setText (controlName);
-				children [i] = link;
-			} else if (control.equals ("List")) {
-				List list = new List (layoutComposite, SWT.BORDER);
-				list.setItems (itemValues);
-				children [i] = list;
-			} else if (control.equals ("ProgressBar")) {
-				ProgressBar progress = new ProgressBar (layoutComposite, SWT.NONE);
-				progress.setSelection (50);
-				children [i] = progress;
-			} else if (control.equals ("Scale")) {
-				Scale scale = new Scale (layoutComposite, SWT.NONE);
-				children [i] = scale;
-			} else if (control.equals ("Slider")) {
-				Slider slider = new Slider (layoutComposite, SWT.NONE);
-				children [i] = slider;
-			} else if (control.equals ("StyledText")) {
-				StyledText styledText = new StyledText (layoutComposite, SWT.MULTI | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
-				styledText.setText (controlName);
-				children [i] = styledText;			
-			} else if (control.equals ("Table")) {
-				Table table = new Table (layoutComposite, SWT.BORDER);
-				table.setLinesVisible (true);
-				TableItem item1 = new TableItem (table, 0);
-				item1.setText (LayoutExample.getResourceString ("Item",new String [] {"1"}));
-				TableItem item2 = new TableItem (table, 0);
-				item2.setText (LayoutExample.getResourceString ("Item",new String [] {"2"}));
-				children [i] = table;
-			} else if (control.equals ("Text")) {
-				Text text = new Text (layoutComposite, SWT.BORDER);
-				text.setText (controlName);
-				children [i] = text;
-			} else if (control.equals ("ToolBar")) {
-				ToolBar toolBar = new ToolBar (layoutComposite, SWT.BORDER);
-				ToolItem item1 = new ToolItem (toolBar, 0);
-				item1.setText (LayoutExample.getResourceString ("Item",new String [] {"1"}));
-				ToolItem item2 = new ToolItem (toolBar, 0);
-				item2.setText (LayoutExample.getResourceString ("Item",new String [] {"2"}));
-				children [i] = toolBar;
-			} else {
-				Tree tree = new Tree (layoutComposite, SWT.BORDER);
-				TreeItem item1 = new TreeItem (tree, 0);
-				item1.setText (LayoutExample.getResourceString ("Item",new String [] {"1"}));
-				TreeItem item2 = new TreeItem (tree, 0);
-				item2.setText (LayoutExample.getResourceString ("Item",new String [] {"2"}));
-				children [i] = tree;
-			} 
-		}
-	}	
-	
-	void resetEditors () {
-		resetEditors (false);
-	}
-	
-	/**
-	 * Takes information from TableEditors and stores it.
-	 * Subclasses override this method.
-	 */
-	void resetEditors (boolean tab) {
-	}
-	
-	/**
-	 * Sets the layout data for the children of the layout. 
-	 * Subclasses override this method.
-	 */
-	void setLayoutData () {
-	}
-	
-	/**
-	 * Sets the state of the layout.
-	 * Subclasses override this method.
-	 */
-	void setLayoutState () {
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/AirbrushTool.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/AirbrushTool.java
deleted file mode 100644
index e42c6f5..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/AirbrushTool.java
+++ /dev/null
@@ -1,79 +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.swt.examples.paint;
-
-
-import java.util.Random;
-import org.eclipse.swt.graphics.*;
-
-/**
- * An airbrush tool.
- */
-public class AirbrushTool extends ContinuousPaintSession implements PaintTool {
-	private ToolSettings settings;
-	private Random random;
-	private int cachedRadiusSquared;
-	private int cachedNumPoints;
-	
-	/**
-	 * Constructs a Tool.
-	 * 
-	 * @param toolSettings the new tool settings
-	 * @param paintSurface the PaintSurface we will render on.
-	 */
-	public AirbrushTool(ToolSettings toolSettings, PaintSurface paintSurface) {
-		super(paintSurface);
-		random = new Random();
-		setRetriggerTimer(10);
-		set(toolSettings);
-	}
-	
-	/**
-	 * Sets the tool's settings.
-	 * 
-	 * @param toolSettings the new tool settings
-	 */
-	public void set(ToolSettings toolSettings) {
-		// compute things we need to know for drawing
-		settings = toolSettings;
-		cachedRadiusSquared = settings.airbrushRadius * settings.airbrushRadius;
-		cachedNumPoints = 314 * settings.airbrushIntensity * cachedRadiusSquared / 250000;
-		if (cachedNumPoints == 0 && settings.airbrushIntensity != 0)
-			cachedNumPoints = 1;
-	}
-
-	/**
-	 * Returns the name associated with this tool.
-	 * 
-	 * @return the localized name of this tool
-	 */
-	public String getDisplayName() {
-		return PaintExample.getResourceString("tool.Airbrush.label");
-	}
-
-	/*
-	 * Template method for drawing
-	 */
-	protected void render(Point point) {
-		// Draws a bunch (cachedNumPoints) of random pixels within a specified circle (cachedRadiusSquared).
-		ContainerFigure cfig = new ContainerFigure();
-
-		for (int i = 0; i < cachedNumPoints; ++i) {
-			int randX, randY;
-			do {
-				randX = (int) ((random.nextDouble() - 0.5) * settings.airbrushRadius * 2.0);
-				randY = (int) ((random.nextDouble() - 0.5) * settings.airbrushRadius * 2.0);
-			} while (randX * randX + randY * randY > cachedRadiusSquared);
-			cfig.add(new PointFigure(settings.commonForegroundColor, point.x + randX, point.y + randY));
-		}
-		getPaintSurface().drawFigure(cfig);
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/BasicPaintSession.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/BasicPaintSession.java
deleted file mode 100644
index fc2fdf4..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/BasicPaintSession.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.swt.examples.paint;
-
-
-public abstract class BasicPaintSession implements PaintSession {
-	/**
-	 * The paint surface
-	 */
-	private PaintSurface paintSurface;
-
-	/**
-	 * Constructs a PaintSession.
-	 * 
-	 * @param paintSurface the drawing surface to use
-	 */
-	protected BasicPaintSession(PaintSurface paintSurface) {
-		this.paintSurface = paintSurface;
-	}
-
-	/**
-	 * Returns the paint surface associated with this paint session.
-	 * 
-	 * @return the associated PaintSurface
-	 */
-	public PaintSurface getPaintSurface() {
-		return paintSurface;
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/ContainerFigure.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/ContainerFigure.java
deleted file mode 100644
index df7753a..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/ContainerFigure.java
+++ /dev/null
@@ -1,93 +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.swt.examples.paint;
-
-
-import org.eclipse.swt.graphics.*;
-
-/**
- * Container for Figure objects with stacking preview mechanism.
- */
-public class ContainerFigure extends Figure {
-	private static final int INITIAL_ARRAY_SIZE = 16;
-	
-	Figure[]   objectStack = null;
-	int      nextIndex = 0;
-
-	/**
-	 * Constructs an empty Container
-	 */
-	public ContainerFigure() {
-	}
-	/**
-	 * Adds an object to the container for later drawing.
-	 * 
-	 * @param object the object to add to the drawing list
-	 */
-	public void add(Figure object) {
-		if (objectStack == null) {
-			objectStack = new Figure[INITIAL_ARRAY_SIZE];
-		} else if (objectStack.length <= nextIndex) {
-			Figure[] newObjectStack = new Figure[objectStack.length * 2];
-			System.arraycopy(objectStack, 0, newObjectStack, 0, objectStack.length);
-			objectStack = newObjectStack;
-		}
-		objectStack[nextIndex] = object;
-		++nextIndex;
-	}
-	/**
-	 * Determines if the container is empty.
-	 * @return true if the container is empty
-	 */
-	public boolean isEmpty() {
-		return nextIndex == 0;
-	}
-	/**
-	 * Adds an object to the container and draws its preview then updates the supplied preview state.
-	 * 
-	 * @param object the object to add to the drawing list
-	 * @param gc the GC to draw on
-	 * @param offset the offset to add to virtual coordinates to get display coordinates
-	 * @param rememberedState the state returned by a previous drawPreview() or addAndPreview()
-	 *        using this Container, may be null if there was no such previous call
-	 * @return object state that must be passed to erasePreview() later to erase this object
-	 */
-//	public Object addAndPreview(Figure object, GC gc, Point offset, Object rememberedState) {
-//		Object[] stateStack = (Object[]) rememberedState;
-//		if (stateStack == null) {
-//			stateStack = new Object[INITIAL_ARRAY_SIZE];
-//		} else if (stateStack.length <= nextIndex) {
-//			Object[] newStateStack = new Object[stateStack.length * 2];
-//			System.arraycopy(stateStack, 0, newStateStack, 0, stateStack.length);
-//			stateStack = newStateStack;
-//		}
-//		add(object);
-//		stateStack[nextIndex - 1] = object.drawPreview(gc, offset);
-//		return stateStack;
-//	}
-	/**
-	 * Clears the container.
-	 * <p>
-	 * Note that erasePreview() cannot be called after this point to erase any previous
-	 * drawPreview()'s.
-	 * </p>
-	 */
-	public void clear() {
-		while (--nextIndex > 0) objectStack[nextIndex] = null;
-		nextIndex = 0;
-	}
-	public void draw(FigureDrawContext fdc) {
-		for (int i = 0; i < nextIndex; ++i) objectStack[i].draw(fdc);
-	}
-	public void addDamagedRegion(FigureDrawContext fdc, Region region) {
-		for (int i = 0; i < nextIndex; ++i) objectStack[i].addDamagedRegion(fdc, region);
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/ContinuousPaintSession.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/ContinuousPaintSession.java
deleted file mode 100644
index b415351..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/ContinuousPaintSession.java
+++ /dev/null
@@ -1,234 +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.swt.examples.paint;
-
-
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * The superclass for paint tools that draw continuously along the path
- * traced by the mouse's movement while the button is depressed
- */
-public abstract class ContinuousPaintSession extends BasicPaintSession {
-	/**
-	 * True if a click-drag is in progress.
-	 */
-	private boolean dragInProgress = false;
-	
-	/**
-	 * A cached Point array for drawing.
-	 */
-	private Point[] points = new Point[] { new Point(-1, -1), new Point(-1, -1) };
-
-	/**
-	 * The time to wait between retriggers in milliseconds.
-	 */
-	private int retriggerInterval = 0;
-	
-	/**
-	 * The currently valid RetriggerHandler
-	 */
-	protected Runnable retriggerHandler = null;
-
-	/**
-	 * Constructs a ContinuousPaintSession.
-	 * 
-	 * @param paintSurface the drawing surface to use
-	 */
-	protected ContinuousPaintSession(PaintSurface paintSurface) {
-		super(paintSurface);
-	}
-
-	/**
-	 * Sets the retrigger timer.
-	 * <p>
-	 * After the timer elapses, if the mouse is still hovering over the same point with the
-	 * drag button pressed, a new render order is issued and the timer is restarted.
-	 * </p>
-	 * @param interval the time in milliseconds to wait between retriggers, 0 to disable
-	 */
-	public void setRetriggerTimer(int interval) {
-		retriggerInterval = interval;
-	}
-
-	/**
-	 * Activates the tool.
-	 */
-	public void beginSession() {
-		getPaintSurface().
-			setStatusMessage(PaintExample.getResourceString("session.ContinuousPaint.message"));
-		dragInProgress = false;
-	}
-	
-	/**
-	 * Deactivates the tool.
-     */
-	public void endSession() {
-		abortRetrigger();
-	}
-	
-	/**
-	 * Aborts the current operation.
-	 */
-	public void resetSession() {
-		abortRetrigger();
-	}
-
-	/**
-	 * Handles a mouseDown event.
-	 * 
-	 * @param event the mouse event detail information
-	 */
-	public final void mouseDown(MouseEvent event) {
-		if (event.button != 1) return;
-		if (dragInProgress) return; // spurious event
-		dragInProgress = true;
-
-		points[0].x = event.x;
-		points[0].y = event.y;
-		render(points[0]);
-		prepareRetrigger();
-	}
-
-	/**
-	 * Handles a mouseDoubleClick event.
-	 * 
-	 * @param event the mouse event detail information
-	 */
-	public final void mouseDoubleClick(MouseEvent event) {
-	}
-
-	/**
-	 * Handles a mouseUp event.
-	 * 
-	 * @param event the mouse event detail information
-	 */
-	public final void mouseUp(MouseEvent event) {
-		if (event.button != 1) return;
-		if (! dragInProgress) return; // spurious event
-		abortRetrigger();
-		mouseSegmentFinished(event);
-		dragInProgress = false;
-	}
-	
-	/**
-	 * Handles a mouseMove event.
-	 * 
-	 * @param event the mouse event detail information
-	 */
-	public final void mouseMove(MouseEvent event) {
-		final PaintSurface ps = getPaintSurface();
-		ps.setStatusCoord(ps.getCurrentPosition());
-		if (! dragInProgress) return;
-		mouseSegmentFinished(event);
-		prepareRetrigger();
-	}
-	
-	/**
-	 * Handle a rendering segment
-	 * 
-	 * @param event the mouse event detail information
-	 */
-	private final void mouseSegmentFinished(MouseEvent event) {
-		if (points[0].x == -1) return; // spurious event
-		if (points[0].x != event.x || points[0].y != event.y) {
-			// draw new segment
-			points[1].x = event.x;
-			points[1].y = event.y;
-			renderContinuousSegment();
-		}
-	}
-
-	/**
-	 * Draws a continuous segment from points[0] to points[1].
-	 * Assumes points[0] has been drawn already.
-	 * 
-	 * @post points[0] will refer to the same point as points[1]
-	 */
-	protected void renderContinuousSegment() {
-		/* A lazy but effective line drawing algorithm */
-		final int dX = points[1].x - points[0].x;
-		final int dY = points[1].y - points[0].y;
-		int absdX = Math.abs(dX);
-		int absdY = Math.abs(dY);
-
-		if ((dX == 0) && (dY == 0)) return;
-		
-		if (absdY > absdX) {
-			final int incfpX = (dX << 16) / absdY;
-			final int incY = (dY > 0) ? 1 : -1;
-			int fpX = points[0].x << 16; // X in fixedpoint format
-
-			while (--absdY >= 0) {
-				points[0].y += incY;
-				points[0].x = (fpX += incfpX) >> 16;
-				render(points[0]);
-			}
-			if (points[0].x == points[1].x) return;
-			points[0].x = points[1].x;
-		} else {
-			final int incfpY = (dY << 16) / absdX;
-			final int incX = (dX > 0) ? 1 : -1;
-			int fpY = points[0].y << 16; // Y in fixedpoint format
-
-			while (--absdX >= 0) {
-				points[0].x += incX;
-				points[0].y = (fpY += incfpY) >> 16;
-				render(points[0]);
-			}
-			if (points[0].y == points[1].y) return;
-			points[0].y = points[1].y;
-		}
-		render(points[0]);
-	}		
-
-	/**
-	 * Prepare the retrigger timer
-	 */
-	private final void prepareRetrigger() {
-		if (retriggerInterval > 0) {
-			/*
-			 * timerExec() provides a lightweight mechanism for running code at intervals from within
-			 * the event loop when timing accuracy is not important.
-			 *
-			 * Since it is not possible to cancel a timerExec(), we remember the Runnable that is
-			 * active in order to distinguish the valid one from the stale ones.  In practice,
-			 * if the interval is 1/100th of a second, then creating a few hundred new RetriggerHandlers
-			 * each second will not cause a significant performance hit.
-			 */
-			Display display = getPaintSurface().getDisplay();
-			retriggerHandler = new Runnable() {
-				public void run() {
-					if (retriggerHandler == this) {
-						render(points[0]);
-						prepareRetrigger();
-					}
-				}
-			};			
-			display.timerExec(retriggerInterval, retriggerHandler);
-		}
-	}
-
-	/**
-	 * Aborts the retrigger timer
-	 */
-	private final void abortRetrigger() {
-		retriggerHandler = null;
-	}
-	
-	/**
-	 * Template method: Renders a point.
-	 * @param point, the point to render
-	 */
-	protected abstract void render(Point point);
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/DragPaintSession.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/DragPaintSession.java
deleted file mode 100644
index 0401ca2..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/DragPaintSession.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.swt.examples.paint;
-
-
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.graphics.*;
-
-/**
- * The superclass for paint tools that use click-drag-release motions to
- * draw objects.
- */
-public abstract class DragPaintSession extends BasicPaintSession {
-	/**
-	 * True if a click-drag is in progress
-	 */
-	private boolean dragInProgress = false;
-	
-	/**
-	 * The position of the first click in a click-drag
-	 */
-	private Point anchorPosition = new Point(-1, -1);
-
-	/**
-	 * A temporary point
-	 */
-	private Point tempPosition = new Point(-1, -1);
-	
-	/**
-	 * Constructs a PaintSession.
-	 * 
-	 * @param getPaintSurface() the drawing surface to use
-	 */
-	protected DragPaintSession(PaintSurface paintSurface) {
-		super(paintSurface);
-	}
-
-	/**
-	 * Activates the tool.
-	 */
-	public void beginSession() {
-		getPaintSurface().
-			setStatusMessage(PaintExample.getResourceString("session.DragInteractivePaint.message"));
-		anchorPosition.x = -1;
-		dragInProgress = false;
-	}
-	
-	/**
-	 * Deactivates the tool.
-     */
-	public void endSession() {
-	}
-	
-	/**
-	 * Resets the tool.
-	 * Aborts any operation in progress.
-	 */
-	public void resetSession() {
-		getPaintSurface().clearRubberbandSelection();
-		anchorPosition.x = -1;
-		dragInProgress = false;
-	}
-
-	/**
-	 * Handles a mouseDown event.
-	 * 
-	 * @param event the mouse event detail information
-	 */
-	public void mouseDown(MouseEvent event) {
-		if (event.button != 1) return;
-		if (dragInProgress) return; // spurious event
-		dragInProgress = true;
-		
-		anchorPosition.x = event.x;
-		anchorPosition.y = event.y;
-	}
-
-	/**
-	 * Handles a mouseDoubleClick event.
-	 * 
-	 * @param event the mouse event detail information
-	 */
-	public void mouseDoubleClick(MouseEvent event) {
-	}
-
-	/**
-	 * Handles a mouseUp event.
-	 * 
-	 * @param event the mouse event detail information
-	 */
-	public void mouseUp(MouseEvent event) {
-		if (event.button != 1) {
-			resetSession(); // abort if right or middle mouse button pressed
-			return;
-		}
-		if (! dragInProgress) return; // spurious event
-		dragInProgress = false;
-		if (anchorPosition.x == -1) return; // spurious event
-		
-		getPaintSurface().commitRubberbandSelection();
-	}
-	
-	/**
-	 * Handles a mouseMove event.
-	 * 
-	 * @param event the mouse event detail information
-	 */
-	public void mouseMove(MouseEvent event) {
-		final PaintSurface ps = getPaintSurface();
-		if (! dragInProgress) {
-			ps.setStatusCoord(ps.getCurrentPosition());
-			return;
-		}
-		ps.setStatusCoordRange(anchorPosition, ps.getCurrentPosition());
-		ps.clearRubberbandSelection();
-		tempPosition.x = event.x;
-		tempPosition.y = event.y;
-		ps.addRubberbandSelection(createFigure(anchorPosition, tempPosition));
-	}
-	
-	/**
-	 * Template Method: Creates a Figure for drawing rubberband entities and the final product
-	 * 
-	 * @param anchor the anchor point
-	 * @param cursor the point marking the current pointer location
-	 */
-	protected abstract Figure createFigure(Point anchor, Point cursor);
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/EllipseFigure.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/EllipseFigure.java
deleted file mode 100644
index ed07ef2..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/EllipseFigure.java
+++ /dev/null
@@ -1,52 +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.swt.examples.paint;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-
-/**
- * 2D Ellipse object
- */
-public class EllipseFigure extends Figure {
-	private Color foregroundColor, backgroundColor;
-	private int lineStyle, x1, y1, x2, y2;
-	/**
-	 * Constructs an Ellipse
-	 * These objects are defined by any two diametrically opposing corners of a box
-	 * bounding the ellipse.
-	 * 
-	 * @param color the color for this object
-	 * @param lineStyle the line style for this object
-	 * @param x1 the virtual X coordinate of the first corner
-	 * @param y1 the virtual Y coordinate of the first corner
-	 * @param x2 the virtual X coordinate of the second corner
-	 * @param y2 the virtual Y coordinate of the second corner
-	 */
-	public EllipseFigure(Color foregroundColor, Color backgroundColor, int lineStyle, int x1, int y1, int x2, int y2) {
-		this.foregroundColor = foregroundColor;
-		this.backgroundColor = backgroundColor;
-		this.lineStyle = lineStyle;
-		this.x1 = x1; this.y1 = y1; this.x2 = x2; this.y2 = y2;
-	}
-	public void draw(FigureDrawContext fdc) {
-		Rectangle r = fdc.toClientRectangle(x1, y1, x2, y2);
-		fdc.gc.setForeground(foregroundColor);
-		fdc.gc.setBackground(backgroundColor);
-		fdc.gc.setLineStyle(lineStyle);
-		fdc.gc.drawOval(r.x, r.y, r.width - 1, r.height - 1);
-		fdc.gc.setLineStyle(SWT.LINE_SOLID);
-	}
-	public void addDamagedRegion(FigureDrawContext fdc, Region region) {
-		region.add(fdc.toClientRectangle(x1, y1, x2, y2));
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/EllipseTool.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/EllipseTool.java
deleted file mode 100644
index 6611c76..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/EllipseTool.java
+++ /dev/null
@@ -1,63 +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.swt.examples.paint;
-
-
-import org.eclipse.swt.graphics.*;
-
-/**
- * A drawing tool.
- */
-public class EllipseTool extends DragPaintSession implements PaintTool {
-	private ToolSettings settings;
-
-	/**
-	 * Constructs a EllipseTool.
-	 * 
-	 * @param toolSettings the new tool settings
-	 * @param paintSurface the PaintSurface we will render on.
-	 */
-	public EllipseTool(ToolSettings toolSettings, PaintSurface paintSurface) {
-		super(paintSurface);
-		set(toolSettings);
-	}
-
-	/**
-	 * Sets the tool's settings.
-	 * 
-	 * @param toolSettings the new tool settings
-	 */
-	public void set(ToolSettings toolSettings) {
-		settings = toolSettings;
-	}
-
-	/**
-	 * Returns name associated with this tool.
-	 * 
-	 * @return the localized name of this tool
-	 */
-	public String getDisplayName() {
-		return PaintExample.getResourceString("tool.Ellipse.label");
-	}
-
-	/*
-	 * Template methods for drawing
-	 */
-	protected Figure createFigure(Point a, Point b) {
-		ContainerFigure container = new ContainerFigure();
-		if (settings.commonFillType != ToolSettings.ftNone)
-			container.add(new SolidEllipseFigure(settings.commonBackgroundColor, a.x, a.y, b.x, b.y));
-		if (settings.commonFillType != ToolSettings.ftSolid)
-			container.add(new EllipseFigure(settings.commonForegroundColor, settings.commonBackgroundColor, settings.commonLineStyle,
-				a.x, a.y, b.x, b.y));
-		return container;
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/Figure.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/Figure.java
deleted file mode 100644
index 7fce7e6..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/Figure.java
+++ /dev/null
@@ -1,38 +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.swt.examples.paint;
-
-
-import org.eclipse.swt.graphics.*;
-
-/**
- * Superinterface for all drawing objects.
- * All drawing objects know how to render themselved to the screen and can draw a
- * temporary version of themselves for previewing the general appearance of the
- * object onscreen before it gets committed.
- */
-public abstract class Figure {
-	/**
-	 * Draws this object.
-	 * 
-	 * @param fdc a parameter block specifying drawing-related information
-	 */
-	public abstract void draw(FigureDrawContext fdc);
-
-	/**
-	 * Computes the damaged screen region caused by drawing this object (imprecise), then
-	 * appends it to the supplied region.
-	 * 
-	 * @param fdc a parameter block specifying drawing-related information
-	 * @param region a region to which additional damage areas will be added
-	 */
-	public abstract void addDamagedRegion(FigureDrawContext fdc, Region region);
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/FigureDrawContext.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/FigureDrawContext.java
deleted file mode 100644
index c4ab18d..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/FigureDrawContext.java
+++ /dev/null
@@ -1,40 +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.swt.examples.paint;
-
-
-import org.eclipse.swt.graphics.*;
-
-public class FigureDrawContext {
-	/*
-	 * <p>
-	 * The GC must be set up as follows
-	 * (it will be returned to this state upon completion of drawing operations)
-	 * <ul>
-	 *   <li>setXORMode(false)
-	 * </ul>
-	 * </p>
-	 */
-	public GC gc = null;
-	public int xOffset = 0, yOffset = 0; // substract to get GC coords
-	public int xScale = 1, yScale = 1;
-	
-	public Rectangle toClientRectangle(int x1, int y1, int x2, int y2) {
-		return new Rectangle(
-			Math.min(x1, x2) * xScale - xOffset,
-			Math.min(y1, y2) * yScale - yOffset,
-			(Math.abs(x2 - x1) + 1) * xScale,
-			(Math.abs(y2 - y1) + 1) * yScale);
-	}
-	public Point toClientPoint(int x, int y) {
-		return new Point(x * xScale - xOffset, y * yScale - yOffset);
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/LineFigure.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/LineFigure.java
deleted file mode 100644
index 023fd19..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/LineFigure.java
+++ /dev/null
@@ -1,52 +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.swt.examples.paint;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-
-/**
- * 2D Line object
- */
-public class LineFigure extends Figure {
-	private Color foregroundColor, backgroundColor;
-	private int lineStyle, x1, y1, x2, y2;
-	/**
-	 * Constructs a Line
-	 * These objects are defined by their two end-points.
-	 * 
-	 * @param color the color for this object
-	 * @param lineStyle the line style for this object
-	 * @param x1 the virtual X coordinate of the first end-point
-	 * @param y1 the virtual Y coordinate of the first end-point
-	 * @param x2 the virtual X coordinate of the second end-point
-	 * @param y2 the virtual Y coordinate of the second end-point
-	 */
-	public LineFigure(Color foregroundColor, Color backgroundColor, int lineStyle, int x1, int y1, int x2, int y2) {
-		this.foregroundColor = foregroundColor;
-		this.backgroundColor = backgroundColor;
-		this.lineStyle = lineStyle;
-		this.x1 = x1; this.y1 = y1; this.x2 = x2; this.y2 = y2;
-	}
-	public void draw(FigureDrawContext fdc) {
-		Point p1 = fdc.toClientPoint(x1, y1);
-		Point p2 = fdc.toClientPoint(x2, y2);
-		fdc.gc.setForeground(foregroundColor);
-		fdc.gc.setBackground(backgroundColor);
-		fdc.gc.setLineStyle(lineStyle);
-		fdc.gc.drawLine(p1.x, p1.y, p2.x, p2.y);
-		fdc.gc.setLineStyle(SWT.LINE_SOLID);
-	}
-	public void addDamagedRegion(FigureDrawContext fdc, Region region) {
-		region.add(fdc.toClientRectangle(x1, y1, x2, y2));
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/LineTool.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/LineTool.java
deleted file mode 100644
index e8a64a2..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/LineTool.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.swt.examples.paint;
-
-
-import org.eclipse.swt.graphics.*;
-
-/**
- * A line drawing tool
- */
-public class LineTool extends DragPaintSession implements PaintTool {
-	private ToolSettings settings;
-
-	/**
-	 * Constructs a LineTool.
-	 * 
-	 * @param toolSettings the new tool settings
-	 * @param paintSurface the PaintSurface we will render on.
-	 */
-	public LineTool(ToolSettings toolSettings, PaintSurface paintSurface) {
-		super(paintSurface);
-		set(toolSettings);
-	}
-	
-	/**
-	 * Sets the tool's settings.
-	 * 
-	 * @param toolSettings the new tool settings
-	 */
-	public void set(ToolSettings toolSettings) {
-		settings = toolSettings;
-	}
-	
-	/**
-	 * Returns name associated with this tool.
-	 * 
-	 * @return the localized name of this tool
-	 */
-	public String getDisplayName() {
-		return PaintExample.getResourceString("tool.Line.label");
-	}
-
-	/*
-	 * Template methods for drawing
-	 */
-	protected Figure createFigure(Point a, Point b) {
-		return new LineFigure(settings.commonForegroundColor, settings.commonBackgroundColor, settings.commonLineStyle,
-			a.x, a.y, b.x, b.y);
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/PaintExample.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/PaintExample.java
deleted file mode 100644
index 19a10a4..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/PaintExample.java
+++ /dev/null
@@ -1,584 +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.swt.examples.paint;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.accessibility.*;
-
-import java.io.*;
-import java.text.*;
-import java.util.*;
-
-public class PaintExample {
-	private static ResourceBundle resourceBundle =
-		ResourceBundle.getBundle("examples_paint");
-	private Composite mainComposite;
-	private Canvas activeForegroundColorCanvas;
-	private Canvas activeBackgroundColorCanvas;
-	private Color paintColorBlack, paintColorWhite; // alias for paintColors[0] and [1]
-	private Color[] paintColors;
-	private Font paintDefaultFont; // do not free
-	private static final int numPaletteRows = 3;
-	private static final int numPaletteCols = 50;
-	private ToolSettings toolSettings; // current active settings
-	private PaintSurface paintSurface; // paint surface for drawing
-
-	static final int Pencil_tool = 0;
-	static final int Airbrush_tool = 1;
-	static final int Line_tool = 2;
-	static final int PolyLine_tool = 3;
-	static final int Rectangle_tool = 4;
-	static final int RoundedRectangle_tool = 5;
-	static final int Ellipse_tool = 6;
-	static final int Text_tool = 7;
-	static final int None_fill = 8;
-	static final int Outline_fill = 9;
-	static final int Solid_fill = 10;
-	static final int Solid_linestyle = 11;
-	static final int Dash_linestyle = 12;
-	static final int Dot_linestyle = 13;
-	static final int DashDot_linestyle = 14;
-	static final int Font_options = 15;
-	
-	static final int Default_tool = Pencil_tool;
-	static final int Default_fill = None_fill;
-	static final int Default_linestyle = Solid_linestyle;
-	
-	public static final Tool[] tools = {
-		new Tool(Pencil_tool, "Pencil", "tool", SWT.RADIO),
-		new Tool(Airbrush_tool, "Airbrush", "tool", SWT.RADIO),
-		new Tool(Line_tool, "Line", "tool", SWT.RADIO),
-		new Tool(PolyLine_tool, "PolyLine", "tool", SWT.RADIO),
-		new Tool(Rectangle_tool, "Rectangle", "tool", SWT.RADIO),
-		new Tool(RoundedRectangle_tool, "RoundedRectangle", "tool", SWT.RADIO),
-		new Tool(Ellipse_tool, "Ellipse", "tool", SWT.RADIO),
-		new Tool(Text_tool, "Text", "tool", SWT.RADIO),
-		new Tool(None_fill, "None", "fill", SWT.RADIO, new Integer(ToolSettings.ftNone)),
-		new Tool(Outline_fill, "Outline", "fill", SWT.RADIO, new Integer(ToolSettings.ftOutline)),
-		new Tool(Solid_fill, "Solid", "fill", SWT.RADIO, new Integer(ToolSettings.ftSolid)),
-		new Tool(Solid_linestyle, "Solid", "linestyle", SWT.RADIO, new Integer(SWT.LINE_SOLID)),
-		new Tool(Dash_linestyle, "Dash", "linestyle", SWT.RADIO, new Integer(SWT.LINE_DASH)),
-		new Tool(Dot_linestyle, "Dot", "linestyle", SWT.RADIO, new Integer(SWT.LINE_DOT)),
-		new Tool(DashDot_linestyle, "DashDot", "linestyle", SWT.RADIO, new Integer(SWT.LINE_DASHDOT)),
-		new Tool(Font_options, "Font", "options", SWT.PUSH)
-	};
-
-	/**
-	 * Creates an instance of a PaintExample embedded inside
-	 * the supplied parent Composite.
-	 * 
-	 * @param parent the container of the example
-	 */
-	public PaintExample(Composite parent) {
-		mainComposite = parent;
-		initResources();
-		initActions();
-		init();
-	}
-
-	/**
-	 * Invokes as a standalone program.
-	 */
-	public static void main(String[] args) {
-		Display display = new Display();
-		Shell shell = new Shell(display);
-		shell.setText(getResourceString("window.title"));
-		shell.setLayout(new GridLayout());
-		PaintExample instance = new PaintExample(shell);
-		instance.createToolBar(shell);
-		Composite composite = new Composite(shell, SWT.NONE);
-		composite.setLayout(new FillLayout());
-		composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
-		instance.createGUI(composite);
-		instance.setDefaults();
-		setShellSize(display, shell);
-		shell.open();
-		while (! shell.isDisposed()) {
-			if (! display.readAndDispatch()) display.sleep();
-		}
-		instance.dispose();
-	}
-	
-	/**
-	 * Creates the toolbar.
-	 * Note: Only called by standalone.
-	 */
-	private void createToolBar(Composite parent) {
-		ToolBar toolbar = new ToolBar (parent, SWT.NONE);
-		String group = null;
-		for (int i = 0; i < tools.length; i++) {
-			Tool tool = tools[i];
-			if (group != null && !tool.group.equals(group)) {
-				new ToolItem (toolbar, SWT.SEPARATOR);
-			}
-			group = tool.group;
-			ToolItem item = addToolItem(toolbar, tool);
-			if (i == Default_tool || i == Default_fill || i == Default_linestyle) item.setSelection(true);
-		}
-	}
-
-	/**
-	 * Adds a tool item to the toolbar.
-	 * Note: Only called by standalone.
-	 */
-	private ToolItem addToolItem(final ToolBar toolbar, final Tool tool) {
-		final String id = tool.group + '.' + tool.name;
-		ToolItem item = new ToolItem (toolbar, tool.type);
-		item.setText (getResourceString(id + ".label"));
-		item.setToolTipText(getResourceString(id + ".tooltip"));
-		item.setImage(tool.image);
-		item.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				tool.action.run();
-			}
-		});
-		final int childID = toolbar.indexOf(item);
-		toolbar.getAccessible().addAccessibleListener(new AccessibleAdapter() {
-			public void getName(org.eclipse.swt.accessibility.AccessibleEvent e) {
-				if (e.childID == childID) {
-					e.result = getResourceString(id + ".description");
-				}
-			}
-		});
-		return item;
-	}
-
-	/**
-	 * Sets the default tool item states.
-	 */
-	public void setDefaults() {
-		setPaintTool(Default_tool);
-		setFillType(Default_fill);
-		setLineStyle(Default_linestyle);
-		setForegroundColor(paintColorBlack);
-		setBackgroundColor(paintColorWhite);
-	}
-
-	/**
-	 * Creates the GUI.
-	 */
-	public void createGUI(Composite parent) {
-		GridLayout gridLayout;
-		GridData gridData;
-
-		/*** Create principal GUI layout elements ***/		
-		Composite displayArea = new Composite(parent, SWT.NONE);
-		gridLayout = new GridLayout();
-		gridLayout.numColumns = 1;
-		displayArea.setLayout(gridLayout);
-
-		// Creating these elements here avoids the need to instantiate the GUI elements
-		// in strict layout order.  The natural layout ordering is an artifact of using
-		// SWT layouts, but unfortunately it is not the same order as that required to
-		// instantiate all of the non-GUI application elements to satisfy referential
-		// dependencies.  It is possible to reorder the initialization to some extent, but
-		// this can be very tedious.
-		
-		// paint canvas
-		final Canvas paintCanvas = new Canvas(displayArea, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL |
-			SWT.NO_REDRAW_RESIZE | SWT.NO_BACKGROUND);
-		gridData = new GridData(GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL);
-		paintCanvas.setLayoutData(gridData);
-		paintCanvas.setBackground(paintColorWhite);
-		
-		// color selector frame
-		final Composite colorFrame = new Composite(displayArea, SWT.NONE);
-		gridData = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL);
-		colorFrame.setLayoutData(gridData);
-
-		// tool settings frame
-		final Composite toolSettingsFrame = new Composite(displayArea, SWT.NONE);
-		gridData = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL);
-		toolSettingsFrame.setLayoutData(gridData);
-
-		// status text
-		final Text statusText = new Text(displayArea, SWT.BORDER | SWT.SINGLE | SWT.READ_ONLY);
-		gridData = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL);
-		statusText.setLayoutData(gridData);
-
-		/*** Create the remaining application elements inside the principal GUI layout elements ***/	
-		// paintSurface
-		paintSurface = new PaintSurface(paintCanvas, statusText, paintColorWhite);
-
-		// finish initializing the tool data
-		tools[Pencil_tool].data = new PencilTool(toolSettings, paintSurface);
-		tools[Airbrush_tool].data = new AirbrushTool(toolSettings, paintSurface);
-		tools[Line_tool].data = new LineTool(toolSettings, paintSurface);
-		tools[PolyLine_tool].data = new PolyLineTool(toolSettings, paintSurface);
-		tools[Rectangle_tool].data = new RectangleTool(toolSettings, paintSurface);
-		tools[RoundedRectangle_tool].data = new RoundedRectangleTool(toolSettings, paintSurface);
-		tools[Ellipse_tool].data = new EllipseTool(toolSettings, paintSurface);
-		tools[Text_tool].data = new TextTool(toolSettings, paintSurface);
-
-		// colorFrame		
-		gridLayout = new GridLayout();
-		gridLayout.numColumns = 3;
-		gridLayout.marginHeight = 0;
-		gridLayout.marginWidth = 0;
-		colorFrame.setLayout(gridLayout);
-
-		// activeForegroundColorCanvas, activeBackgroundColorCanvas
-		activeForegroundColorCanvas = new Canvas(colorFrame, SWT.BORDER);
-		gridData = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		gridData.heightHint = 24;
-		gridData.widthHint = 24;
-		activeForegroundColorCanvas.setLayoutData(gridData);
-
-		activeBackgroundColorCanvas = new Canvas(colorFrame, SWT.BORDER);
-		gridData = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		gridData.heightHint = 24;
-		gridData.widthHint = 24;
-		activeBackgroundColorCanvas.setLayoutData(gridData);
-
-		// paletteCanvas
-		final Canvas paletteCanvas = new Canvas(colorFrame, SWT.BORDER | SWT.NO_BACKGROUND);
-		gridData = new GridData(GridData.FILL_HORIZONTAL);
-		gridData.heightHint = 24;
-		paletteCanvas.setLayoutData(gridData);
-		paletteCanvas.addListener(SWT.MouseDown, new Listener() {
-			public void handleEvent(Event e) {
-				Rectangle bounds = paletteCanvas.getClientArea();
-				Color color = getColorAt(bounds, e.x, e.y);				
-					
-				if (e.button == 1) setForegroundColor(color);
-				else setBackgroundColor(color);
-			}
-			private Color getColorAt(Rectangle bounds, int x, int y) {
-				if (bounds.height <= 1 && bounds.width <= 1) return paintColorWhite;
-				final int row = (y - bounds.y) * numPaletteRows / bounds.height;
-				final int col = (x - bounds.x) * numPaletteCols / bounds.width;
-				return paintColors[Math.min(Math.max(row * numPaletteCols + col, 0), paintColors.length - 1)];
-			}
-		});
-		Listener refreshListener = new Listener() {
-			public void handleEvent(Event e) {
-				if (e.gc == null) return;
-				Rectangle bounds = paletteCanvas.getClientArea();
-				for (int row = 0; row < numPaletteRows; ++row) {
-					for (int col = 0; col < numPaletteCols; ++col) {
-						final int x = bounds.width * col / numPaletteCols;
-						final int y = bounds.height * row / numPaletteRows;
-						final int width = Math.max(bounds.width * (col + 1) / numPaletteCols - x, 1);
-						final int height = Math.max(bounds.height * (row + 1) / numPaletteRows - y, 1);
-						e.gc.setBackground(paintColors[row * numPaletteCols + col]);
-						e.gc.fillRectangle(bounds.x + x, bounds.y + y, width, height);
-					}
-				}
-			}
-		};
-		paletteCanvas.addListener(SWT.Resize, refreshListener);
-		paletteCanvas.addListener(SWT.Paint, refreshListener);
-		//paletteCanvas.redraw();
-		
-		// toolSettingsFrame
-		gridLayout = new GridLayout();
-		gridLayout.numColumns = 4;
-		gridLayout.marginHeight = 0;
-		gridLayout.marginWidth = 0;
-		toolSettingsFrame.setLayout(gridLayout);
-
-		Label label = new Label(toolSettingsFrame, SWT.NONE);
-		label.setText(getResourceString("settings.AirbrushRadius.text"));
-
-		final Scale airbrushRadiusScale = new Scale(toolSettingsFrame, SWT.HORIZONTAL);
-		airbrushRadiusScale.setMinimum(5);
-		airbrushRadiusScale.setMaximum(50);
-		airbrushRadiusScale.setSelection(toolSettings.airbrushRadius);
-		airbrushRadiusScale.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL));
-		airbrushRadiusScale.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				toolSettings.airbrushRadius = airbrushRadiusScale.getSelection();
-				updateToolSettings();
-			}
-		});
-
-		label = new Label(toolSettingsFrame, SWT.NONE);
-		label.setText(getResourceString("settings.AirbrushIntensity.text"));
-
-		final Scale airbrushIntensityScale = new Scale(toolSettingsFrame, SWT.HORIZONTAL);
-		airbrushIntensityScale.setMinimum(1);
-		airbrushIntensityScale.setMaximum(100);
-		airbrushIntensityScale.setSelection(toolSettings.airbrushIntensity);
-		airbrushIntensityScale.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL));
-		airbrushIntensityScale.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				toolSettings.airbrushIntensity = airbrushIntensityScale.getSelection();
-				updateToolSettings();
-			}
-		});
-	}
-		
-	/**
-	 * Disposes of all resources associated with a particular
-	 * instance of the PaintExample.
-	 */	
-	public void dispose() {
-		if (paintSurface != null) paintSurface.dispose();		
-		if (paintColors != null) {
-			for (int i = 0; i < paintColors.length; ++i) {
-				final Color color = paintColors[i];
-				if (color != null) color.dispose();
-			}
-		}
-		paintDefaultFont = null;
-		paintColors = null;
-		paintSurface = null;
-		freeResources();
-	}
-
-	/**
-	 * Frees the resource bundle resources.
-	 */
-	public void freeResources() {
-		for (int i = 0; i < tools.length; ++i) {
-			Tool tool = tools[i];
-			final Image image = tool.image;
-			if (image != null) image.dispose();
-			tool.image = null;
-		}
-	}
-	
-	/**
-	 * Returns the Display.
-	 * 
-	 * @return the display we're using
-	 */
-	public Display getDisplay() {
-		return mainComposite.getDisplay();
-	}
-	
-	/**
-	 * Gets a string from the resource bundle.
-	 * We don't want to crash because of a missing String.
-	 * Returns the key if not found.
-	 */
-	public static String getResourceString(String key) {
-		try {
-			return resourceBundle.getString(key);
-		} catch (MissingResourceException e) {
-			return key;
-		} catch (NullPointerException e) {
-			return "!" + key + "!";
-		}			
-	}
-
-	/**
-	 * Gets a string from the resource bundle and binds it
-	 * with the given arguments. If the key is not found,
-	 * return the key.
-	 */
-	public static String getResourceString(String key, Object[] args) {
-		try {
-			return MessageFormat.format(getResourceString(key), args);
-		} catch (MissingResourceException e) {
-			return key;
-		} catch (NullPointerException e) {
-			return "!" + key + "!";
-		}
-	}
-
-	/**
-	 * Initialize colors, fonts, and tool settings.
-	 */
-	private void init() {
-		Display display = mainComposite.getDisplay();
-		
-		paintColorWhite = new Color(display, 255, 255, 255);
-		paintColorBlack = new Color(display, 0, 0, 0);
-		
-		paintDefaultFont = display.getSystemFont();
-
-		paintColors = new Color[numPaletteCols * numPaletteRows];
-		paintColors[0] = paintColorBlack;
-		paintColors[1] = paintColorWhite;
-		for (int i = 2; i < paintColors.length; i++) {
-			paintColors[i] = new Color(display,
-				((i*7)%255),((i*23)%255), ((i*51)%255));
-		}
-
-		toolSettings = new ToolSettings();
-		toolSettings.commonForegroundColor = paintColorBlack;
-		toolSettings.commonBackgroundColor = paintColorWhite;
-		toolSettings.commonFont = paintDefaultFont;
-	}
-
-	/**
-	 * Sets the action field of the tools
-	 */
-	private void initActions() {
-		for (int i = 0; i < tools.length; ++i) {
-			final Tool tool = tools[i];
-			String group = tool.group;
-			if (group.equals("tool")) {
-				tool.action = new Runnable() {
-					public void run() {
-						setPaintTool(tool.id);
-					}
-				};
-			} else if (group.equals("fill")) {
-				tool.action = new Runnable() {
-					public void run() {
-						setFillType(tool.id);
-					}
-				};
-			} else if (group.equals("linestyle")) {
-				tool.action = new Runnable() {
-					public void run() {
-						setLineStyle(tool.id);
-					}
-				};
-			} else if (group.equals("options")) {
-				tool.action = new Runnable() {
-					public void run() {
-						FontDialog fontDialog = new FontDialog(paintSurface.getShell(), SWT.PRIMARY_MODAL);
-						FontData[] fontDatum = toolSettings.commonFont.getFontData();
-						if (fontDatum != null && fontDatum.length > 0) {
-							fontDialog.setFontList(fontDatum);
-						}
-						fontDialog.setText(getResourceString("options.Font.dialog.title"));
-
-						paintSurface.hideRubberband();
-						FontData fontData = fontDialog.open();
-						paintSurface.showRubberband();
-						if (fontData != null) {
-							try {
-								Font font = new Font(mainComposite.getDisplay(), fontData);
-								toolSettings.commonFont = font;
-								updateToolSettings();
-							} catch (SWTException ex) {
-							}
-						}
-					}
-				};
-			}
-		}
-	}
-
-	/**
-	 * Loads the image resources.
-	 */
-	public void initResources() {
-		final Class clazz = PaintExample.class;
-		if (resourceBundle != null) {
-			try {
-				for (int i = 0; i < tools.length; ++i) {
-					Tool tool = tools[i];
-					String id = tool.group + '.' + tool.name;
-					InputStream sourceStream = clazz.getResourceAsStream(getResourceString(id + ".image"));
-					ImageData source = new ImageData(sourceStream);
-					ImageData mask = source.getTransparencyMask();
-					tool.image = new Image(null, source, mask);
-					try {
-						sourceStream.close();
-					} catch (IOException e) {
-						e.printStackTrace();
-					}
-				}
-				return;
-			} catch (Throwable t) {
-			}
-		}
-		String error = (resourceBundle != null) ?
-			getResourceString("error.CouldNotLoadResources") :
-			"Unable to load resources";
-		freeResources();
-		throw new RuntimeException(error);
-	}
-
-	/**
-	 * Grabs input focus.
-	 */
-	public void setFocus() {
-		mainComposite.setFocus();
-	}
-	
-	/**
-	 * Sets the tool foreground color.
-	 * 
-	 * @param color the new color to use
-	 */
-	public void setForegroundColor(Color color) {
-		if (activeForegroundColorCanvas != null)
-			activeForegroundColorCanvas.setBackground(color);
-		toolSettings.commonForegroundColor = color;
-		updateToolSettings();
-	}
-
-	/**
-	 * Set the tool background color.
-	 * 
-	 * @param color the new color to use
-	 */
-	public void setBackgroundColor(Color color) {
-		if (activeBackgroundColorCanvas != null)
-			activeBackgroundColorCanvas.setBackground(color);
-		toolSettings.commonBackgroundColor = color;
-		updateToolSettings();
-	}
-
-	/**
-	 * Selects a tool given its ID.
-	 */
-	public void setPaintTool(int id) {
-		PaintTool paintTool = (PaintTool) tools[id].data;
-		paintSurface.setPaintSession(paintTool);
-		updateToolSettings();
-	}
-	
-	/**
-	 * Selects a filltype given its ID.
-	 */
-	public void setFillType(int id) {
-		Integer fillType = (Integer) tools[id].data;
-		toolSettings.commonFillType = fillType.intValue();
-		updateToolSettings();		
-	}
-
-	/**
-	 * Selects line type given its ID.
-	 */
-	public void setLineStyle(int id) {
-		Integer lineType = (Integer) tools[id].data;
-		toolSettings.commonLineStyle = lineType.intValue();
-		updateToolSettings();		
-	}
-
-	/**
-	 * Sets the size of the shell to it's "packed" size,
-	 * unless that makes it bigger than the display,
-	 * in which case set it to 9/10 of display size.
-	 */
-	private static void setShellSize (Display display, Shell shell) {
-		Rectangle bounds = display.getBounds();
-		Point size = shell.computeSize (SWT.DEFAULT, SWT.DEFAULT);
-		if (size.x > bounds.width) size.x = bounds.width * 9 / 10;
-		if (size.y > bounds.height) size.y = bounds.height * 9 / 10;
-		shell.setSize (size);
-	}
-
-	/**
-	 * Notifies the tool that its settings have changed.
-	 */
-	private void updateToolSettings() {
-		final PaintTool activePaintTool = paintSurface.getPaintTool();
-		if (activePaintTool == null) return;
-		
-		activePaintTool.endSession();
-		activePaintTool.set(toolSettings);
-		activePaintTool.beginSession();
-	}
-}
-
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/PaintSession.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/PaintSession.java
deleted file mode 100644
index 2fa86f5..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/PaintSession.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.swt.examples.paint;
-
-
-import org.eclipse.swt.events.*;
-
-/**
- * Manages an interactive paint session.
- * Note that the coordinates received via the listener interfaces are virtualized to zero-origin
- * relative to the painting surface.
- */ 
-public interface PaintSession extends MouseListener, MouseMoveListener {
-	/**
-	 * Returns the paint surface associated with this paint session
-	 * 
-	 * @return the associated PaintSurface
-	 */
-	public PaintSurface getPaintSurface();
-
-	/**
-	 * Activates the session.
-	 * 
-	 * Note: When overriding this method, call super.beginSession() at method start.
-	 */
-	public abstract void beginSession();
-	
-	/**
-	 * Deactivates the session.
-     *
-	 * Note: When overriding this method, call super.endSession() at method exit.
-     */
-	public abstract void endSession();
-	
-	/**
-	 * Resets the session.
-	 * Aborts any operation in progress.
-	 * 
-	 * Note: When overriding this method, call super.resetSession() at method exit.
-	 */
-	public abstract void resetSession();
-	
-	
-	/**
-	 * Returns the name associated with this tool.
-	 * 
-	 * @return the localized name of this tool
-	 */
-	public String getDisplayName();
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/PaintSurface.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/PaintSurface.java
deleted file mode 100644
index 6866409..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/PaintSurface.java
+++ /dev/null
@@ -1,521 +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.swt.examples.paint;
-
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * Manages a simple drawing surface.
- */
-public class PaintSurface {
-	private Point currentPosition = new Point(0, 0);
-	private Canvas paintCanvas;
-
-	private PaintSession paintSession;
-	private Image image;
-	private Image paintImage; // buffer for refresh blits
-	private int   imageWidth, imageHeight;
-	private int   visibleWidth, visibleHeight;
-
-	private FigureDrawContext displayFDC = new FigureDrawContext();
-	private FigureDrawContext imageFDC = new FigureDrawContext();
-	private FigureDrawContext paintFDC = new FigureDrawContext();
-
-	/* Rubberband */
-	private ContainerFigure rubberband = new ContainerFigure();
-		// the active rubberband selection
-	private int rubberbandHiddenNestingCount = 0;
-		// always >= 0, if > 0 rubberband has been hidden
-
-	/* Status */
-	private Text statusText;
-	private String statusActionInfo, statusMessageInfo, statusCoordInfo;
-
-	/**
-	 * Constructs a PaintSurface.
-	 * <p>
-	 * paintCanvas must have SWT.NO_REDRAW_RESIZE and SWT.NO_BACKGROUND styles,
-	 *     and may have SWT.V_SCROLL and/or SWT.H_SCROLL.
-	 * </p>
-	 * @param paintCanvas the Canvas object in which to render
-	 * @param paintStatus the PaintStatus object to use for providing user feedback
-	 * @param fillColor the color to fill the canvas with initially
-	 */
-	public PaintSurface(Canvas paintCanvas, Text statusText, Color fillColor) {
-		this.paintCanvas = paintCanvas;
-		this.statusText = statusText;
-		clearStatus();
-
-		/* Set up the drawing surface */
-		Rectangle displayRect = paintCanvas.getDisplay().getClientArea();
-		imageWidth = displayRect.width;
-		imageHeight = displayRect.height;
-		image = new Image(paintCanvas.getDisplay(), imageWidth, imageHeight);
-
-		imageFDC.gc = new GC(image);
-		imageFDC.gc.setBackground(fillColor);
-		imageFDC.gc.fillRectangle(0, 0, imageWidth, imageHeight);
-		displayFDC.gc = new GC(paintCanvas);
-
-		/* Initialize the session */
-		setPaintSession(null);
-
-		/* Add our listeners */
-		paintCanvas.addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent e) {
-				displayFDC.gc.dispose();
-			}			
-		});
-		paintCanvas.addMouseListener(new MouseAdapter() {
-			public void mouseDown(MouseEvent event) {
-				processMouseEventCoordinates(event);
-				if (paintSession != null) paintSession.mouseDown(event);
-			}
-			public void mouseUp(MouseEvent event) {
-				processMouseEventCoordinates(event);
-				if (paintSession != null) paintSession.mouseUp(event);
-			}
-			public void mouseDoubleClick(MouseEvent event) {
-				processMouseEventCoordinates(event);
-				if (paintSession != null) paintSession.mouseDoubleClick(event);
-			}			
-		});
-		paintCanvas.addMouseMoveListener(new MouseMoveListener() {
-			public void mouseMove(MouseEvent event) {
-				processMouseEventCoordinates(event);
-				if (paintSession != null) paintSession.mouseMove(event);
-			}
-		});
-		paintCanvas.addPaintListener(new PaintListener() {
-			public void paintControl(PaintEvent event) {
-				if (rubberband.isEmpty()) {
-					// Nothing to merge, so we just refresh
-					event.gc.drawImage(image,
-						displayFDC.xOffset + event.x, displayFDC.yOffset + event.y, event.width, event.height,
-						event.x, event.y, event.width, event.height);
-				} else {
-					/*
-					 * Avoid flicker when merging overlayed objects by constructing the image on
-					 * a backbuffer first, then blitting it to the screen.
-					 */
-					// Check that the backbuffer is large enough
-					if (paintImage != null) {
-						Rectangle rect = paintImage.getBounds();
-						if ((event.width + event.x > rect.width) ||
-							(event.height + event.y > rect.height)) {
-							paintFDC.gc.dispose();
-							paintImage.dispose();
-							paintImage = null;
-						}
-					}
-					if (paintImage == null) {
-						Display display = getDisplay();
-						Rectangle rect = display.getClientArea();
-						paintImage = new Image(display,
-							Math.max(rect.width, event.width + event.x),
-							Math.max(rect.height, event.height + event.y));
-						paintFDC.gc = new GC(paintImage);
-					}
-					// Setup clipping and the FDC
-					Region clipRegion = new Region();
-					event.gc.getClipping(clipRegion);					
-					paintFDC.gc.setClipping(clipRegion);
-					clipRegion.dispose();
-
-					paintFDC.xOffset = displayFDC.xOffset;
-					paintFDC.yOffset = displayFDC.yOffset;
-					paintFDC.xScale = displayFDC.xScale;
-					paintFDC.yScale = displayFDC.yScale;
-					
-					// Merge the overlayed objects into the image, then blit
-					paintFDC.gc.drawImage(image,
-						displayFDC.xOffset + event.x, displayFDC.yOffset + event.y, event.width, event.height,
-						event.x, event.y, event.width, event.height);
-					rubberband.draw(paintFDC);
-					event.gc.drawImage(paintImage,
-						event.x, event.y, event.width, event.height,
-						event.x, event.y, event.width, event.height);
-				}
-			}
-		});
-		paintCanvas.addControlListener(new ControlAdapter() {
-			public void controlResized(ControlEvent event) {
-				handleResize();
-			}			
-		});
-
-		/* Set up the paint canvas scroll bars */
-		ScrollBar horizontal = paintCanvas.getHorizontalBar();
-		horizontal.setVisible(true);
-		horizontal.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				scrollHorizontally((ScrollBar)event.widget);
-			}
-		});
-		ScrollBar vertical = paintCanvas.getVerticalBar();
-		vertical.setVisible(true);
-		vertical.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				scrollVertically((ScrollBar)event.widget);
-			}
-		});
-		handleResize();
-	}
-	
-	/**
-	 * Disposes of the PaintSurface's resources.
-	 */
-	public void dispose() {
-		imageFDC.gc.dispose();
-		image.dispose();
-		if (paintImage != null) {
-			paintImage.dispose();
-			paintFDC.gc.dispose();
-		}
-
-		currentPosition = null;
-		paintCanvas = null;
-		paintSession = null;
-		image = null;
-		paintImage = null;
-		displayFDC = null;
-		imageFDC = null;
-		paintFDC = null;
-		rubberband = null;
-		statusText = null;
-		statusActionInfo = null;
-		statusMessageInfo = null;
-		statusCoordInfo = null;
-	}
-
-	/**
-	 * Called when we must grab focus.
-	 */
-	public void setFocus()  {
-		paintCanvas.setFocus();
-	}
-
-	/**
-	 * Returns the Display on which the PaintSurface resides.
-	 * @return the Display
-	 */
-	public Display getDisplay() {
-		return paintCanvas.getDisplay();
-	}
-
-	/**
-	 * Returns the Shell in which the PaintSurface resides.
-	 * @return the Shell
-	 */
-	public Shell getShell() {
-		return paintCanvas.getShell();
-	}
-
-	/**
-	 * Sets the current paint session.
-	 * <p>
-	 * If oldPaintSession != paintSession calls oldPaintSession.end()
-	 * and paintSession.begin()
-	 * </p>
-	 * 
-	 * @param paintSession the paint session to activate; null to disable all sessions
-	 */
-	public void setPaintSession(PaintSession paintSession) {
-		if (this.paintSession != null) {
-			if (this.paintSession == paintSession) return;
-			this.paintSession.endSession();
-		}
-		this.paintSession = paintSession;
-		clearStatus();
-		if (paintSession != null) {
-			setStatusAction(paintSession.getDisplayName());
-			paintSession.beginSession();
-		} else {
-			setStatusAction(PaintExample.getResourceString("tool.Null.label"));
-			setStatusMessage(PaintExample.getResourceString("session.Null.message"));
-		}
-	}
-
-	/**
-	 * Returns the current paint session.
-	 * 
-	 * @return the current paint session, null if none is active
-	 */
-	public PaintSession getPaintSession() {
-		return paintSession;
-	}
-
-	/**
-	 * Returns the current paint tool.
-	 * 
-	 * @return the current paint tool, null if none is active (though some other session
-	 *         might be)
-	 */
-	public PaintTool getPaintTool() {
-		return (paintSession != null && paintSession instanceof PaintTool) ?
-			(PaintTool)paintSession : null;
-	}
-
-	/**
-	 * Returns the current position in an interactive operation.
-	 *
-	 * @return the last known position of the pointer
-	 */
-	public Point getCurrentPosition() {
-		return currentPosition;
-	}
-
-	/**
-	 * Draws a Figure object to the screen and to the backing store permanently.
-	 * 
-	 * @param object the object to draw onscreen
-	 */
-	public void drawFigure(Figure object) {
-		object.draw(imageFDC);
-		object.draw(displayFDC);
-	}
-
-	/**
-	 * Adds a Figure object to the active rubberband selection.
-	 * <p>
-	 * This object will be drawn to the screen as a preview and refreshed appropriately
-	 * until the selection is either cleared or committed.
-	 * </p>
-	 * 
-	 * @param object the object to add to the selection
-	 */
-	public void addRubberbandSelection(Figure object) {
-		rubberband.add(object);
-		if (! isRubberbandHidden()) object.draw(displayFDC);
-	}
-
-	/**
-	 * Clears the active rubberband selection.
-	 * <p>
-	 * Erases any rubberband objects on the screen then clears the selection.
-	 * </p>
-	 */
-	public void clearRubberbandSelection() {
-		if (! isRubberbandHidden()) {
-			Region region = new Region();
-			rubberband.addDamagedRegion(displayFDC, region);
-			Rectangle r = region.getBounds();
-			paintCanvas.redraw(r.x, r.y, r.width, r.height, true);
-			region.dispose();
-		}
-		rubberband.clear();
-
-	}
-
-	/**
-	 * Commits the active rubberband selection.
-	 * <p>
-	 * Redraws any rubberband objects on the screen as permanent objects then clears the selection.
-	 * </p>
-	 */
-	public void commitRubberbandSelection() {
-		rubberband.draw(imageFDC);
-		if (isRubberbandHidden()) rubberband.draw(displayFDC);
-		rubberband.clear();
-	}
-	
-	/**
-	 * Hides the rubberband (but does not eliminate it).
-	 * <p>
-	 * Increments by one the rubberband "hide" nesting count.  The rubberband
-	 * is hidden from view (but remains active) if it wasn't already hidden.
-	 * </p>
-	 */
-	public void hideRubberband() {
-		if (rubberbandHiddenNestingCount++ <= 0) {
-			Region region = new Region();
-			rubberband.addDamagedRegion(displayFDC, region);
-			Rectangle r = region.getBounds();
-			paintCanvas.redraw(r.x, r.y, r.width, r.height, true);
-			region.dispose();
-		}
-	}		
-
-	/**
-	 * Shows (un-hides) the rubberband.
-	 * <p>
-	 * Decrements by one the rubberband "hide" nesting count.  The rubberband
-	 * is only made visible when showRubberband() has been called once for each
-	 * previous hideRubberband().  It is not permitted to call showRubberband() if
-	 * the rubber band is not presently hidden.
-	 * </p>
-	 */
-	public void showRubberband() {
-		if (rubberbandHiddenNestingCount <= 0)
-			throw new IllegalStateException("rubberbandHiddenNestingCount > 0");
-		if (--rubberbandHiddenNestingCount == 0) {
-			rubberband.draw(displayFDC);
-		}
-	}
-	
-	/**
-	 * Determines if the rubberband is hidden.
-	 * 
-	 * @return true iff the rubber is hidden
-	 */
-	public boolean isRubberbandHidden() {
-		return rubberbandHiddenNestingCount > 0;
-	}
-
-	/**
-	 * Handles a horizontal scroll event
-	 * 
-	 * @param scrollbar the horizontal scroll bar that posted this event
-	 */
-	public void scrollHorizontally(ScrollBar scrollBar) {
-		if (image == null) return;
-		if (imageWidth > visibleWidth) {
-			final int oldOffset = displayFDC.xOffset;
-			final int newOffset = Math.min(scrollBar.getSelection(), imageWidth - visibleWidth);
-			if (oldOffset != newOffset) {
-				paintCanvas.update();
-				displayFDC.xOffset = newOffset;
-				paintCanvas.scroll(Math.max(oldOffset - newOffset, 0), 0, Math.max(newOffset - oldOffset, 0), 0,
-					visibleWidth, visibleHeight, false);
-			}
-		}
-	}
-
-	/**
-	 * Handles a vertical scroll event
-	 * 
-	 * @param scrollbar the vertical scroll bar that posted this event
-	 */
-	public void scrollVertically(ScrollBar scrollBar) {
-		if (image == null) return;
-		if (imageHeight > visibleHeight) {
-			final int oldOffset = displayFDC.yOffset;
-			final int newOffset = Math.min(scrollBar.getSelection(), imageHeight - visibleHeight);
-			if (oldOffset != newOffset) {
-				paintCanvas.update();
-				displayFDC.yOffset = newOffset;
-				paintCanvas.scroll(0, Math.max(oldOffset - newOffset, 0), 0, Math.max(newOffset - oldOffset, 0),
-					visibleWidth, visibleHeight, false);
-			}
-		}
-	}
-	
-	/**
-	 * Handles resize events
-	 */
-	private void handleResize() {
-		paintCanvas.update();
-
-		Rectangle visibleRect = paintCanvas.getClientArea();
-		visibleWidth = visibleRect.width;
-		visibleHeight = visibleRect.height;
-
-		ScrollBar horizontal = paintCanvas.getHorizontalBar();
-		if (horizontal != null) {
-			displayFDC.xOffset = Math.min(horizontal.getSelection(), imageWidth - visibleWidth);
-			if (imageWidth <= visibleWidth) {
-				horizontal.setEnabled(false);
-				horizontal.setSelection(0);
-			} else {
-				horizontal.setEnabled(true);
-				horizontal.setValues(displayFDC.xOffset, 0, imageWidth, visibleWidth,
-					8, visibleWidth);
-			}
-		}
-
-		ScrollBar vertical = paintCanvas.getVerticalBar();
-		if (vertical != null) {
-			displayFDC.yOffset = Math.min(vertical.getSelection(), imageHeight - visibleHeight);
-			if (imageHeight <= visibleHeight) {
-				vertical.setEnabled(false);
-				vertical.setSelection(0);
-			} else {
-				vertical.setEnabled(true);
-				vertical.setValues(displayFDC.yOffset, 0, imageHeight, visibleHeight,
-					8, visibleHeight);
-			}
-		}
-	}
-
-	/**
-	 * Virtualizes MouseEvent coordinates and stores the current position.
-	 */
-	private void processMouseEventCoordinates(MouseEvent event) {
-		currentPosition.x = event.x =
-			Math.min(Math.max(event.x, 0), visibleWidth - 1) + displayFDC.xOffset;
-		currentPosition.y = event.y =
-			Math.min(Math.max(event.y, 0), visibleHeight - 1) + displayFDC.yOffset;
-	}
-	
-	/**
-	 * Clears the status bar.
-	 */
-	public void clearStatus() {
-		statusActionInfo = "";
-		statusMessageInfo = "";
-		statusCoordInfo = "";
-		updateStatus();
-	}
-
-	/**
-	 * Sets the status bar action text.
-	 *
-	 * @param action the action in progress, null to clear
-	 */
-	public void setStatusAction(String action) {
-		statusActionInfo = (action != null) ? action : "";
-		updateStatus();
-	}
-	
-	/**
-	 * Sets the status bar message text.
-	 * 
-	 * @param message the message to display, null to clear
-	 */
-	public void setStatusMessage(String message) {
-		statusMessageInfo = (message != null) ? message : "";
-		updateStatus();
-	}
-
-	/**
-	 * Sets the coordinates in the status bar.
-	 * 
-	 * @param coord the coordinates to display, null to clear
-	 */
-	public void setStatusCoord(Point coord) {
-		statusCoordInfo = (coord != null) ? PaintExample.getResourceString("status.Coord.format", new Object[]
-			{ new Integer(coord.x), new Integer(coord.y)}) : "";
-		updateStatus();
-	}
-
-	/**
-	 * Sets the coordinate range in the status bar.
-	 * 
-	 * @param a the "from" coordinate, must not be null
-	 * @param b the "to" coordinate, must not be null
-	 */
-	public void setStatusCoordRange(Point a, Point b) {
-		statusCoordInfo = PaintExample.getResourceString("status.CoordRange.format", new Object[]
-			{ new Integer(a.x), new Integer(a.y), new Integer(b.x), new Integer(b.y)});
-		updateStatus();
-	}
-
-	/**
-	 * Updates the display.
-	 */
-	private void updateStatus() {
-		statusText.setText(
-			PaintExample.getResourceString("status.Bar.format", new Object[]
-			{ statusActionInfo, statusMessageInfo, statusCoordInfo }));
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/PaintTool.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/PaintTool.java
deleted file mode 100644
index ad5614e..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/PaintTool.java
+++ /dev/null
@@ -1,20 +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.swt.examples.paint;
-
-public interface PaintTool extends PaintSession {
-	/**
-	 * Sets the tool's settings.
-	 * 
-	 * @param toolSettings the new tool settings
-	 */
-	public void set(ToolSettings toolSettings);
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/PencilTool.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/PencilTool.java
deleted file mode 100644
index 167e503..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/PencilTool.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.swt.examples.paint;
-
-
-import org.eclipse.swt.graphics.*;
-
-/**
- * A pencil tool.
- */
-public class PencilTool extends ContinuousPaintSession implements PaintTool {
-	private ToolSettings settings;
-	
-	/**
-	 * Constructs a pencil tool.
-	 * 
-	 * @param toolSettings the new tool settings
-	 * @param getPaintSurface() the PaintSurface we will render on.
-	 */
-	public PencilTool(ToolSettings toolSettings, PaintSurface paintSurface) {
-		super(paintSurface);
-		set(toolSettings);
-	}
-	
-	/**
-	 * Sets the tool's settings.
-	 * 
-	 * @param toolSettings the new tool settings
-	 */
-	public void set(ToolSettings toolSettings) {
-		settings = toolSettings;
-	}
-
-	/**
-	 * Returns the name associated with this tool.
-	 * 
-	 * @return the localized name of this tool
-	 */
-	public String getDisplayName() {
-		return PaintExample.getResourceString("tool.Pencil.label");
-	}
-
-	/*
-	 * Template method for drawing
-	 */
-	public void render(final Point point) {
-		final PaintSurface ps = getPaintSurface();
-		ps.drawFigure(new PointFigure(settings.commonForegroundColor, point.x, point.y));
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/PointFigure.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/PointFigure.java
deleted file mode 100644
index d528317..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/PointFigure.java
+++ /dev/null
@@ -1,40 +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.swt.examples.paint;
-
-
-import org.eclipse.swt.graphics.*;
-
-/**
- * 2D Point object
- */
-public class PointFigure extends Figure {
-	private Color color;
-	private int x, y;
-	/**
-	 * Constructs a Point
-	 * 
-	 * @param color the color for this object
-	 * @param x the virtual X coordinate of the first end-point
-	 * @param y the virtual Y coordinate of the first end-point
-	 */
-	public PointFigure(Color color, int x, int y) {
-		this.color = color; this.x = x; this.y = y;
-	}
-	public void draw(FigureDrawContext fdc) {
-		Point p = fdc.toClientPoint(x, y);
-		fdc.gc.setBackground(color);
-		fdc.gc.fillRectangle(p.x, p.y, 1, 1);
-	}
-	public void addDamagedRegion(FigureDrawContext fdc, Region region) {
-		region.add(fdc.toClientRectangle(x, y, x, y));
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/PolyLineTool.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/PolyLineTool.java
deleted file mode 100644
index 2498155..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/PolyLineTool.java
+++ /dev/null
@@ -1,75 +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.swt.examples.paint;
-
-
-import org.eclipse.swt.graphics.*;
-
-/**
- * A polyline drawing tool.
- */
-public class PolyLineTool extends SegmentedPaintSession implements PaintTool {
-	private ToolSettings settings;
-
-	/**
-	 * Constructs a PolyLineTool.
-	 * 
-	 * @param toolSettings the new tool settings
-	 * @param paintSurface the PaintSurface we will render on.
-	 */
-	public PolyLineTool(ToolSettings toolSettings, PaintSurface paintSurface) {
-		super(paintSurface);
-		set(toolSettings);
-	}
-	
-	/**
-	 * Sets the tool's settings.
-	 * 
-	 * @param toolSettings the new tool settings
-	 */
-	public void set(ToolSettings toolSettings) {
-		settings = toolSettings;
-	}
-
-	/**
-	 * Returns the name associated with this tool.
-	 * 
-	 * @return the localized name of this tool
-	 */
-	public String getDisplayName() {
-		return PaintExample.getResourceString("tool.PolyLine.label");
-	}
-
-	/*
-	 * Template methods for drawing
-	 */
-	protected Figure createFigure(Point[] points, int numPoints, boolean closed) {
-		ContainerFigure container = new ContainerFigure();
-		if (closed && settings.commonFillType != ToolSettings.ftNone && numPoints >= 3) {
-			container.add(new SolidPolygonFigure(settings.commonBackgroundColor, points, numPoints));
-		}
-		if (! closed || settings.commonFillType != ToolSettings.ftSolid || numPoints < 3) {
-			for (int i = 0; i < numPoints - 1; ++i) {
-				final Point a = points[i];
-				final Point b = points[i + 1];
-				container.add(new LineFigure(settings.commonForegroundColor, settings.commonBackgroundColor, settings.commonLineStyle,
-					a.x, a.y, b.x, b.y));
-			}
-			if (closed) {
-				final Point a = points[points.length - 1];
-				final Point b = points[0];
-				container.add(new LineFigure(settings.commonForegroundColor, settings.commonBackgroundColor, settings.commonLineStyle,
-					a.x, a.y, b.x, b.y));
-			}
-		}
-		return container;
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/RectangleFigure.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/RectangleFigure.java
deleted file mode 100644
index 1d80e60..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/RectangleFigure.java
+++ /dev/null
@@ -1,51 +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.swt.examples.paint;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-
-/**
- * 2D Rectangle object
- */
-public class RectangleFigure extends Figure {
-	private Color foregroundColor, backgroundColor;
-	private int lineStyle, x1, y1, x2, y2;
-	/**
-	 * Constructs a Rectangle
-	 * These objects are defined by any two diametrically opposing corners.
-	 * 
-	 * @param color the color for this object
-	 * @param lineStyle the line style for this object
-	 * @param x1 the virtual X coordinate of the first corner
-	 * @param y1 the virtual Y coordinate of the first corner
-	 * @param x2 the virtual X coordinate of the second corner
-	 * @param y2 the virtual Y coordinate of the second corner
-	 */
-	public RectangleFigure(Color foregroundColor, Color backgroundColor, int lineStyle, int x1, int y1, int x2, int y2) {
-		this.foregroundColor = foregroundColor;
-		this.backgroundColor = backgroundColor;
-		this.lineStyle = lineStyle;
-		this.x1 = x1; this.y1 = y1; this.x2 = x2; this.y2 = y2;
-	}
-	public void draw(FigureDrawContext fdc) {
-		Rectangle r = fdc.toClientRectangle(x1, y1, x2, y2);
-		fdc.gc.setForeground(foregroundColor);
-		fdc.gc.setBackground(backgroundColor);
-		fdc.gc.setLineStyle(lineStyle);
-		fdc.gc.drawRectangle(r.x, r.y, r.width - 1, r.height - 1);
-		fdc.gc.setLineStyle(SWT.LINE_SOLID);
-	}
-	public void addDamagedRegion(FigureDrawContext fdc, Region region) {
-		region.add(fdc.toClientRectangle(x1, y1, x2, y2));
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/RectangleTool.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/RectangleTool.java
deleted file mode 100644
index 0473bbd..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/RectangleTool.java
+++ /dev/null
@@ -1,71 +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.swt.examples.paint;
-
-
-import org.eclipse.swt.graphics.*;
-
-/**
- * A drawing tool.
- */
-public class RectangleTool extends DragPaintSession implements PaintTool {
-	private ToolSettings settings;
-
-	/**
-	 * Constructs a RectangleTool.
-	 * 
-	 * @param toolSettings the new tool settings
-	 * @param paintSurface the PaintSurface we will render on.
-	 */
-	public RectangleTool(ToolSettings toolSettings, PaintSurface paintSurface) {
-		super(paintSurface);
-		set(toolSettings);
-	}
-	
-	/**
-	 * Sets the tool's settings.
-	 * 
-	 * @param toolSettings the new tool settings
-	 */
-	public void set(ToolSettings toolSettings) {
-		settings = toolSettings;
-	}
-	
-	/**
-	 * Returns name associated with this tool.
-	 * 
-	 * @return the localized name of this tool
-	 */
-	public String getDisplayName() {
-		return PaintExample.getResourceString("tool.Rectangle.label");
-	}
-
-	/*
-	 * Template method for drawing
-	 */
-	protected Figure createFigure(Point a, Point b) {
-		switch (settings.commonFillType) {
-			default:
-			case ToolSettings.ftNone:
-				return new RectangleFigure(settings.commonForegroundColor, settings.commonBackgroundColor, settings.commonLineStyle,
-					a.x, a.y, b.x, b.y);
-			case ToolSettings.ftSolid:
-				return new SolidRectangleFigure(settings.commonBackgroundColor, a.x, a.y, b.x, b.y);
-			case ToolSettings.ftOutline: {
-				ContainerFigure container = new ContainerFigure();
-				container.add(new SolidRectangleFigure(settings.commonBackgroundColor, a.x, a.y, b.x, b.y));
-				container.add(new RectangleFigure(settings.commonForegroundColor, settings.commonBackgroundColor, settings.commonLineStyle,
-					a.x, a.y, b.x, b.y));
-				return container;
-			}
-		}
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/RoundedRectangleFigure.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/RoundedRectangleFigure.java
deleted file mode 100644
index 4c71d67..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/RoundedRectangleFigure.java
+++ /dev/null
@@ -1,53 +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.swt.examples.paint;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-
-/**
- * 2D Rectangle object
- */
-public class RoundedRectangleFigure extends Figure {
-	private Color foregroundColor, backgroundColor;
-	private int lineStyle, x1, y1, x2, y2, diameter;
-	/**
-	 * Constructs a Rectangle
-	 * These objects are defined by any two diametrically opposing corners.
-	 * 
-	 * @param color the color for this object
-	 * @param lineStyle the line style for this object
-	 * @param x1 the virtual X coordinate of the first corner
-	 * @param y1 the virtual Y coordinate of the first corner
-	 * @param x2 the virtual X coordinate of the second corner
-	 * @param y2 the virtual Y coordinate of the second corner
-	 * @param diameter the diameter of curvature of all four corners
-	 */
-	public RoundedRectangleFigure(Color foregroundColor, Color backgroundColor, int lineStyle, int x1, int y1, int x2, int y2, int diameter) {
-		this.foregroundColor = foregroundColor;
-		this.backgroundColor = backgroundColor;
-		this.lineStyle = lineStyle;
-		this.x1 = x1; this.y1 = y1; this.x2 = x2; this.y2 = y2;
-		this.diameter = diameter;
-	}
-	public void draw(FigureDrawContext fdc) {
-		Rectangle r = fdc.toClientRectangle(x1, y1, x2, y2);
-		fdc.gc.setForeground(foregroundColor);
-		fdc.gc.setBackground(backgroundColor);
-		fdc.gc.setLineStyle(lineStyle);
-		fdc.gc.drawRoundRectangle(r.x, r.y, r.width - 1, r.height - 1, diameter, diameter);
-		fdc.gc.setLineStyle(SWT.LINE_SOLID);
-	}
-	public void addDamagedRegion(FigureDrawContext fdc, Region region) {
-		region.add(fdc.toClientRectangle(x1, y1, x2, y2));
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/RoundedRectangleTool.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/RoundedRectangleTool.java
deleted file mode 100644
index 3b5c064..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/RoundedRectangleTool.java
+++ /dev/null
@@ -1,64 +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.swt.examples.paint;
-
-
-import org.eclipse.swt.graphics.*;
-
-/**
- * A drawing tool.
- */
-public class RoundedRectangleTool extends DragPaintSession implements PaintTool {
-	private ToolSettings settings;
-
-	/**
-	 * Constructs a RoundedRectangleTool.
-	 * 
-	 * @param toolSettings the new tool settings
-	 * @param paintSurface the PaintSurface we will render on.
-	 */
-	public RoundedRectangleTool(ToolSettings toolSettings, PaintSurface paintSurface) {
-		super(paintSurface);
-		set(toolSettings);
-	}
-	
-	/**
-	 * Sets the tool's settings.
-	 * 
-	 * @param toolSettings the new tool settings
-	 */
-	public void set(ToolSettings toolSettings) {
-		settings = toolSettings;
-	}
-	
-	/**
-	 * Returns name associated with this tool.
-	 * 
-	 * @return the localized name of this tool
-	 */
-	public String getDisplayName() {
-		return PaintExample.getResourceString("tool.RoundedRectangle.label");
-	}
-
-	/*
-	 * Template methods for drawing
-	 */
-	protected Figure createFigure(Point a, Point b) {
-		ContainerFigure container = new ContainerFigure();
-		if (settings.commonFillType != ToolSettings.ftNone)
-			container.add(new SolidRoundedRectangleFigure(settings.commonBackgroundColor,
-				a.x, a.y, b.x, b.y, settings.roundedRectangleCornerDiameter));
-		if (settings.commonFillType != ToolSettings.ftSolid)
-			container.add(new RoundedRectangleFigure(settings.commonForegroundColor, settings.commonBackgroundColor,
-				settings.commonLineStyle, a.x, a.y, b.x, b.y, settings.roundedRectangleCornerDiameter));
-		return container;
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/SegmentedPaintSession.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/SegmentedPaintSession.java
deleted file mode 100644
index 4ffa99d..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/SegmentedPaintSession.java
+++ /dev/null
@@ -1,157 +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.swt.examples.paint;
-
-
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-
-import java.util.*;
-
-/**
- * The superclass for paint tools that contruct objects from individually
- * picked segments.
- */
-public abstract class SegmentedPaintSession extends BasicPaintSession {
-	/**
-	 * The set of control points making up the segmented selection
-	 */
-	private Vector /* of Point */ controlPoints = new Vector();
-
-	/**
-	 * The previous figure (so that we can abort with right-button)
-	 */
-	private Figure previousFigure = null;
-
-	/**
-	 * The current figure (so that we can abort with right-button)
-	 */
-	private Figure currentFigure = null;
-
-	/**
-	 * Constructs a PaintSession.
-	 * 
-	 * @param paintSurface the drawing surface to use
-	 */
-	protected SegmentedPaintSession(PaintSurface paintSurface) {
-		super(paintSurface);
-	}
-
-	/**
-	 * Activates the tool.
-	 */
-	public void beginSession() {
-		getPaintSurface().setStatusMessage(PaintExample.getResourceString(
-			"session.SegmentedInteractivePaint.message.anchorMode"));
-		previousFigure = null;
-		currentFigure = null;
-		controlPoints.clear();
-	}
-	
-	/**
-	 * Deactivates the tool.
-     */
-	public void endSession() {
-		getPaintSurface().clearRubberbandSelection();
-		if (previousFigure != null) getPaintSurface().drawFigure(previousFigure);
-	}
-	
-	/**
-	 * Resets the tool.
-	 * Aborts any operation in progress.
-	 */
-	public void resetSession() {
-		getPaintSurface().clearRubberbandSelection();
-		if (previousFigure != null) getPaintSurface().drawFigure(previousFigure);
-		
-		getPaintSurface().setStatusMessage(PaintExample.getResourceString(
-			"session.SegmentedInteractivePaint.message.anchorMode"));
-		previousFigure = null;
-		currentFigure = null;
-		controlPoints.clear();
-	}
-
-	/**
-	 * Handles a mouseDown event.
-	 * 
-	 * @param event the mouse event detail information
-	 */
-	public void mouseDown(MouseEvent event) {
-		if (event.button != 1) return;
-
-		getPaintSurface().setStatusMessage(PaintExample.getResourceString(
-			"session.SegmentedInteractivePaint.message.interactiveMode"));
-		previousFigure = currentFigure;
-
-		if (controlPoints.size() > 0) {
-			final Point lastPoint = (Point) controlPoints.elementAt(controlPoints.size() - 1);
-			if (lastPoint.x == event.x || lastPoint.y == event.y) return; // spurious event
-		}
-		controlPoints.add(new Point(event.x, event.y));
-	}
-
-	/**
-	 * Handles a mouseDoubleClick event.
-	 * 
-	 * @param event the mouse event detail information
-	 */
-	public void mouseDoubleClick(MouseEvent event) {
-		if (event.button != 1) return;
-		if (controlPoints.size() >= 2) {
-			getPaintSurface().clearRubberbandSelection();
-			previousFigure = createFigure(
-				(Point[]) controlPoints.toArray(new Point[controlPoints.size()]),
-				controlPoints.size(), true);
-		}
-		resetSession();
-	}
-
-	/**
-	 * Handles a mouseUp event.
-	 * 
-	 * @param event the mouse event detail information
-	 */
-	public void mouseUp(MouseEvent event) {
-		if (event.button != 1) {
-			resetSession(); // abort if right or middle mouse button pressed
-			return;
-		}
-	}
-	
-	/**
-	 * Handles a mouseMove event.
-	 * 
-	 * @param event the mouse event detail information
-	 */
-	public void mouseMove(MouseEvent event) {
-		final PaintSurface ps = getPaintSurface();
-		if (controlPoints.size() == 0) {
-			ps.setStatusCoord(ps.getCurrentPosition());
-			return; // spurious event
-		}
-		ps.setStatusCoordRange((Point) controlPoints.elementAt(controlPoints.size() - 1),
-			ps.getCurrentPosition());
-		ps.clearRubberbandSelection();
-		Point[] points = (Point[]) controlPoints.toArray(new Point[controlPoints.size() + 1]);
-		points[controlPoints.size()] = ps.getCurrentPosition();
-		currentFigure = createFigure(points, points.length, false);
-		ps.addRubberbandSelection(currentFigure);
-	}	
-
-	/**
-	 * Template Method: Creates a Figure for drawing rubberband entities and the final product
-	 * 
-	 * @param points the array of control points
-	 * @param numPoints the number of valid points in the array (n >= 2)
-	 * @param closed true if the user double-clicked on the final control point
-	 */
-	protected abstract Figure createFigure(Point[] points, int numPoints, boolean closed);
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/SolidEllipseFigure.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/SolidEllipseFigure.java
deleted file mode 100644
index a7e9ada..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/SolidEllipseFigure.java
+++ /dev/null
@@ -1,44 +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.swt.examples.paint;
-
-
-import org.eclipse.swt.graphics.*;
-
-/**
- * 2D Solid Ellipse object
- */
-public class SolidEllipseFigure extends Figure {
-	private Color color;
-	private int x1, y1, x2, y2;
-	/**
-	 * Constructs a SolidEllipse
-	 * These objects are defined by any two diametrically opposing corners of a box
-	 * bounding the ellipse.
-	 * 
-	 * @param color the color for this object
-	 * @param x1 the virtual X coordinate of the first corner
-	 * @param y1 the virtual Y coordinate of the first corner
-	 * @param x2 the virtual X coordinate of the second corner
-	 * @param y2 the virtual Y coordinate of the second corner
-	 */
-	public SolidEllipseFigure(Color color, int x1, int y1, int x2, int y2) {
-		this.color = color; this.x1 = x1; this.y1 = y1; this.x2 = x2; this.y2 = y2;
-	}
-	public void draw(FigureDrawContext fdc) {
-		Rectangle r = fdc.toClientRectangle(x1, y1, x2, y2);
-		fdc.gc.setBackground(color);
-		fdc.gc.fillOval(r.x, r.y, r.width, r.height);
-	}
-	public void addDamagedRegion(FigureDrawContext fdc, Region region) {
-		region.add(fdc.toClientRectangle(x1, y1, x2, y2));
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/SolidPolygonFigure.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/SolidPolygonFigure.java
deleted file mode 100644
index 0051400..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/SolidPolygonFigure.java
+++ /dev/null
@@ -1,59 +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.swt.examples.paint;
-
-
-import org.eclipse.swt.graphics.*;
-
-/**
- * 2D Line object
- */
-public class SolidPolygonFigure extends Figure {
-	private Color color;
-	private int[] points;
-	/**
-	 * Constructs a SolidPolygon
-	 * These objects are defined by a sequence of vertices.
-	 * 
-	 * @param color the color for this object
-	 * @param vertices the array of vertices making up the polygon
-	 * @param numPoint the number of valid points in the array (n >= 3)
-	 */
-	public SolidPolygonFigure(Color color, Point[] vertices, int numPoints) {
-		this.color = color;
-		this.points = new int[numPoints * 2];
-		for (int i = 0; i < numPoints; ++i) {
-			points[i * 2] = vertices[i].x;
-			points[i * 2 + 1] = vertices[i].y;
-		}
-	}
-	public void draw(FigureDrawContext fdc) {
-		int[] drawPoints = new int[points.length];
-		for (int i = 0; i < points.length; i += 2) {
-			drawPoints[i] = points[i] * fdc.xScale - fdc.xOffset;
-			drawPoints[i + 1] = points[i + 1] * fdc.yScale - fdc.yOffset;
-		}
-		fdc.gc.setBackground(color);
-		fdc.gc.fillPolygon(drawPoints);
-	}
-	public void addDamagedRegion(FigureDrawContext fdc, Region region) {
-		int xmin = Integer.MAX_VALUE, ymin = Integer.MAX_VALUE;
-		int xmax = Integer.MIN_VALUE, ymax = Integer.MIN_VALUE;
-
-		for (int i = 0; i < points.length; i += 2) {
-			if (points[i] < xmin) xmin = points[i];
-			if (points[i] > xmax) xmax = points[i];
-			if (points[i+1] < ymin) ymin = points[i+1];
-			if (points[i+1] > ymax) ymax = points[i+1];
-		}		
-		region.add(fdc.toClientRectangle(xmin, ymin, xmax, ymax));
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/SolidRectangleFigure.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/SolidRectangleFigure.java
deleted file mode 100644
index f3f2fb9..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/SolidRectangleFigure.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.swt.examples.paint;
-
-
-import org.eclipse.swt.graphics.*;
-
-/**
- * 2D SolidRectangle object
- */
-public class SolidRectangleFigure extends Figure {
-	private Color color;
-	private int x1, y1, x2, y2;
-	/**
-	 * Constructs a SolidRectangle
-	 * These objects are defined by any two diametrically opposing corners.
-	 * 
-	 * @param color the color for this object
-	 * @param x1 the virtual X coordinate of the first corner
-	 * @param y1 the virtual Y coordinate of the first corner
-	 * @param x2 the virtual X coordinate of the second corner
-	 * @param y2 the virtual Y coordinate of the second corner
-	 */
-	public SolidRectangleFigure(Color color, int x1, int y1, int x2, int y2) {
-		this.color = color; this.x1 = x1; this.y1 = y1; this.x2 = x2; this.y2 = y2;
-	}
-	public void draw(FigureDrawContext fdc) {
-		Rectangle r = fdc.toClientRectangle(x1, y1, x2, y2);
-		fdc.gc.setBackground(color);
-		fdc.gc.fillRectangle(r.x, r.y, r.width, r.height);
-	}
-	public void addDamagedRegion(FigureDrawContext fdc, Region region) {
-		region.add(fdc.toClientRectangle(x1, y1, x2, y2));
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/SolidRoundedRectangleFigure.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/SolidRoundedRectangleFigure.java
deleted file mode 100644
index 9c0d2ec..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/SolidRoundedRectangleFigure.java
+++ /dev/null
@@ -1,45 +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.swt.examples.paint;
-
-
-import org.eclipse.swt.graphics.*;
-
-/**
- * 2D SolidRectangle object
- */
-public class SolidRoundedRectangleFigure extends Figure {
-	private Color color;
-	private int x1, y1, x2, y2, diameter;
-	/**
-	 * Constructs a SolidRectangle
-	 * These objects are defined by any two diametrically opposing corners.
-	 * 
-	 * @param color the color for this object
-	 * @param x1 the virtual X coordinate of the first corner
-	 * @param y1 the virtual Y coordinate of the first corner
-	 * @param x2 the virtual X coordinate of the second corner
-	 * @param y2 the virtual Y coordinate of the second corner
-	 * @param diameter the diameter of curvature of all four corners
-	 */
-	public SolidRoundedRectangleFigure(Color color, int x1, int y1, int x2, int y2, int diameter) {
-		this.color = color; this.x1 = x1; this.y1 = y1; this.x2 = x2; this.y2 = y2;
-		this.diameter = diameter;
-	}
-	public void draw(FigureDrawContext fdc) {
-		Rectangle r = fdc.toClientRectangle(x1, y1, x2, y2);
-		fdc.gc.setBackground(color);
-		fdc.gc.fillRoundRectangle(r.x, r.y, r.width, r.height, diameter, diameter);
-	}
-	public void addDamagedRegion(FigureDrawContext fdc, Region region) {
-		region.add(fdc.toClientRectangle(x1, y1, x2, y2));
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/TextFigure.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/TextFigure.java
deleted file mode 100644
index cabd0c3..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/TextFigure.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.swt.examples.paint;
-
-
-import org.eclipse.swt.graphics.*;
-
-/**
- * 2D Rectangle object
- */
-public class TextFigure extends Figure {
-	private Color  color;
-	private Font   font;
-	private String text;
-	private int x, y;
-	/**
-	 * Constructs a TextFigure
-	 * 
-	 * @param color the color for this object
-	 * @param font  the font for this object
-	 * @param text  the text to draw, tab and new-line expansion is performed
-	 * @param x     the virtual X coordinate of the top-left corner of the text bounding box
-	 * @param y     the virtual Y coordinate of the top-left corner of the text bounding box
-	 */
-	public TextFigure(Color color, Font font, String text, int x, int y) {
-		this.color = color; this.font = font; this.text = text; this.x = x; this.y = y;
-	}
-	public void draw(FigureDrawContext fdc) {
-		Point p = fdc.toClientPoint(x, y);
-		fdc.gc.setFont(font);
-		fdc.gc.setForeground(color);
-		fdc.gc.drawText(text, p.x, p.y, true);
-	}
-	public void addDamagedRegion(FigureDrawContext fdc, Region region) {
-		Font oldFont = fdc.gc.getFont();
-		fdc.gc.setFont(font);
-		Point textExtent = fdc.gc.textExtent(text);
-		fdc.gc.setFont(oldFont);
-		region.add(fdc.toClientRectangle(x, y, x + textExtent.x, y + textExtent.y));
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/TextTool.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/TextTool.java
deleted file mode 100644
index 766787e..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/TextTool.java
+++ /dev/null
@@ -1,160 +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.swt.examples.paint;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-
-/**
- * A text drawing tool.
- */
-public class TextTool extends BasicPaintSession implements PaintTool {
-	private ToolSettings settings;
-	private String drawText = PaintExample.getResourceString("tool.Text.settings.defaulttext");
-
-	/**
-	 * Constructs a PaintTool.
-	 * 
-	 * @param toolSettings the new tool settings
-	 * @param paintSurface the PaintSurface we will render on.
-	 */
-	public TextTool(ToolSettings toolSettings, PaintSurface paintSurface) {
-		super(paintSurface);
-		set(toolSettings);
-	}
-	
-	/**
-	 * Sets the tool's settings.
-	 * 
-	 * @param toolSettings the new tool settings
-	 */
-	public void set(ToolSettings toolSettings) {
-		settings = toolSettings;
-	}
-	
-	/**
-	 * Returns name associated with this tool.
-	 * 
-	 * @return the localized name of this tool
-	 */
-	public String getDisplayName() {
-		return PaintExample.getResourceString("tool.Text.label");
-	}
-	
-	/**
-	 * Activates the tool.
-	 */
-	public void beginSession() {
-		getPaintSurface().setStatusMessage(PaintExample.getResourceString(
-			"session.Text.message"));
-	}
-	
-	/**
-	 * Deactivates the tool.
-     */
-	public void endSession() {
-		getPaintSurface().clearRubberbandSelection();
-	}
-	
-	/**
-	 * Aborts the current operation.
-	 */
-	public void resetSession() {
-		getPaintSurface().clearRubberbandSelection();
-	}
-	
-	/**
-	 * Handles a mouseDown event.
-	 * 
-	 * @param event the mouse event detail information
-	 */
-	public void mouseDown(MouseEvent event) {
-		if (event.button == 1) {
-			// draw with left mouse button
-			getPaintSurface().commitRubberbandSelection();
-		} else {
-			// set text with right mouse button
-			getPaintSurface().clearRubberbandSelection();
-			Shell shell = getPaintSurface().getShell();
-			final Shell dialog = new Shell(shell, SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL);
-			dialog.setText(PaintExample.getResourceString("tool.Text.dialog.title"));
-			dialog.setLayout(new GridLayout());
-			Label label = new Label(dialog, SWT.NONE);
-			label.setText(PaintExample.getResourceString("tool.Text.dialog.message"));
-			label.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false));
-			final Text field = new Text(dialog, SWT.SINGLE | SWT.BORDER);
-			field.setText(drawText);
-			field.selectAll();
-			field.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
-			Composite buttons = new Composite(dialog, SWT.NONE);
-			GridLayout layout = new GridLayout(2, true);
-			layout.marginWidth = 0;
-			buttons.setLayout(layout);
-			buttons.setLayoutData(new GridData(SWT.END, SWT.CENTER, false, false));
-			Button ok = new Button(buttons, SWT.PUSH);
-			ok.setText(PaintExample.getResourceString("OK"));
-			ok.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false));
-			ok.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					drawText = field.getText();
-					dialog.dispose();
-				}
-			});
-			Button cancel = new Button(buttons, SWT.PUSH);
-			cancel.setText(PaintExample.getResourceString("Cancel"));
-			cancel.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					dialog.dispose();
-				}
-			});
-			dialog.setDefaultButton(ok);
-			dialog.pack();
-			dialog.open();
-			Display display = dialog.getDisplay();
-			while (! shell.isDisposed() && ! dialog.isDisposed()) {
-				if (! display.readAndDispatch()) display.sleep();
-			}
-		}	
-	}
-
-	/**
-	 * Handles a mouseDoubleClick event.
-	 * 
-	 * @param event the mouse event detail information
-	 */
-	public void mouseDoubleClick(MouseEvent event) {
-	}
-
-	/**
-	 * Handles a mouseUp event.
-	 * 
-	 * @param event the mouse event detail information
-	 */
-	public void mouseUp(MouseEvent event) {
-	}
-	
-	/**
-	 * Handles a mouseMove event.
-	 * 
-	 * @param event the mouse event detail information
-	 */
-	public void mouseMove(MouseEvent event) {
-		final PaintSurface ps = getPaintSurface();
-		ps.setStatusCoord(ps.getCurrentPosition());
-		ps.clearRubberbandSelection();
-		ps.addRubberbandSelection(
-			new TextFigure(settings.commonForegroundColor, settings.commonFont,
-				drawText, event.x, event.y));
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/Tool.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/Tool.java
deleted file mode 100644
index 5b51ce2..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/Tool.java
+++ /dev/null
@@ -1,36 +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.swt.examples.paint;
-
-import org.eclipse.swt.graphics.*;
-
-public class Tool {
-	public int id;
-	public String name;
-	public String group;
-	public int type;
-	public Runnable action;
-	public Image image = null;
-	public Object data;
-	
-	public Tool(int id, String name, String group, int type) {
-		super();
-		this.id = id;
-		this.name = name;
-		this.group = group;
-		this.type = type;
-	}
-
-	public Tool(int id, String name, String group, int type, Object data) {
-		this(id, name, group, type);
-		this.data = data;
-	}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/ToolSettings.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/ToolSettings.java
deleted file mode 100644
index b69bedc..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/ToolSettings.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.swt.examples.paint;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-
-/**
- * Tool Settings objects group tool-related configuration information.
- */
-public class ToolSettings {
-	public static final int ftNone = 0, ftOutline = 1, ftSolid = 2;
-
-	/**
-	 * commonForegroundColor: current tool foreground colour
-	 */
-	public Color commonForegroundColor;
-
-	/**
-	 * commonBackgroundColor: current tool background colour
-	 */
-	public Color commonBackgroundColor;
-
-	/**
-	 * commonFont: current font
-	 */
-	public Font commonFont;
-
-	/**
-	 * commonFillType: current fill type
-	 * <p>One of ftNone, ftOutline, ftSolid.</p>
-	 */
-	public int commonFillType = ftNone;
-
-	/**
-	 * commonLineStyle: current line type
-	 */
-	public int commonLineStyle = SWT.LINE_SOLID;
-	
-	/**
-	 * airbrushRadius: coverage radius in pixels
-	 */
-	public int airbrushRadius = 10;
-	
-	/**
-	 * airbrushIntensity: average surface area coverage in region defined by radius per "jot"
-	 */
-	public int airbrushIntensity = 30;
-	
-	/**
-	 * roundedRectangleCornerDiameter: the diameter of curvature of corners in a rounded rectangle
-	 */
-	public int roundedRectangleCornerDiameter = 16;
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/fill_none.gif b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/fill_none.gif
deleted file mode 100644
index d26dd58..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/fill_none.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/fill_outline.gif b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/fill_outline.gif
deleted file mode 100644
index c6ccfee..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/fill_outline.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/fill_solid.gif b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/fill_solid.gif
deleted file mode 100644
index cb34e64..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/fill_solid.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/linestyle_dash.gif b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/linestyle_dash.gif
deleted file mode 100644
index fb57bb3..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/linestyle_dash.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/linestyle_dashdot.gif b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/linestyle_dashdot.gif
deleted file mode 100644
index 322968c..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/linestyle_dashdot.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/linestyle_dot.gif b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/linestyle_dot.gif
deleted file mode 100644
index 4937ccb..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/linestyle_dot.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/linestyle_solid.gif b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/linestyle_solid.gif
deleted file mode 100644
index 70a57ce..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/linestyle_solid.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/options_font.gif b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/options_font.gif
deleted file mode 100644
index 965fe08..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/options_font.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/tool_airbrush.gif b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/tool_airbrush.gif
deleted file mode 100644
index a310edd..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/tool_airbrush.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/tool_ellipse.gif b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/tool_ellipse.gif
deleted file mode 100644
index dc2142f..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/tool_ellipse.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/tool_line.gif b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/tool_line.gif
deleted file mode 100644
index 2ff819f..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/tool_line.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/tool_pencil.gif b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/tool_pencil.gif
deleted file mode 100644
index f16a234..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/tool_pencil.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/tool_polyline.gif b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/tool_polyline.gif
deleted file mode 100644
index aa384e9..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/tool_polyline.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/tool_rectangle.gif b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/tool_rectangle.gif
deleted file mode 100644
index d26dd58..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/tool_rectangle.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/tool_roundedrectangle.gif b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/tool_roundedrectangle.gif
deleted file mode 100644
index bf845d7..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/tool_roundedrectangle.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/tool_text.gif b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/tool_text.gif
deleted file mode 100644
index 0d7457f..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/tool_text.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/Images.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/Images.java
deleted file mode 100755
index dc75536..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/Images.java
+++ /dev/null
@@ -1,77 +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.swt.examples.texteditor;
-
-
-import java.io.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Images {
-
-	// Bitmap Images
-	public Image Bold;
-	public Image Italic;
-	public Image Underline;
-	public Image Strikeout;
-	public Image Red;
-	public Image Green;
-	public Image Blue;
-	public Image Erase;
-	
-	Image  [] AllBitmaps;
-
-Images () {
-}
-
-public void freeAll () {
-	for (int i=0; i<AllBitmaps.length; i++) AllBitmaps [i].dispose ();
-	AllBitmaps = null;
-}
-
-Image createBitmapImage(Display display, String fileName) {
-	InputStream sourceStream = Images.class.getResourceAsStream (fileName + ".bmp");
-	InputStream maskStream = Images.class.getResourceAsStream (fileName + "_mask.bmp");
-	ImageData source = new ImageData (sourceStream);
-	ImageData mask = new ImageData (maskStream);
-	Image result = new Image (display, source, mask);
-	try {
-		sourceStream.close ();
-		maskStream.close ();
-	} catch (IOException e) {
-		e.printStackTrace ();
-	}
-	return result;
-}
-
-public void loadAll (Display display) {
-	// Bitmap Images
-	Bold = createBitmapImage (display, "bold");
-	Italic = createBitmapImage (display, "italic");
-	Underline = createBitmapImage (display, "underline");
-	Strikeout = createBitmapImage (display, "strikeout");
-	Red = createBitmapImage (display, "red");
-	Green = createBitmapImage (display, "green");
-	Blue = createBitmapImage (display, "blue");
-	Erase = createBitmapImage (display, "erase");
-	
-	AllBitmaps = new Image [] {
-		Bold,
-		Italic,
-		Underline,
-		Strikeout,
-		Red,
-		Green,
-		Blue,
-		Erase,
-	};
-}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/TextEditor.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/TextEditor.java
deleted file mode 100755
index 989acc5..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/TextEditor.java
+++ /dev/null
@@ -1,358 +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.swt.examples.texteditor;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import java.util.*;
-
-/**
- */
-public class TextEditor {  
-	Shell shell;
-	ToolBar toolBar;
-	StyledText text;
-
-	Images images = new Images();
-	Vector cachedStyles = new Vector();
-	Color RED = null; 
-	Color BLUE = null; 
-	Color GREEN = null; 
-	Font font = null;
-	ToolItem boldButton, italicButton, underlineButton, strikeoutButton;
-	
-	static ResourceBundle resources = ResourceBundle.getBundle("examples_texteditor");
-
-Menu createEditMenu() {
-	Menu bar = shell.getMenuBar ();
-	Menu menu = new Menu (bar);
-	
-	MenuItem item = new MenuItem (menu, SWT.PUSH);
-	item.setText (resources.getString("Cut_menuitem"));
-	item.setAccelerator(SWT.MOD1 + 'X');
-	item.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent event) {
-			handleCutCopy();
-			text.cut();
-		}
-	});
-	item = new MenuItem (menu, SWT.PUSH);
-	item.setText (resources.getString("Copy_menuitem"));
-	item.setAccelerator(SWT.MOD1 + 'C');
-	item.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent event) {
-			handleCutCopy();
-			text.copy();
-		}
-	});
-	item = new MenuItem (menu, SWT.PUSH);
-	item.setText (resources.getString("Paste_menuitem"));
-	item.setAccelerator(SWT.MOD1 + 'V');
-	item.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent event) {
-			text.paste();
-		}
-	});
-	new MenuItem (menu, SWT.SEPARATOR);	
-	item = new MenuItem (menu, SWT.PUSH);
-	item.setText (resources.getString("Font_menuitem"));
-	item.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent event) {
-			setFont();
-		}
-	});
-	return menu;
-}
-
-Menu createFileMenu() {
-	Menu bar = shell.getMenuBar ();
-	Menu menu = new Menu (bar);
-	
-	MenuItem item = new MenuItem (menu, SWT.PUSH);
-	item.setText (resources.getString("Exit_menuitem"));
-	item.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent event) {
-			shell.close ();
-		}
-	});
-
-	return menu;
-}
-
-/*
- * Set a style
- */
-void setStyle(Widget widget) {
-	Point sel = text.getSelectionRange();
-	if ((sel == null) || (sel.y == 0)) return;
-	StyleRange style;
-	for (int i = sel.x; i<sel.x+sel.y; i++) {
-		StyleRange range = text.getStyleRangeAtOffset(i);
-		if (range != null) {
-			style = (StyleRange)range.clone();
-			style.start = i;
-			style.length = 1;
-		} else {
-			style = new StyleRange(i, 1, null, null, SWT.NORMAL);
-		}
-		if (widget == boldButton) {
-			style.fontStyle ^= SWT.BOLD;
-		} else if (widget == italicButton) {
-			style.fontStyle ^= SWT.ITALIC;						
-		} else if (widget == underlineButton) {
-			style.underline = !style.underline;
-		} else if (widget == strikeoutButton) {
-			style.strikeout = !style.strikeout;
-		}
-		text.setStyleRange(style);
-	}
-	text.setSelectionRange(sel.x + sel.y, 0);			
-}
-
-/*
- * Clear all style data for the selected text.
- */
-void clear() {
-	Point sel = text.getSelectionRange();
-	if (sel.y != 0) {
-		StyleRange style;
-		style = new StyleRange(sel.x, sel.y, null, null, SWT.NORMAL);
-		text.setStyleRange(style);
-	}
-	text.setSelectionRange(sel.x + sel.y, 0);
-}
-/*
- * Set the foreground color for the selected text.
- */
-void fgColor(Color fg) {
-	Point sel = text.getSelectionRange();
-	if ((sel == null) || (sel.y == 0)) return;
-	StyleRange style, range;
-	for (int i = sel.x; i<sel.x+sel.y; i++) {
-		range = text.getStyleRangeAtOffset(i);
-		if (range != null) {
-			style = (StyleRange)range.clone();
-			style.start = i;
-			style.length = 1;
-			style.foreground = fg;
-		} else {
-			style = new StyleRange (i, 1, fg, null, SWT.NORMAL);
-		}
-		text.setStyleRange(style);
-	}
-	text.setSelectionRange(sel.x + sel.y, 0);
-}
-void createMenuBar () {
-	Menu bar = new Menu (shell, SWT.BAR);
-	shell.setMenuBar (bar);
-
-	MenuItem fileItem = new MenuItem (bar, SWT.CASCADE);
-	fileItem.setText (resources.getString("File_menuitem"));
-	fileItem.setMenu (createFileMenu ());
-
-	MenuItem editItem = new MenuItem (bar, SWT.CASCADE);
-	editItem.setText (resources.getString("Edit_menuitem"));
-	editItem.setMenu (createEditMenu ());
-}
-
-void createShell (Display display) {
-	shell = new Shell (display);
-	shell.setText (resources.getString("Window_title"));	
-	images.loadAll (display);
-	GridLayout layout = new GridLayout();
-	layout.numColumns = 1;
-	shell.setLayout(layout);
-	shell.addDisposeListener (new DisposeListener () {
-		public void widgetDisposed (DisposeEvent e) {
-			if (font != null) font.dispose();
-			images.freeAll ();
-			RED.dispose();
-			GREEN.dispose();
-			BLUE.dispose();
-		}
-	});
-}
-void createStyledText() {
-	initializeColors();
-	text = new StyledText (shell, SWT.BORDER | SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL);
-	GridData spec = new GridData();
-	spec.horizontalAlignment = GridData.FILL;
-	spec.grabExcessHorizontalSpace = true;
-	spec.verticalAlignment = GridData.FILL;
-	spec.grabExcessVerticalSpace = true;
-	text.setLayoutData(spec);
-	text.addExtendedModifyListener(new ExtendedModifyListener() {
-		public void modifyText(ExtendedModifyEvent e) {
-			handleExtendedModify(e);
-		}
-	});
-}
-
-void createToolBar() {
-	toolBar = new ToolBar(shell, SWT.NONE);
-	SelectionAdapter listener = new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent event) {
-			setStyle (event.widget);
-		}
-	};
-	boldButton = new ToolItem(toolBar, SWT.CHECK);
-	boldButton.setImage(images.Bold);
-	boldButton.setToolTipText(resources.getString("Bold"));
-	boldButton.addSelectionListener(listener);
-	italicButton = new ToolItem(toolBar, SWT.CHECK);
-	italicButton.setImage(images.Italic);
-	italicButton.setToolTipText(resources.getString("Italic"));
-	italicButton.addSelectionListener(listener);
-	underlineButton = new ToolItem(toolBar, SWT.CHECK);
-	underlineButton.setImage(images.Underline);
-	underlineButton.setToolTipText(resources.getString("Underline"));
-	underlineButton.addSelectionListener(listener);
-	strikeoutButton = new ToolItem(toolBar, SWT.CHECK);
-	strikeoutButton.setImage(images.Strikeout);
-	strikeoutButton.setToolTipText(resources.getString("Strikeout"));
-	strikeoutButton.addSelectionListener(listener);
-		
-	ToolItem item = new ToolItem(toolBar, SWT.SEPARATOR);
-	item = new ToolItem(toolBar, SWT.PUSH);
-	item.setImage(images.Red);
-	item.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent event) {
-			fgColor(RED);
-		}
-	});
-	item = new ToolItem(toolBar, SWT.PUSH);
-	item.setImage(images.Green);
-	item.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent event) {
-			fgColor(GREEN);
-		}
-	});
-	item = new ToolItem(toolBar, SWT.PUSH);
-	item.setImage(images.Blue);
-	item.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent event) {
-			fgColor(BLUE);
-		}
-	});	
-	item = new ToolItem(toolBar, SWT.SEPARATOR);
-	item = new ToolItem(toolBar, SWT.PUSH);
-	item.setImage(images.Erase);
-	item.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent event) {
-			clear();
-		}
-	});
-}
-/*
- * Cache the style information for text that has been cut or copied.
- */
-void handleCutCopy() {
-	// Save the cut/copied style info so that during paste we will maintain
-	// the style information.  Cut/copied text is put in the clipboard in
-	// RTF format, but is not pasted in RTF format.  The other way to 
-	// handle the pasting of styles would be to access the Clipboard directly and 
-	// parse the RTF text.
-	cachedStyles = new Vector();
-	Point sel = text.getSelectionRange();
-	int startX = sel.x;
-	for (int i=sel.x; i<=sel.x+sel.y-1; i++) {
-		StyleRange style = text.getStyleRangeAtOffset(i);
-		if (style != null) {
-			style.start = style.start - startX;
-			if (!cachedStyles.isEmpty()) {
-				StyleRange lastStyle = (StyleRange)cachedStyles.lastElement();
-				if (lastStyle.similarTo(style) && lastStyle.start + lastStyle.length == style.start) {
-					lastStyle.length++;
-				} else {
-					cachedStyles.addElement(style);
-				}
-			} else {
-				cachedStyles.addElement(style);
-			}
-		}
-	}
-}
-void handleExtendedModify(ExtendedModifyEvent event) {
-	if (event.length == 0) return;
-	StyleRange style;
-	if (event.length == 1 || text.getTextRange(event.start, event.length).equals(text.getLineDelimiter())) {
-		// Have the new text take on the style of the text to its right (during
-		// typing) if no style information is active.
-		int caretOffset = text.getCaretOffset();
-		style = null;
-		if (caretOffset < text.getCharCount()) style = text.getStyleRangeAtOffset(caretOffset);
-		if (style != null) {
-			style = (StyleRange) style.clone ();
-			style.start = event.start;
-			style.length = event.length;
-		} else {
-			style = new StyleRange(event.start, event.length, null, null, SWT.NORMAL);
-		}		
-		if (boldButton.getSelection()) style.fontStyle |= SWT.BOLD;
-		if (italicButton.getSelection()) style.fontStyle |= SWT.ITALIC;
-		style.underline = underlineButton.getSelection();
-		style.strikeout = strikeoutButton.getSelection();
-		if (!style.isUnstyled()) text.setStyleRange(style);
-	} else {
-		// paste occurring, have text take on the styles it had when it was
-		// cut/copied
-		for (int i=0; i<cachedStyles.size(); i++) {
-			style = (StyleRange)cachedStyles.elementAt(i);
-			StyleRange newStyle = (StyleRange)style.clone();
-			newStyle.start = style.start + event.start;
-			text.setStyleRange(newStyle);
-		}
-	}
-}
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	TextEditor example = new TextEditor ();
-	Shell shell = example.open (display);
-	while (!shell.isDisposed ())
-		if (!display.readAndDispatch ()) display.sleep ();
-	display.dispose ();
-}
-
-public Shell open (Display display) {
-	createShell (display);
-	createMenuBar ();
-	createToolBar ();
-	createStyledText ();
-	shell.setSize(500, 300);
-	shell.open ();
-	return shell;
-}
-
-void setFont() {
-	FontDialog fontDialog = new FontDialog(shell);
-	fontDialog.setFontList((text.getFont()).getFontData());
-	FontData fontData = fontDialog.open();
-	if (fontData != null) {
-		Font newFont = new Font(shell.getDisplay(), fontData); 
-		text.setFont(newFont);
-		if (font != null) font.dispose();
-		font = newFont;
-	}
-}
-
-void initializeColors() {
-	Display display = Display.getDefault();
-	RED = new Color (display, new RGB(255,0,0));
-	BLUE = new Color (display, new RGB(0,0,255));
-	GREEN = new Color (display, new RGB(0,255,0));
-}
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/blue.bmp b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/blue.bmp
deleted file mode 100755
index 84c7ac9..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/blue.bmp
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/blue_mask.bmp b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/blue_mask.bmp
deleted file mode 100755
index 6ce9264..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/blue_mask.bmp
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/bold.bmp b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/bold.bmp
deleted file mode 100755
index a3184bb..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/bold.bmp
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/bold_mask.bmp b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/bold_mask.bmp
deleted file mode 100755
index 382751e..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/bold_mask.bmp
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/erase.bmp b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/erase.bmp
deleted file mode 100755
index 1d2ace7..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/erase.bmp
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/erase_mask.bmp b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/erase_mask.bmp
deleted file mode 100755
index f6ab21e..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/erase_mask.bmp
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/green.bmp b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/green.bmp
deleted file mode 100755
index cca023f..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/green.bmp
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/green_mask.bmp b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/green_mask.bmp
deleted file mode 100755
index 6ce9264..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/green_mask.bmp
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/italic.bmp b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/italic.bmp
deleted file mode 100644
index 4136720..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/italic.bmp
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/italic_mask.bmp b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/italic_mask.bmp
deleted file mode 100644
index 0c4762c..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/italic_mask.bmp
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/red.bmp b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/red.bmp
deleted file mode 100755
index 88c63be..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/red.bmp
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/red_mask.bmp b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/red_mask.bmp
deleted file mode 100755
index 6ce9264..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/red_mask.bmp
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/strikeout.bmp b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/strikeout.bmp
deleted file mode 100644
index 7cd2984..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/strikeout.bmp
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/strikeout_mask.bmp b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/strikeout_mask.bmp
deleted file mode 100644
index d39ab32..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/strikeout_mask.bmp
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/underline.bmp b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/underline.bmp
deleted file mode 100644
index de3acfd..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/underline.bmp
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/underline_mask.bmp b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/underline_mask.bmp
deleted file mode 100644
index a29de99..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/underline_mask.bmp
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.opengl.examples/.classpath b/examples/org.eclipse.swt.opengl.examples/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/examples/org.eclipse.swt.opengl.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.swt.opengl.examples/.cvsignore b/examples/org.eclipse.swt.opengl.examples/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/examples/org.eclipse.swt.opengl.examples/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.opengl.examples/.project b/examples/org.eclipse.swt.opengl.examples/.project
deleted file mode 100644
index cb316b4..0000000
--- a/examples/org.eclipse.swt.opengl.examples/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.swt.opengl.examples</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.swt.opengl.examples/about.html b/examples/org.eclipse.swt.opengl.examples/about.html
deleted file mode 100644
index 6f6b96c..0000000
--- a/examples/org.eclipse.swt.opengl.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.swt.opengl.examples/build.properties b/examples/org.eclipse.swt.opengl.examples/build.properties
deleted file mode 100644
index 6698d19..0000000
--- a/examples/org.eclipse.swt.opengl.examples/build.properties
+++ /dev/null
@@ -1,21 +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 = doc-html/,\
-               plugin.properties,\
-               plugin.xml,\
-               about.html,\
-               glexamples.jar
-
-src.includes = about.html,\
-               doc-html/,\
-               src/
-               
-source.glexamples.jar = src/
diff --git a/examples/org.eclipse.swt.opengl.examples/plugin.properties b/examples/org.eclipse.swt.opengl.examples/plugin.properties
deleted file mode 100755
index 53ce66c..0000000
--- a/examples/org.eclipse.swt.opengl.examples/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
-###############################################################################
-providerName = Eclipse.org
-plugin.OpenGLExampleSet.name = SWT OpenGL Examples Plugin
-
-launchitem.OpenGLExample.name = OpenGL Example
-launchitem.OpenGLExample.description = \
-	The OpenGL example shows how to use many OpenGL features in \
-	an SWT application.
diff --git a/examples/org.eclipse.swt.opengl.examples/plugin.xml b/examples/org.eclipse.swt.opengl.examples/plugin.xml
deleted file mode 100755
index 118725e..0000000
--- a/examples/org.eclipse.swt.opengl.examples/plugin.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.swt.opengl.examples"
-   name="%plugin.OpenGLExampleSet.name"
-   version="0.5.0"
-   provider-name="%providerName"
-   class="">
-
-<!-- Required plugins -->
-<requires>
-   <import plugin="org.eclipse.swt"/>
-   <import plugin="org.eclipse.opengl" version="0.5.0" match="greaterOrEqual"/>
-</requires>
-
-<!-- Runtime -->
-<runtime>
-   <library name="glexamples.jar">
-      <export name="*"/>
-   </library>
-</runtime>
-
-<!-- Extensions -->
-<!-- Extension points -->
-<extension
-      point="org.eclipse.swt.examples.launcher.launchItems">
-   <item
-         name="%launchitem.OpenGLExample.name"
-         description="%launchitem.OpenGLExample.description"
-         category="org.eclipse.swt.examples.launchStandaloneCategory"
-         id="org.eclipse.swt.opengl.examples.OpenGLExample.standalonelauncher">
-      <program
-            pluginId="org.eclipse.swt.opengl.examples"
-            mainClass="org.eclipse.swt.opengl.examples.OpenGLExample">
-      </program>
-   </item>
-</extension>
-</plugin>
diff --git a/examples/org.eclipse.swt.opengl.examples/src/examples_opengl.properties b/examples/org.eclipse.swt.opengl.examples/src/examples_opengl.properties
deleted file mode 100755
index 4927132..0000000
--- a/examples/org.eclipse.swt.opengl.examples/src/examples_opengl.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
-###############################################################################
-error.CouldNotLoadResources = Unable to load resources
-window.title = SWT OpenGL Example
diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/AntialiasingTab.java b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/AntialiasingTab.java
deleted file mode 100644
index 2ffacb9..0000000
--- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/AntialiasingTab.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl.examples;
-
-
-import org.eclipse.opengl.*;
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-class AntialiasingTab extends OpenGLTab {
-	private Button antiAliasButton;
-	private float xPos = 0.0f, yPos = 0.0f, zPos = -6.0f;
-	
-	/**
-	 * @see OpenGLTab#createControls(Composite)
-	 */
-	void createControls(Composite composite) {
-		Group movementGroup = new Group(composite, SWT.NONE);
-		movementGroup.setText("Translation");
-		movementGroup.setLayout(new GridLayout(2, false));
-
-		new Label(movementGroup, SWT.NONE).setText("X:");
-		final Slider xMove = new Slider(movementGroup, SWT.NONE);
-		xMove.setIncrement(1);
-		xMove.setMaximum(12);
-		xMove.setMinimum(0);
-		xMove.setThumb(2);
-		xMove.setPageIncrement(2);
-		xMove.setSelection(5);
-		xMove.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				xPos = xMove.getSelection() - 5;
-			}
-		});
-
-		new Label(movementGroup, SWT.NONE).setText("Y:");
-		final Slider yMove = new Slider(movementGroup, SWT.NONE);
-		yMove.setIncrement(1);
-		yMove.setMaximum(12);
-		yMove.setMinimum(0);
-		yMove.setThumb(2);
-		yMove.setPageIncrement(2);
-		yMove.setSelection(5);
-		yMove.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				yPos = yMove.getSelection() - 5;
-			}
-		});
-
-		new Label(movementGroup, SWT.NONE).setText("Z:");
-		final Slider zMove = new Slider(movementGroup, SWT.NONE);
-		zMove.setIncrement(1);
-		zMove.setMaximum(12);
-		zMove.setMinimum(0);
-		zMove.setThumb(2);
-		zMove.setPageIncrement(2);
-		zMove.setSelection(5);
-		zMove.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				zPos = zMove.getSelection() - 11;
-			}
-		});
-
-		antiAliasButton = new Button(composite, SWT.CHECK);
-		antiAliasButton.setText("Anti-Aliasing");
-		antiAliasButton.setSelection(true);
-		antiAliasButton.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				if (antiAliasButton.getSelection()) {
-					GL.glEnable(GL.GL_LINE_SMOOTH);
-				} else {
-					GL.glDisable(GL.GL_LINE_SMOOTH);
-				}
-			}
-		});
-		
-		ColorSelectionGroup colorGroup =
-			new ColorSelectionGroup(composite, SWT.NONE);
-		colorGroup.setText("Foreground color");
-		colorGroup.addColorSelectionListener(new IColorSelectionListener() {
-			public void handleColorSelection(RGB rgb) {
-				GL.glColor3ub((byte) rgb.red, (byte) rgb.green, (byte) rgb.blue);
-			}
-		});
-	}
-
-	/**
-	 * @see OpenGLTab#dispose()
-	 */
-	void dispose() {
-		super.dispose();
-		GL.glDeleteLists(1, 1);
-	}
-
-	/**
-	 * @see OpenGLTab#getTabText()
-	 */
-	String getTabText() {
-		return "Anti-aliasing";
-	}
-
-	/**
-	 * @see OpenGLTab#init()
-	 */
-	void init() {
-		GL.glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
-		GL.glColor3f(1.0f, 0.0f, 0.0f);
-		final float[] BEZIER_POINTS = {
-			-1.5f, -1.5f, 4.0f, -0.5f, -1.5f, 2.0f, 0.5f, -1.5f,
-			-1.0f, 1.5f, -1.5f, 2.0f, -1.5f, -0.5f, 1.0f, -0.5f,
-			-0.5f, 3.0f, 0.5f, -0.5f, 0.0f, 1.5f, -0.5f, -1.0f,
-			-1.5f, 0.5f, 4.0f, -0.5f, 0.5f, 0.0f, 0.5f, 0.5f,
-			3.0f, 1.5f, 0.5f, 4.0f, -1.5f, 1.5f, -2.0f, -0.5f,
-			1.5f, -2.0f, 0.5f, 1.5f, 0.0f, 1.5f, 1.5f, -1.0f,
-		};
-		GL.glHint(GL.GL_LINE_SMOOTH_HINT, GL.GL_NICEST);
-		GL.glBlendFunc(GL.GL_SRC_ALPHA, GL.GL_ONE_MINUS_SRC_ALPHA);
-		GL.glMap2f(GL.GL_MAP2_VERTEX_3, 0, 1, 3, 4, 0, 1, 12, 4, BEZIER_POINTS);
-		GL.glMapGrid2f(30, 0.0f, 1.0f, 30, 0.0f, 1.0f);
-
-		GL.glEnable(GL.GL_AUTO_NORMAL);
-		GL.glEnable(GL.GL_LINE_SMOOTH);
-		GL.glEnable(GL.GL_LINE_STIPPLE);
-		GL.glEnable(GL.GL_BLEND);
-		GL.glEnable(GL.GL_MAP2_VERTEX_3);
-
-		// create display lists
-		GL.glNewList(1, GL.GL_COMPILE);
-		GL.glEvalMesh2(GL.GL_LINE, 0, 30, 0, 30);
-		GL.glEndList();
-	}
-
-	/**
-	 * @see OpenGLTab#renderScene()
-	 */
-	void renderScene() {
-		GL.glClear(GL.GL_COLOR_BUFFER_BIT);
-		GL.glLoadIdentity();
-		GL.glTranslatef(xPos, yPos, zPos);
-		GL.glCallList(1);	// draw the beizer surface
-	}
-}
diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/AreaTab.java b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/AreaTab.java
deleted file mode 100644
index be5ee72..0000000
--- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/AreaTab.java
+++ /dev/null
@@ -1,434 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl.examples;
-
-
-import org.eclipse.opengl.*;
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-class AreaTab extends OpenGLTab {
-	abstract class Shape {
-		abstract void draw();
-	}
-	class State {
-		private String name;
-		private int index;
-		/**
-		 * Constructor.
-		 * 
-		 * @param name the display name of this state
-		 * @param index the display list index corresponding to this state
-		 */
-		State (String name, int index) {
-			super();
-			this.index = index;
-			this.name = name;
-		}
-		void display() {
-			GL.glCallList(index);
-		}
-		void dispose() {
-			GL.glDeleteLists(index, 1);
-		}
-		String getName() {
-			return name;
-		}
-	}
-
-	private State[] states;
-	private State currentState;
-	private float xPos = 0.0f, yPos = 0.0f, zPos = -30.0f;
-	private float xRot = 90.0f, yRot = 0.0f, zRot = 0.0f;
-	private int quadratic, disk;
-
-	/**
-	 * @see OpenGLTab#createControls(Composite)
-	 */
-	void createControls(Composite composite) {
-		Group movementGroup = new Group(composite, SWT.NONE);
-		movementGroup.setText("Translation");
-		movementGroup.setLayout(new GridLayout(2, false));
-
-		new Label(movementGroup, SWT.NONE).setText("X:");
-		final Slider xMove = new Slider(movementGroup, SWT.NONE);
-		xMove.setIncrement(1);
-		xMove.setMaximum(22);
-		xMove.setMinimum(0);
-		xMove.setThumb(2);
-		xMove.setPageIncrement(2);
-		xMove.setSelection(10);
-		xMove.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				xPos = xMove.getSelection() - 10;
-			}
-		});
-
-		new Label(movementGroup, SWT.NONE).setText("Y:");
-		final Slider yMove = new Slider(movementGroup, SWT.NONE);
-		yMove.setIncrement(1);
-		yMove.setMaximum(22);
-		yMove.setMinimum(0);
-		yMove.setThumb(2);
-		yMove.setPageIncrement(2);
-		yMove.setSelection(10);
-		yMove.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				yPos = yMove.getSelection() - 10;
-			}
-		});
-
-		new Label(movementGroup, SWT.NONE).setText("Z:");
-		final Slider zMove = new Slider(movementGroup, SWT.NONE);
-		zMove.setIncrement(1);
-		zMove.setMaximum(22);
-		zMove.setMinimum(0);
-		zMove.setThumb(2);
-		zMove.setPageIncrement(2);
-		zMove.setSelection(10);
-		zMove.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				zPos = zMove.getSelection() - 40;
-			}
-		});
-
-		Group rotationGroup = new Group(composite, SWT.NONE);
-		rotationGroup.setText("Rotation");
-		rotationGroup.setLayout(new GridLayout(2, false));
-
-		new Label(rotationGroup, SWT.NONE).setText("X:");
-		final Slider xRotation = new Slider(rotationGroup, SWT.NONE);
-		xRotation.setIncrement(10);
-		xRotation.setMaximum(362);
-		xRotation.setMinimum(0);
-		xRotation.setThumb(2);
-		xRotation.setPageIncrement(20);
-		xRotation.setSelection(90);
-		xRotation.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				xRot = xRotation.getSelection();
-			}
-		});
-
-		new Label(rotationGroup, SWT.NONE).setText("Y:");
-		final Slider yRotation = new Slider(rotationGroup, SWT.NONE);
-		yRotation.setIncrement(10);
-		yRotation.setMaximum(362);
-		yRotation.setMinimum(0);
-		yRotation.setThumb(2);
-		yRotation.setPageIncrement(20);
-		yRotation.setSelection(0);
-		yRotation.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				yRot = yRotation.getSelection();
-			}
-		});
-
-		new Label(rotationGroup, SWT.NONE).setText("Z:");
-		final Slider zRotation = new Slider(rotationGroup, SWT.NONE);
-		zRotation.setIncrement(10);
-		zRotation.setMaximum(362);
-		zRotation.setMinimum(0);
-		zRotation.setThumb(2);
-		zRotation.setPageIncrement(20);
-		zRotation.setSelection(0);
-		zRotation.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				zRot = zRotation.getSelection();
-			}
-		});
-
-		Composite optionsGroup = new Composite(composite, SWT.NONE);
-		GridLayout layout = new GridLayout(2, false);
-		layout.marginWidth = 0;
-		optionsGroup.setLayout(layout);
-
-		new Label(optionsGroup, SWT.NONE).setText("Shape:");
-
-		final Combo statesCombo = new Combo(optionsGroup, SWT.READ_ONLY);
-		for (int i = 0; i < states.length; i++) {
-			statesCombo.add(states[i].getName());
-		}
-		statesCombo.select(0);
-		statesCombo.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				currentState = states[statesCombo.getSelectionIndex()];
-			}
-		});
-
-		final Button lightsButton = new Button(composite, SWT.CHECK);
-		lightsButton.setText("Lights");
-		lightsButton.setSelection(true);
-		lightsButton.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				if (lightsButton.getSelection()) {
-					GL.glEnable(GL.GL_LIGHTING);
-				} else {
-					GL.glDisable(GL.GL_LIGHTING);
-				}
-			}
-		});
-	}
-
-	/**
-	 * @see OpenGLTab#dispose()
-	 */
-	void dispose() {
-		super.dispose();
-		GLU.gluDeleteQuadric(quadratic);
-		GLU.gluDeleteQuadric(disk);
-		if (states != null) {
-			for (int i = 0; i < states.length; i++) {
-				states [i].dispose();
-			}
-		}
-	}
-
-	/**
-	 * Draws the logical AND of two shapes.
-	 *
-	 * @param a shape A
-	 * @param b shape B
-	 */
-	void drawAandB(Shape a, Shape b) {
-		// draw parts of B that are inside A
-		drawAinsideB(a, b, GL.GL_BACK, GL.GL_NOTEQUAL);
-		// we do not want the following to show up
-		GL.glColorMask(false, false, false, false);
-		// turn on depth testing
-		GL.glEnable(GL.GL_DEPTH_TEST);
-		GL.glDepthFunc(GL.GL_ALWAYS);
-		// render the front face of B
-		b.draw();
-		// reset the depth function
-		GL.glDepthFunc(GL.GL_LESS);
-		// draw parts of A that are inside B
-		drawAinsideB(b, a, GL.GL_BACK, GL.GL_NOTEQUAL);
-	}
-
-	/**
-	 * Draws the contents of one shape that appear within another.
-	 *
-	 * @param a the shape to draw
-	 * @param b the constraining shape
-	 * @param face
-	 * @param test
-	 */
-	void drawAinsideB(Shape a, Shape b, int face, int test) {
-		// turn off the color buffer
-		GL.glColorMask(false, false, false, false);
-		// clear the stencil buffer
-		GL.glClearStencil(0);
-		GL.glEnable(GL.GL_DEPTH_TEST);
-		// set to proper Culling
-		GL.glCullFace(face);
-		// render shape A
-		a.draw();
-		// set depth mask
-		GL.glDepthMask(false);
-		// enable stencil test
-		GL.glEnable(GL.GL_STENCIL_TEST);
-		GL.glStencilFunc(GL.GL_ALWAYS, 0, 0);
-		// set the stencil buffer to increment if the depth test passes
-		GL.glStencilOp(GL.GL_KEEP, GL.GL_KEEP, GL.GL_INCR);
-		// turn on back face culling
-		GL.glCullFace(GL.GL_BACK);
-		// render B
-		b.draw();
-		// set the stencil buffer to decrement if the depth test passes
-		GL.glStencilOp(GL.GL_KEEP, GL.GL_KEEP, GL.GL_DECR);
-		// cull the front face
-		GL.glCullFace(GL.GL_FRONT);
-		// render B again
-		b.draw();
-		// set depth mask
-		GL.glDepthMask(true);
-		GL.glColorMask(true, true, true, true);
-		// set the stencil buffer
-		GL.glStencilFunc(test, 0, 1);
-		// turn off depth testing
-		GL.glDisable(GL.GL_DEPTH_TEST);
-		// set to proper culling
-		GL.glCullFace(face);
-		// render A
-		a.draw();
-		// disable stencil test
-		GL.glDisable(GL.GL_STENCIL_TEST);
-	}
-
-	/**
-	 * Draws the logical OR of two shapes.
-	 *
-	 * @param a shape A
-	 * @param b shape B
-	 */
-	void drawAorB(Shape a, Shape b) {
-		GL.glEnable(GL.GL_DEPTH_TEST);
-		a.draw();
-		b.draw();
-		GL.glDisable(GL.GL_DEPTH_TEST);
-	}
-
-	/**
-	 * Draws one shape subtracted from another.
-	 *
-	 * @param a the base shape
-	 * @param b the shape to subtract
-	 */
-	void drawAsubB(Shape a, Shape b) {
-		// draw back parts of B inside A
-		drawAinsideB(b, a, GL.GL_FRONT, GL.GL_NOTEQUAL);
-		// we do not want the following to show up
-		GL.glColorMask(false, false, false, false);
-		GL.glEnable(GL.GL_DEPTH_TEST);
-		// change the depth test to GL_ALWAYS
-		GL.glDepthFunc(GL.GL_ALWAYS);
-		// render the front face of B
-		a.draw();
-		// reset the depth function
-		GL.glDepthFunc(GL.GL_LESS);
-		// draw front parts of A outside B
-		drawAinsideB(a, b, GL.GL_BACK, GL.GL_EQUAL);
-	}
-
-	/**
-	 * Draws the specifed shape.
-	 * 
-	 * @param shape the shape to draw
-	 */
-	void drawShape(Shape shape) {
-		GL.glEnable(GL.GL_DEPTH_TEST);
-		shape.draw();
-		GL.glDisable(GL.GL_DEPTH_TEST);
-	}
-
-	/**
-	 * @see OpenGLTab#getTabText()
-	 */
-	String getTabText() {
-		return "Area";
-	}
-	
-	/**
-	 * @see OpenGLTab#init()
-	 */
-	void init() {
-		if (!hasStencilSupport()) return;
-		
-		GL.glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
-		float[] lightPos = { 0.0f, 5.0f, -10.0f, 1.0f };
-		GL.glLightfv(GL.GL_LIGHT0, GL.GL_POSITION, lightPos);
-		quadratic = GLU.gluNewQuadric();
-		disk = GLU.gluNewQuadric();
-	
-		GL.glEnable(GL.GL_CULL_FACE);
-		GL.glEnable(GL.GL_LIST_MODE);
-		GL.glEnable(GL.GL_LIGHT0);
-		GL.glEnable(GL.GL_LIGHTING);
-		GL.glLightModeli(GL.GL_LIGHT_MODEL_TWO_SIDE, GL.GL_TRUE);
-
-		final float[] sphereMaterial = { 0.0f, 1.0f, 0.0f, 1.0f };
-		final float[] cylinderMaterial = { 1.0f, 0.0f, 0.0f, 1.0f };
-
-		Shape sphere = new Shape() {
-			public void draw() {
-				GL.glMaterialfv(
-					GL.GL_FRONT_AND_BACK,
-					GL.GL_AMBIENT_AND_DIFFUSE,
-					sphereMaterial);
-				GL.glColor3f(0.0f, 1.0f, 0.0f);
-				GLU.gluSphere(quadratic, 3, 32, 32);
-			}
-		};
-		Shape cylinder = new Shape() {
-			public void draw() {
-				GL.glMaterialfv(
-					GL.GL_FRONT_AND_BACK,
-					GL.GL_AMBIENT_AND_DIFFUSE,
-					cylinderMaterial);
-				GL.glColor3f(1.0f, 0.0f, 0.0f);
-				GLU.gluQuadricOrientation(disk, GLU.GLU_INSIDE);
-				GL.glPushMatrix();
-				GL.glTranslatef(1.0f, 1.0f, 0.0f);
-				GLU.gluDisk(disk, 0, 3, 32, 32);
-				GLU.gluCylinder(quadratic, 3, 3, 6, 32, 32);
-				GL.glPushMatrix();
-				GL.glTranslatef(0.0f, 0.0f, 6.0f);
-				GLU.gluQuadricOrientation(disk, GLU.GLU_OUTSIDE);
-				GLU.gluDisk(disk, 0, 3, 32, 32);
-				GL.glPopMatrix();
-				GL.glPopMatrix();
-			}
-		};
-
-		// create the display lists and states
-		states = new State[6];
-		int index = 1;
-		
-		GL.glNewList(index, GL.GL_COMPILE);
-		drawShape(cylinder);
-		GL.glEndList();
-		states[0] = new State("Cylinder",index++);
-
-		GL.glNewList(index, GL.GL_COMPILE);
-		drawShape(sphere);
-		GL.glEndList();
-		states[1] = new State("Sphere",index++);
-
-		GL.glNewList(index, GL.GL_COMPILE);
-		drawAorB(cylinder, sphere);
-		GL.glEndList();
-		states[2] = new State("Cylinder OR Sphere",index++);
-
-		GL.glNewList(index, GL.GL_COMPILE);
-		drawAandB(cylinder, sphere);
-		GL.glEndList();
-		states[3] = new State("Cylinder AND Sphere",index++);
-
-		GL.glNewList(index, GL.GL_COMPILE);
-		drawAsubB(cylinder, sphere);
-		GL.glEndList();
-		states[4] = new State("Cylinder SUB Sphere",index++);
-		
-		GL.glNewList(index, GL.GL_COMPILE);
-		drawAsubB(sphere, cylinder);
-		GL.glEndList();
-		states[5] = new State("Sphere SUB Cylinder",index++);
-
-		currentState = states[0];
-	}
-	
-	/**
-	 * @see OpenGLTab#isStencilSupportNeeded
-	 */
-	boolean isStencilSupportNeeded() {
-		return true;
-	}
-
-	/**
-	 * @see OpenGLTab#renderScene()
-	 */
-	void renderScene() {
-		GL.glClear(
-			GL.GL_COLOR_BUFFER_BIT
-				| GL.GL_DEPTH_BUFFER_BIT
-				| GL.GL_STENCIL_BUFFER_BIT);
-
-		GL.glLoadIdentity();
-		GL.glTranslatef(xPos, yPos, zPos);
-		GL.glRotatef(xRot, 1.0f, 0.0f, 0.0f);
-		GL.glRotatef(yRot, 0.0f, 1.0f, 0.0f);
-		GL.glRotatef(zRot, 0.0f, 0.0f, 1.0f);
-
-		currentState.display();
-	}
-}
diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/ColorSelectionGroup.java b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/ColorSelectionGroup.java
deleted file mode 100644
index c5dbb53..0000000
--- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/ColorSelectionGroup.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl.examples;
-
-
-import java.util.Vector;
-
-import org.eclipse.opengl.*;
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-class ColorSelectionGroup implements Listener {
-	private Color color;
-	private Label label;
-	private Image image;
-	private Button button;
-	private Vector listeners = new Vector();
-
-	/**
-	 * Constructor.
-	 * 
-	 * @param parent the parent composite
-	 * @param style style bits to be applied to the color group
-	 */
-	ColorSelectionGroup(Composite parent, int style) {
-		super();
-		initColor(parent.getDisplay());
-
-		Composite colorGroup = new Composite(parent, style);
-		GridLayout layout = new GridLayout(2, false);
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		colorGroup.setLayout(layout);
-//		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-//		data.grabExcessHorizontalSpace = true;
-//		colorGroup.setLayoutData(data);
-
-		button = new Button(colorGroup, SWT.NONE);
-		button.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END));
-		image = new Image(button.getDisplay(), 12, 12);
-		drawButtonImage();
-		button.setImage(image);
-		button.addListener(SWT.Selection, this);
-		button.addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent event) {
-				if (image != null) image.dispose();
-				if (color != null) color.dispose();
-			}
-		});
-		
-		label = new Label(colorGroup, SWT.NONE);
-		label.setText("Color");
-//		data = new GridData(GridData.FILL_HORIZONTAL);
-//		data.grabExcessHorizontalSpace = true;
-//		label.setLayoutData(data);
-	}
-
-	/**
-	 * Adds the argument to this group's collection of
-	 * color selection listeners.
-	 * 
-	 * @param listener
-	 */
-	void addColorSelectionListener(IColorSelectionListener listener) {
-		listeners.addElement(listener);
-	}
-	
-	/**
-	 * Draws the colored square on the selection button.
-	 */
-	void drawButtonImage() {
-		GC gc = new GC(image);
-		gc.setBackground(color);
-		Rectangle bounds = image.getBounds();
-		gc.fillRectangle(0, 0, bounds.width, bounds.height);
-		gc.drawRectangle(0, 0, bounds.width - 1, bounds.height - 1);
-		gc.dispose();
-	}
-
-	/**
-	 * @see org.eclipse.swt.widgets.Listener#handleEvent(Event)
-	 */
-	public void handleEvent(Event e) {
-		Shell shell = button.getShell();
-		ColorDialog colorDialog = new ColorDialog(shell);
-		colorDialog.setRGB(
-			new RGB(color.getRed(), color.getGreen(), color.getBlue()));
-		RGB rgb = colorDialog.open();
-		if (rgb == null) return;
-		setRGB(rgb);
-		notifyListeners(rgb);
-	}
-
-	/**
-	 * Initializes the color by querying for the current color.
-	 * 
-	 * @param display
-	 */
-	void initColor(Display display) {
-		double[] currentColor = new double[4];
-		GL.glGetDoublev(GL.GL_CURRENT_COLOR, currentColor);
-		RGB rgb =
-			new RGB(
-				(int) currentColor[0] * 255,
-				(int) currentColor[1] * 255,
-				(int) currentColor[2] * 255);
-		color = new Color(display, rgb);
-	}
-	
-	/**
-	 * Notifies all registered color selection listeners.
-	 * 
-	 * @param value
-	 */
-	void notifyListeners(RGB rgb) {
-		IColorSelectionListener[] listenersArr =
-			new IColorSelectionListener[listeners.size()];
-		listeners.copyInto(listenersArr);
-		for (int i = 0; i < listenersArr.length; i++) {
-			listenersArr [i].handleColorSelection(rgb);
-		}
-	}
-
-	/**
-	 * Removes the argument from this group's collection of color selection
-	 * listeners.  If the argument is not a registered listener then does
-	 * nothing.
-	 * 
-	 * @param listener
-	 */
-	void removeColorSelectionListener(IColorSelectionListener listener) {
-		listeners.removeElement(listener);
-	}
-
-	/**
-	 * Sets the text for the group's label.
-	 * 
-	 * @param text the new label text
-	 */
-	void setText(String text) {
-		label.setText(text);
-	}
-
-	/**
-	 * Sets the current color.
-	 * 
-	 * @param rgb the rgb of the new color
-	 */
-	void setRGB(RGB rgb) {
-		Color oldColor = color;
-		color = new Color(button.getDisplay(), rgb);
-		drawButtonImage();
-		button.setImage(image);
-		if (oldColor != null) oldColor.dispose();
-	}
-}
diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/FogTab.java b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/FogTab.java
deleted file mode 100644
index 9320d59..0000000
--- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/FogTab.java
+++ /dev/null
@@ -1,254 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl.examples;
-
-
-import org.eclipse.opengl.*;
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-class FogTab extends OpenGLTab {
-
-	private float rotY = 0.0f;
-	private float yPos = 0.0f, xPos = 0.0f, zPos = -15.0f;
-	private int cubeListIndexBase;
-	private final static int[] FOG_TYPES = { GL.GL_LINEAR, GL.GL_EXP, GL.GL_EXP2 };
-	private final static String[] FOG_NAMES = { "LINEAR", "GL_EXP", "GL_EXP2" };
-	private final static int SLEEP_LENGTH = 0;
-
-	/**
-	 * @see OpenGLTab#createControls(Composite)
-	 */
-	void createControls(Composite composite) {
-		Group movementGroup = new Group(composite, SWT.NONE);
-		movementGroup.setText("Translation");
-		movementGroup.setLayout(new GridLayout(2, false));
-
-		new Label(movementGroup, SWT.NONE).setText("X:");
-		final Slider xMove = new Slider(movementGroup, SWT.NONE);
-		xMove.setIncrement(1);
-		xMove.setMaximum(12);
-		xMove.setMinimum(0);
-		xMove.setThumb(2);
-		xMove.setPageIncrement(2);
-		xMove.setSelection(5);
-		xMove.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				xPos = xMove.getSelection() - 5;
-			}
-		});
-
-		new Label(movementGroup, SWT.NONE).setText("Y:");
-		final Slider yMove = new Slider(movementGroup, SWT.NONE);
-		yMove.setIncrement(1);
-		yMove.setMaximum(12);
-		yMove.setMinimum(0);
-		yMove.setThumb(2);
-		yMove.setPageIncrement(2);
-		yMove.setSelection(5);
-		yMove.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				yPos = yMove.getSelection() - 5;
-			}
-		});
-
-		new Label(movementGroup, SWT.NONE).setText("Z:");
-		final Slider zMove = new Slider(movementGroup, SWT.NONE);
-		zMove.setIncrement(1);
-		zMove.setMaximum(24);
-		zMove.setMinimum(0);
-		zMove.setThumb(4);
-		zMove.setPageIncrement(2);
-		zMove.setSelection(10);
-		zMove.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				zPos = zMove.getSelection() - 25;
-			}
-		});
-
-		Composite fogTypesGroup = new Composite(composite,SWT.NONE);
-		GridLayout layout = new GridLayout(2,false);
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		fogTypesGroup.setLayout(layout);
-		fogTypesGroup.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-
-		new Label(fogTypesGroup, SWT.NONE).setText("Fog Types:");
-		final Combo fogTypeCombo = new Combo(fogTypesGroup, SWT.READ_ONLY);
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		data.grabExcessHorizontalSpace = true;
-		fogTypeCombo.setLayoutData(data);
-		fogTypeCombo.setItems(FOG_NAMES);
-		fogTypeCombo.select(0);
-
-		new Label(composite, SWT.NONE).setText("Fog Density:");
-		final Slider fogDensitySlider = new Slider(composite, SWT.NONE);
-		fogDensitySlider.setIncrement(1);
-		fogDensitySlider.setMaximum(32);
-		fogDensitySlider.setMinimum(0);
-		fogDensitySlider.setThumb(2);
-		fogDensitySlider.setPageIncrement(5);
-		fogDensitySlider.setSelection(0);
-		fogDensitySlider.setEnabled(false);
-		fogDensitySlider.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				float fogDensity = ((float)fogDensitySlider.getSelection()) / 100;
-				GL.glFogf(GL.GL_FOG_DENSITY, fogDensity);
-			}
-		});
-		fogTypeCombo.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				int currentSelection = fogTypeCombo.getSelectionIndex();
-				// fog type GL.GL_LINEAR does not utilize fogDensity, but the other fog types do
-				fogDensitySlider.setEnabled(currentSelection != 0);
-				GL.glFogf(GL.GL_FOG_MODE, FOG_TYPES[currentSelection]);
-			}
-		});
-	}
-
-	/**
-	 * Creates a cube at 0,0 in the viewport.
-	 */
- 	void createCube() {
-		GL.glNewList(cubeListIndexBase, GL.GL_COMPILE);
-		GL.glBegin(GL.GL_QUADS);
-		// front
-		GL.glColor3f(0.0f, 1.0f, 0.0f);
-		GL.glVertex3f(-0.5f, -0.5f, 0.5f);	// bottom left 
-		GL.glColor3f(0.0f, 0.0f, 1.0f);
-		GL.glVertex3f(0.5f, -0.5f, 0.5f);	// bottom right
-		GL.glColor3f(1.0f, 1.0f, 0.0f);
-		GL.glVertex3f(0.5f, 0.5f, 0.5f);	// top right
-		GL.glColor3f(1.0f, 0.0f, 0.0f);
-		GL.glVertex3f(-0.5f, 0.5f, 0.5f);	// top left
-		// back
-		GL.glColor3f(0.0f, 0.0f, 1.0f);
-		GL.glVertex3f(-0.5f, -0.5f, -0.5f);	// bottom left 
-		GL.glColor3f(0.0f, 1.0f, 0.0f);
-		GL.glVertex3f(0.5f, -0.5f, -0.5f);	// bottom right
-		GL.glColor3f(1.0f, 0.0f, 0.0f);
-		GL.glVertex3f(0.5f, 0.5f, -0.5f);	// top right
-		GL.glColor3f(1.0f, 1.0f, 0.0f);
-		GL.glVertex3f(-0.5f, 0.5f, -0.5f);	// top left
-		// left
-		GL.glColor3f(0.0f, 0.0f, 1.0f);
-		GL.glVertex3f(-0.5f, -0.5f, -0.5f);	// bottom left
-		GL.glColor3f(0.0f, 1.0f, 0.0f);
-		GL.glVertex3f(-0.5f, -0.5f, 0.5f);	// bottom right
-		GL.glColor3f(1.0f, 0.0f, 0.0f);
-		GL.glVertex3f(-0.5f, 0.5f, 0.5f);	// top right
-		GL.glColor3f(1.0f, 1.0f, 0.0f);
-		GL.glVertex3f(-0.5f, 0.5f, -0.5f);	// top left	
-		// right
-		GL.glColor3f(0.0f, 0.0f, 1.0f);
-		GL.glVertex3f(0.5f, -0.5f, 0.5f);	// bottom left
-		GL.glColor3f(0.0f, 1.0f, 0.0f);
-		GL.glVertex3f(0.5f, -0.5f, -0.5f);	// bottom right
-		GL.glColor3f(1.0f, 0.0f, 0.0f);
-		GL.glVertex3f(0.5f, 0.5f, -0.5f);	// top right
-		GL.glColor3f(1.0f, 1.0f, 0.0f);
-		GL.glVertex3f(0.5f, 0.5f, 0.5f);	// top left
-		// top
-		GL.glColor3f(1.0f, 0.0f, 0.0f);
-		GL.glVertex3f(0.5f, 0.5f, -0.5f);
-		GL.glColor3f(1.0f, 1.0f, 0.0f);
-		GL.glVertex3f(-0.5f, 0.5f, -0.5f);
-		GL.glColor3f(1.0f, 0.0f, 0.0f);
-		GL.glVertex3f(-0.5f, 0.5f, 0.5f);
-		GL.glColor3f(1.0f, 1.0f, 0.0f);
-		GL.glVertex3f(0.5f, 0.5f, 0.5f);
-		// bottom
-		GL.glColor3f(0.0f, 0.0f, 1.0f);
-		GL.glVertex3f(0.5f, -0.5f, 0.5f);
-		GL.glColor3f(0.0f, 1.0f, 0.0f);
-		GL.glVertex3f(-0.5f, -0.5f, 0.5f);
-		GL.glColor3f(0.0f, 0.0f, 1.0f);
-		GL.glVertex3f(-0.5f, -0.5f, -0.5f);
-		GL.glColor3f(0.0f, 1.0f, 0.0f);
-		GL.glVertex3f(0.5f, -0.5f, -0.5f);
-		GL.glEnd();
-		GL.glEndList();
-	}
-
-	/**
-	 * @see OpenGLTab#dispose()
-	 */
-	void dispose() {
-		super.dispose();
-		GL.glDeleteLists(cubeListIndexBase, 1);
-	}
-
-	/**
-	 * @see OpenGLTab#getSleepLength()
-	 */
-	int getSleepLength() {
-		return SLEEP_LENGTH;	
-	}
-	/**
-	 * @see OpenGLTab#getTabText()
-	 */
-	String getTabText() {
-		return "Fog";
-	}
-
-	/**
-	 * @see OpenGLTab#init()
-	 */
-	void init() {
-		GL.glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
-		// fog color should be the same as the clear color
-		// to look appropriate
-		float[] fogColor = { 1.0f, 1.0f, 1.0f, 1.0f };
-		GL.glFogfv(GL.GL_FOG_COLOR, fogColor);
-		GL.glHint(GL.GL_FOG_HINT, GL.GL_DONT_CARE);
-		GL.glFogf(GL.GL_FOG_START, 0);
-		GL.glFogf(GL.GL_FOG_DENSITY, 0.0f);
-		// set the end of the start distance; anything > 15
-		// units from the camera will be covered in fog
-		GL.glFogf(GL.GL_FOG_END, 15);
-		GL.glFogf(GL.GL_FOG_MODE, FOG_TYPES[0]);
-		GL.glEnable(GL.GL_FOG);
-		GL.glEnable(GL.GL_DEPTH_TEST);
-
-		cubeListIndexBase = GL.glGenLists(1);
-		createCube();
-	}
-
-	/**
-	 * @see OpenGLTab#renderScene()
-	 */
-	void renderScene() {
-		GL.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT);
-		GL.glLoadIdentity();
-		GL.glTranslatef(xPos, yPos, zPos);
-		GL.glRotatef(rotY, 0.0f, 1.0f, 0.0f);
-
-		GL.glCallList(cubeListIndexBase);
-
-		GL.glPushMatrix();
-		GL.glTranslatef(3, 0, -3);
-		GL.glCallList(cubeListIndexBase);
-		GL.glPopMatrix();
-
-		GL.glPushMatrix();
-		GL.glTranslatef(-3, 0, -3);
-		GL.glCallList(cubeListIndexBase);
-		GL.glPopMatrix();
-
-		GL.glPushMatrix();
-		GL.glTranslatef(0, 0, 4);
-		GL.glCallList(cubeListIndexBase);
-		GL.glPopMatrix();
-
-		rotY += 0.6f;
-	}
-}
diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/GradientTab.java b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/GradientTab.java
deleted file mode 100644
index cd9d5df..0000000
--- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/GradientTab.java
+++ /dev/null
@@ -1,233 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl.examples;
-
-
-import org.eclipse.opengl.*;
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-class GradientTab extends OpenGLTab {
-	private float xPos = 0.0f, yPos = 0.0f, zPos = -7.0f;
-	private float xRot = 180.0f, yRot = 180.0f, zRot = 180.0f;
-	private int currentSelection = 1;
-	private final static float[] BEZIER_COLORS = {
-		0.0f, 1.0f, 0.0f, 0.0f, 0.3f, 0.6f, 0.1f, 0.0f,
-		0.8f, 0.2f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f,
-		0.0f, 0.0f, 1.0f, 0.0f, 0.8f, 0.8f, 0.8f, 0.0f
-	};
-	private final static float[] BEZIER_POINTS = {
-		-1.5f, -1.5f, 4.0f, -0.5f, -1.5f, 2.0f, 0.5f, -1.5f,
-		-1.0f, 1.5f, -1.5f, 2.0f, -1.5f, -0.5f, 1.0f, -0.5f,
-		-0.5f, 3.0f, 0.5f, -0.5f, 0.0f, 1.5f, -0.5f, -1.0f,
-		-1.5f, 0.5f, 4.0f, -0.5f, 0.5f, 0.0f, 0.5f, 0.5f,
-		3.0f, 1.5f, 0.5f, 4.0f, -1.5f, 1.5f, -2.0f, -0.5f,
-		1.5f, -2.0f, 0.5f, 1.5f, 0.0f, 1.5f, 1.5f, -1.0f,
-	};
-	private final static String[] OBJECT_NAMES = { "Bezier", "Square" };
-
-	/**
-	 * @see OpenGLTab#createControls(Composite)
-	 */
-	void createControls(Composite composite) {
-		Group movementGroup = new Group(composite, SWT.NONE);
-		movementGroup.setText("Translation");
-		movementGroup.setLayout(new GridLayout(2, false));
-
-		new Label(movementGroup, SWT.NONE).setText("X:");
-		final Slider xMove = new Slider(movementGroup, SWT.NONE);
-		xMove.setIncrement(1);
-		xMove.setMaximum(12);
-		xMove.setMinimum(0);
-		xMove.setThumb(2);
-		xMove.setPageIncrement(2);
-		xMove.setSelection(5);
-		xMove.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				xPos = xMove.getSelection() - 5;
-			}
-		});
-
-		new Label(movementGroup, SWT.NONE).setText("Y:");
-		final Slider yMove = new Slider(movementGroup, SWT.NONE);
-		yMove.setIncrement(1);
-		yMove.setMaximum(12);
-		yMove.setMinimum(0);
-		yMove.setThumb(2);
-		yMove.setPageIncrement(2);
-		yMove.setSelection(5);
-		yMove.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				yPos = yMove.getSelection() - 5;
-			}
-		});
-
-		new Label(movementGroup, SWT.NONE).setText("Z:");
-		final Slider zMove = new Slider(movementGroup, SWT.NONE);
-		zMove.setIncrement(1);
-		zMove.setMaximum(12);
-		zMove.setMinimum(0);
-		zMove.setThumb(2);
-		zMove.setPageIncrement(2);
-		zMove.setSelection(5);
-		zMove.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				zPos = zMove.getSelection() - 12;
-			}
-		});
-
-		Group rotationGroup = new Group(composite, SWT.NONE);
-		rotationGroup.setText("Rotation");
-		rotationGroup.setLayout(new GridLayout(2, false));
-
-		new Label(rotationGroup, SWT.NONE).setText("X:");
-		final Slider xRotation = new Slider(rotationGroup, SWT.NONE);
-		xRotation.setIncrement(10);
-		xRotation.setMaximum(362);
-		xRotation.setMinimum(0);
-		xRotation.setThumb(2);
-		xRotation.setPageIncrement(20);
-		xRotation.setSelection(180);
-		xRotation.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				xRot = xRotation.getSelection();
-			}
-		});
-
-		new Label(rotationGroup, SWT.NONE).setText("Y:");
-		final Slider yRotation = new Slider(rotationGroup, SWT.NONE);
-		yRotation.setIncrement(10);
-		yRotation.setMaximum(362);
-		yRotation.setMinimum(0);
-		yRotation.setThumb(2);
-		yRotation.setPageIncrement(20);
-		yRotation.setSelection(180);
-		yRotation.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				yRot = yRotation.getSelection();
-			}
-		});
-
-		new Label(rotationGroup, SWT.NONE).setText("Z:");
-		final Slider zRotation = new Slider(rotationGroup, SWT.NONE);
-		zRotation.setIncrement(10);
-		zRotation.setMaximum(362);
-		zRotation.setMinimum(0);
-		zRotation.setThumb(2);
-		zRotation.setPageIncrement(20);
-		zRotation.setSelection(180);
-		zRotation.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				zRot = zRotation.getSelection();
-			}
-		});
-		
-		Composite objectGroup = new Composite(composite,SWT.NONE);
-		GridLayout layout = new GridLayout(2,false);
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		objectGroup.setLayout(layout);
-		objectGroup.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-
-		new Label(objectGroup, SWT.NONE).setText("Object:");
-		final Combo objectCombo = new Combo(objectGroup, SWT.READ_ONLY);
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		data.grabExcessHorizontalSpace = true;
-		objectCombo.setLayoutData(data);
-		objectCombo.setItems(OBJECT_NAMES);
-		objectCombo.select(0);
-		objectCombo.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				currentSelection = objectCombo.getSelectionIndex() + 1;
-			}
-		});
-	}
-	
-	/**
-	 * @see OpenGLTab#dispose()
-	 */
-	void dispose() {
-		super.dispose();
-		GL.glDeleteLists(1, 2);
-	}
-	
-	/**
-	 * @see OpenGLTab#getTabText()
-	 */
-	String getTabText() {
-		return "Gradients";
-	}
-	
-	/**
-	 * @see OpenGLTab#init()
-	 */
-	void init() {
-		GL.glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
-		GL.glHint(GL.GL_LINE_SMOOTH_HINT, GL.GL_NICEST);
-		GL.glBlendFunc(GL.GL_SRC_ALPHA, GL.GL_ONE_MINUS_SRC_ALPHA);
-		GL.glPolygonMode(GL.GL_FRONT_AND_BACK, GL.GL_FILL);
-		GL.glMap2f(GL.GL_MAP2_VERTEX_3, 0, 1, 3, 4, 0, 1, 12, 4, BEZIER_POINTS);
-		GL.glMap2f(GL.GL_MAP2_COLOR_4, 0, 1, 4, 1, 0, 1, 4, 6, BEZIER_COLORS);
-		GL.glMapGrid2f(20, 0.0f, 1.0f, 20, 0.0f, 1.0f);
-		GL.glShadeModel(GL.GL_SMOOTH);
-		GL.glEnable(GL.GL_LINE_SMOOTH);
-		GL.glEnable(GL.GL_LINE_STIPPLE);
-		GL.glEnable(GL.GL_BLEND);
-		GL.glEnable(GL.GL_MAP2_COLOR_4);
-		GL.glEnable(GL.GL_MAP2_VERTEX_3);
-		GL.glEnable(GL.GL_DEPTH_TEST);
-
-		// create display lists
-		GL.glNewList(1, GL.GL_COMPILE);
-		GL.glEvalMesh2(GL.GL_FILL, 0, 20, 0, 20);
-		GL.glEndList();
-		GL.glNewList(2, GL.GL_COMPILE);
-		GL.glBegin(GL.GL_TRIANGLE_FAN);
-		GL.glColor3f(0.0f, 1.0f, 0.0f);
-		GL.glVertex3f(0.0f, 0.0f, 0.0f);
-		GL.glColor3f(1.0f, 0.0f, 0.0f);
-		GL.glVertex3f(0.0f, 2.0f, 0.0f);
-		GL.glColor3f(0.0f, 1.0f, 0.0f);
-		GL.glVertex3f(-2.0f, 2.0f, 0.0f);
-		GL.glColor3f(0.0f, 0.0f, 1.0f);
-		GL.glVertex3f(-2.0f, 0.0f, 0.0f);
-		GL.glColor3f(0.0f, 1.0f, 0.0f);
-		GL.glVertex3f(-2.0f, -2.0f, 0.0f);
-		GL.glColor3f(1.0f, 0.0f, 0.0f);
-		GL.glVertex3f(0.0f, -2.0f, 0.0f);
-		GL.glColor3f(0.0f, 1.0f, 0.0f);
-		GL.glVertex3f(2.0f, -2.0f, 0.0f);
-		GL.glColor3f(0.0f, 0.0f, 1.0f);
-		GL.glVertex3f(2.0f, 0.0f, 0.0f);
-		GL.glColor3f(0.0f, 1.0f, 0.0f);
-		GL.glVertex3f(2.0f, 2.0f, 0.0f);
-		GL.glColor3f(1.0f, 0.0f, 0.0f);
-		GL.glVertex3f(0.0f, 2.0f, 0.0f);
-		GL.glEnd();
-		GL.glEndList();
-	}
-	
-	/**
-	 * @see OpenGLTab#renderScene()
-	 */
-	void renderScene() {
-		GL.glClear(GL.GL_COLOR_BUFFER_BIT);
-		GL.glLoadIdentity();
-		GL.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT);
-		GL.glTranslatef(xPos, yPos, zPos);
-		GL.glRotatef(xRot, 1.0f, 0.0f, 0.0f);
-		GL.glRotatef(yRot, 0.0f, 1.0f, 0.0f);
-		GL.glRotatef(zRot, 0.0f, 0.0f, 1.0f);
-		GL.glColor3f(1.0f, 0.0f, 0.0f);
-		GL.glCallList(currentSelection);
-	}
-}
diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/IColorSelectionListener.java b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/IColorSelectionListener.java
deleted file mode 100644
index 8e93541..0000000
--- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/IColorSelectionListener.java
+++ /dev/null
@@ -1,17 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl.examples;
-
-import org.eclipse.swt.graphics.RGB;
-
-public interface IColorSelectionListener {
-	public void handleColorSelection(RGB rgb);
-}
diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/ImageDataUtil.java b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/ImageDataUtil.java
deleted file mode 100755
index 9166ae9..0000000
--- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/ImageDataUtil.java
+++ /dev/null
@@ -1,559 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl.examples;
-
-import org.eclipse.swt.graphics.ImageData;
-import org.eclipse.swt.graphics.PaletteData;
-
-public class ImageDataUtil {
-	/**
-	 * Alpha mode, values 0 - 255 specify global alpha level
-	 */
-	static final int
-		ALPHA_OPAQUE = 255,           // Fully opaque (ignores any alpha data)
-		ALPHA_TRANSPARENT = 0,        // Fully transparent (ignores any alpha data)
-		ALPHA_CHANNEL_SEPARATE = -1,  // Use alpha channel from separate alphaData
-		ALPHA_CHANNEL_SOURCE = -2,    // Use alpha channel embedded in sourceData
-		ALPHA_MASK_UNPACKED = -3,     // Use transparency mask formed by bytes in alphaData (non-zero is opaque)
-		ALPHA_MASK_PACKED = -4,       // Use transparency mask formed by packed bits in alphaData
-		ALPHA_MASK_INDEX = -5,        // Consider source palette indices transparent if in alphaData array
-		ALPHA_MASK_RGB = -6;          // Consider source RGBs transparent if in RGB888 format alphaData array
-		
-	/**
-	 * Data types (internal)
-	 */
-	private static final int
-		// direct / true color formats with arbitrary masks & shifts
-		TYPE_GENERIC_8 = 0,
-		TYPE_GENERIC_16_MSB = 1,
-		TYPE_GENERIC_16_LSB = 2,
-		TYPE_GENERIC_24 = 3,
-		TYPE_GENERIC_32_MSB = 4,
-		TYPE_GENERIC_32_LSB = 5;
-		
-	/**
-	 * Byte and bit order constants.
-	 */
-	static final int LSB_FIRST = 0;
-	static final int MSB_FIRST = 1;
-	
-	/**
-	 * Blit operation bits to be OR'ed together to specify the desired operation.
-	 */
-	static final int
-		BLIT_SRC = 1,     // copy source directly, else applies logic operations
-		BLIT_ALPHA = 2,   // enable alpha blending
-		BLIT_DITHER = 4;  // enable dithering in low color modes
-		
-	/**
-	 * Arbitrary channel width data to 8-bit conversion table.
-	 */
-	static final byte[][] ANY_TO_EIGHT = new byte[9][];
-	static {
-		for (int b = 0; b < 9; ++b) {
-			byte[] data = ANY_TO_EIGHT[b] = new byte[1 << b];
-			if (b == 0) continue;
-			int inc = 0;
-			for (int bit = 0x10000; (bit >>= b) != 0;) inc |= bit;
-			for (int v = 0, p = 0; v < 0x10000; v+= inc) data[p++] = (byte)(v >> 8);
-		}
-	}
-
-	/**
-	 * Blits a direct palette image into a direct palette image.
-	 * <p>
-	 * Note: When the source and destination depth, order and masks
-	 * are pairwise equal and the blitter operation is BLIT_SRC,
-	 * the masks are ignored.  Hence when not changing the image
-	 * data format, 0 may be specified for the masks.
-	 * </p>
-	 * 
-	 * @param op the blitter operation: a combination of BLIT_xxx flags
-	 *        (see BLIT_xxx constants)
-	 * @param srcData the source byte array containing image data
-	 * @param srcDepth the source depth: one of 8, 16, 24, 32
-	 * @param srcStride the source number of bytes per line
-	 * @param srcOrder the source byte ordering: one of MSB_FIRST or LSB_FIRST;
-	 *        ignored if srcDepth is not 16 or 32
-	 * @param srcX the top-left x-coord of the source blit region
-	 * @param srcY the top-left y-coord of the source blit region
-	 * @param srcWidth the width of the source blit region
-	 * @param srcHeight the height of the source blit region
-	 * @param srcRedMask the source red channel mask
-	 * @param srcGreenMask the source green channel mask
-	 * @param srcBlueMask the source blue channel mask
-	 * @param alphaMode the alpha blending or mask mode, may be
-	 *        an integer 0-255 for global alpha; ignored if BLIT_ALPHA
-	 *        not specified in the blitter operations
-	 *        (see ALPHA_MODE_xxx constants)
-	 * @param alphaData the alpha blending or mask data, varies depending
-	 *        on the value of alphaMode and sometimes ignored
-	 * @param alphaStride the alpha data number of bytes per line
-	 * @param alphaX the top-left x-coord of the alpha blit region
-	 * @param alphaY the top-left y-coord of the alpha blit region
-	 * @param destData the destination byte array containing image data
-	 * @param destDepth the destination depth: one of 8, 16, 24, 32
-	 * @param destStride the destination number of bytes per line
-	 * @param destOrder the destination byte ordering: one of MSB_FIRST or LSB_FIRST;
-	 *        ignored if destDepth is not 16 or 32
-	 * @param destX the top-left x-coord of the destination blit region
-	 * @param destY the top-left y-coord of the destination blit region
-	 * @param destWidth the width of the destination blit region
-	 * @param destHeight the height of the destination blit region
-	 * @param destRedMask the destination red channel mask
-	 * @param destGreenMask the destination green channel mask
-	 * @param destBlueMask the destination blue channel mask
-	 * @param flipX if true the resulting image is flipped along the vertical axis
-	 * @param flipY if true the resulting image is flipped along the horizontal axis
-	 */
-	static void blit(int op,
-		byte[] srcData, int srcDepth, int srcStride, int srcOrder,
-		int srcX, int srcY, int srcWidth, int srcHeight,
-		int srcRedMask, int srcGreenMask, int srcBlueMask,
-		int alphaMode, byte[] alphaData, int alphaStride, int alphaX, int alphaY,
-		byte[] destData, int destDepth, int destStride, int destOrder,
-		int destX, int destY, int destWidth, int destHeight,
-		int destRedMask, int destGreenMask, int destBlueMask,
-		boolean flipX, boolean flipY) {
-		if ((destWidth <= 0) || (destHeight <= 0) || (alphaMode == ALPHA_TRANSPARENT)) return;
-
-		// these should be supplied as params later
-		final int srcAlphaMask = 0, destAlphaMask = 0;
-
-		/*** Prepare scaling data ***/
-		final int dwm1 = destWidth - 1;
-		final int sfxi = (dwm1 != 0) ? (int)((((long)srcWidth << 16) - 1) / dwm1) : 0;
-		final int dhm1 = destHeight - 1;
-		final int sfyi = (dhm1 != 0) ? (int)((((long)srcHeight << 16) - 1) / dhm1) : 0;
-
-		/*** Prepare source-related data ***/
-		final int sbpp, stype;
-		switch (srcDepth) {
-			case 8:
-				sbpp = 1;
-				stype = TYPE_GENERIC_8;
-				break;
-			case 16:
-				sbpp = 2;
-				stype = (srcOrder == MSB_FIRST) ? TYPE_GENERIC_16_MSB : TYPE_GENERIC_16_LSB;
-				break;
-			case 24:
-				sbpp = 3;
-				stype = TYPE_GENERIC_24;
-				break;
-			case 32:
-				sbpp = 4;
-				stype = (srcOrder == MSB_FIRST) ? TYPE_GENERIC_32_MSB : TYPE_GENERIC_32_LSB;
-				break;
-			default:
-				//throw new IllegalArgumentException("Invalid source type");
-				return;
-		}			
-		int spr = srcY * srcStride + srcX * sbpp;
-
-		/*** Prepare destination-related data ***/
-		final int dbpp, dtype;
-		switch (destDepth) {
-			case 8:
-				dbpp = 1;
-				dtype = TYPE_GENERIC_8;
-				break;
-			case 16:
-				dbpp = 2;
-				dtype = (destOrder == MSB_FIRST) ? TYPE_GENERIC_16_MSB : TYPE_GENERIC_16_LSB;
-				break;
-			case 24:
-				dbpp = 3;
-				dtype = TYPE_GENERIC_24;
-				break;
-			case 32:
-				dbpp = 4;
-				dtype = (destOrder == MSB_FIRST) ? TYPE_GENERIC_32_MSB : TYPE_GENERIC_32_LSB;
-				break;
-			default:
-				//throw new IllegalArgumentException("Invalid destination type");
-				return;
-		}			
-		int dpr = ((flipY) ? destY + dhm1 : destY) * destStride + ((flipX) ? destX + dwm1 : destX) * dbpp;
-		final int dprxi = (flipX) ? -dbpp : dbpp;
-		final int dpryi = (flipY) ? -destStride : destStride;
-
-		/*** Prepare special processing data ***/
-		int apr;
-		if ((op & BLIT_ALPHA) != 0) {
-			switch (alphaMode) {
-				case ALPHA_MASK_UNPACKED:
-				case ALPHA_CHANNEL_SEPARATE:
-					if (alphaData == null) alphaMode = 0x10000;
-					apr = alphaY * alphaStride + alphaX;
-					break;
-				case ALPHA_MASK_PACKED:
-					if (alphaData == null) alphaMode = 0x10000;
-					alphaStride <<= 3;
-					apr = alphaY * alphaStride + alphaX;
-					break;
-				case ALPHA_MASK_INDEX:
-					//throw new IllegalArgumentException("Invalid alpha type");
-					return;
-				case ALPHA_MASK_RGB:
-					if (alphaData == null) alphaMode = 0x10000;
-					apr = 0;
-					break;
-				default:
-					alphaMode = (alphaMode << 16) / 255; // prescale
-				case ALPHA_CHANNEL_SOURCE:
-					apr = 0;
-					break;
-			}
-		} else {
-			alphaMode = 0x10000;
-			apr = 0;
-		}
-
-		/*** Blit ***/
-		int dp = dpr;
-		int sp = spr;
-		if ((alphaMode == 0x10000) && (stype == dtype) &&
-			(srcRedMask == destRedMask) && (srcGreenMask == destGreenMask) &&
-			(srcBlueMask == destBlueMask) && (srcAlphaMask == destAlphaMask)) {
-			/*** Fast blit (straight copy) ***/
-			switch (sbpp) {
-				case 1:
-					for (int dy = destHeight, sfy = sfyi; dy > 0; --dy, sp = spr += (sfy >>> 16) * srcStride, sfy = (sfy & 0xffff) + sfyi, dp = dpr += dpryi) {
-						for (int dx = destWidth, sfx = sfxi; dx > 0; --dx, dp += dprxi, sfx = (sfx & 0xffff) + sfxi) {
-							destData[dp] = srcData[sp];
-							sp += (sfx >>> 16);
-						}
-					}
-					break;					
-				case 2:
-					for (int dy = destHeight, sfy = sfyi; dy > 0; --dy, sp = spr += (sfy >>> 16) * srcStride, sfy = (sfy & 0xffff) + sfyi, dp = dpr += dpryi) {
-						for (int dx = destWidth, sfx = sfxi; dx > 0; --dx, dp += dprxi, sfx = (sfx & 0xffff) + sfxi) {
-							destData[dp] = srcData[sp];
-							destData[dp + 1] = srcData[sp + 1];
-							sp += (sfx >>> 16) * 2;
-						}
-					}
-					break;
-				case 3:
-					for (int dy = destHeight, sfy = sfyi; dy > 0; --dy, sp = spr += (sfy >>> 16) * srcStride, sfy = (sfy & 0xffff) + sfyi, dp = dpr += dpryi) {
-						for (int dx = destWidth, sfx = sfxi; dx > 0; --dx, dp += dprxi, sfx = (sfx & 0xffff) + sfxi) {
-							destData[dp] = srcData[sp];
-							destData[dp + 1] = srcData[sp + 1];
-							destData[dp + 2] = srcData[sp + 2];
-							sp += (sfx >>> 16) * 3;
-						}
-					}
-					break;
-				case 4:
-					for (int dy = destHeight, sfy = sfyi; dy > 0; --dy, sp = spr += (sfy >>> 16) * srcStride, sfy = (sfy & 0xffff) + sfyi, dp = dpr += dpryi) {
-						for (int dx = destWidth, sfx = sfxi; dx > 0; --dx, dp += dprxi, sfx = (sfx & 0xffff) + sfxi) {
-							destData[dp] = srcData[sp];
-							destData[dp + 1] = srcData[sp + 1];
-							destData[dp + 2] = srcData[sp + 2];
-							destData[dp + 3] = srcData[sp + 3];
-							sp += (sfx >>> 16) * 4;
-						}
-					}
-					break;
-			}
-			return;
-		}
-		/*** Comprehensive blit (apply transformations) ***/
-		final int srcRedShift = getChannelShift(srcRedMask);
-		final byte[] srcReds = ANY_TO_EIGHT[getChannelWidth(srcRedMask, srcRedShift)];
-		final int srcGreenShift = getChannelShift(srcGreenMask);
-		final byte[] srcGreens = ANY_TO_EIGHT[getChannelWidth(srcGreenMask, srcGreenShift)];
-		final int srcBlueShift = getChannelShift(srcBlueMask);
-		final byte[] srcBlues = ANY_TO_EIGHT[getChannelWidth(srcBlueMask, srcBlueShift)];
-		final int srcAlphaShift = getChannelShift(srcAlphaMask);
-		final byte[] srcAlphas = ANY_TO_EIGHT[getChannelWidth(srcAlphaMask, srcAlphaShift)];
-
-		final int destRedShift = getChannelShift(destRedMask);
-		final int destRedWidth = getChannelWidth(destRedMask, destRedShift);
-		final byte[] destReds = ANY_TO_EIGHT[destRedWidth];
-		final int destRedPreShift = 8 - destRedWidth;
-		final int destGreenShift = getChannelShift(destGreenMask);
-		final int destGreenWidth = getChannelWidth(destGreenMask, destGreenShift);
-		final byte[] destGreens = ANY_TO_EIGHT[destGreenWidth];
-		final int destGreenPreShift = 8 - destGreenWidth;
-		final int destBlueShift = getChannelShift(destBlueMask);
-		final int destBlueWidth = getChannelWidth(destBlueMask, destBlueShift);
-		final byte[] destBlues = ANY_TO_EIGHT[destBlueWidth];
-		final int destBluePreShift = 8 - destBlueWidth;
-		final int destAlphaShift = getChannelShift(destAlphaMask);
-		final int destAlphaWidth = getChannelWidth(destAlphaMask, destAlphaShift);
-		final byte[] destAlphas = ANY_TO_EIGHT[destAlphaWidth];
-		final int destAlphaPreShift = 8 - destAlphaWidth;
-
-		int ap = apr, alpha = alphaMode;
-		int r = 0, g = 0, b = 0, a = 0;
-		int rq = 0, gq = 0, bq = 0, aq = 0;
-		for (int dy = destHeight, sfy = sfyi; dy > 0; --dy,
-				sp = spr += (sfy >>> 16) * srcStride,
-				ap = apr += (sfy >>> 16) * alphaStride,
-				sfy = (sfy & 0xffff) + sfyi,
-				dp = dpr += dpryi) {
-			for (int dx = destWidth, sfx = sfxi; dx > 0; --dx,
-					dp += dprxi,
-					sfx = (sfx & 0xffff) + sfxi) {
-				/*** READ NEXT PIXEL ***/
-				switch (stype) {
-					case TYPE_GENERIC_8: {
-						final int data = srcData[sp] & 0xff;
-						sp += (sfx >>> 16);
-						r = srcReds[(data & srcRedMask) >>> srcRedShift] & 0xff;
-						g = srcGreens[(data & srcGreenMask) >>> srcGreenShift] & 0xff;
-						b = srcBlues[(data & srcBlueMask) >>> srcBlueShift] & 0xff;
-						a = srcAlphas[(data & srcAlphaMask) >>> srcAlphaShift] & 0xff;
-					} break;
-					case TYPE_GENERIC_16_MSB: {
-						final int data = ((srcData[sp] & 0xff) << 8) | (srcData[sp + 1] & 0xff);
-						sp += (sfx >>> 16) * 2;
-						r = srcReds[(data & srcRedMask) >>> srcRedShift] & 0xff;
-						g = srcGreens[(data & srcGreenMask) >>> srcGreenShift] & 0xff;
-						b = srcBlues[(data & srcBlueMask) >>> srcBlueShift] & 0xff;
-						a = srcAlphas[(data & srcAlphaMask) >>> srcAlphaShift] & 0xff;
-					} break;
-					case TYPE_GENERIC_16_LSB: {
-						final int data = ((srcData[sp + 1] & 0xff) << 8) | (srcData[sp] & 0xff);
-						sp += (sfx >>> 16) * 2;
-						r = srcReds[(data & srcRedMask) >>> srcRedShift] & 0xff;
-						g = srcGreens[(data & srcGreenMask) >>> srcGreenShift] & 0xff;
-						b = srcBlues[(data & srcBlueMask) >>> srcBlueShift] & 0xff;
-						a = srcAlphas[(data & srcAlphaMask) >>> srcAlphaShift] & 0xff;
-					} break;
-					case TYPE_GENERIC_24: {
-						final int data = (( ((srcData[sp] & 0xff) << 8) |
-							(srcData[sp + 1] & 0xff)) << 8) |
-							(srcData[sp + 2] & 0xff);
-						sp += (sfx >>> 16) * 3;
-						r = srcReds[(data & srcRedMask) >>> srcRedShift] & 0xff;
-						g = srcGreens[(data & srcGreenMask) >>> srcGreenShift] & 0xff;
-						b = srcBlues[(data & srcBlueMask) >>> srcBlueShift] & 0xff;
-						a = srcAlphas[(data & srcAlphaMask) >>> srcAlphaShift] & 0xff;
-					} break;
-					case TYPE_GENERIC_32_MSB: {
-						final int data = (( (( ((srcData[sp] & 0xff) << 8) |
-							(srcData[sp + 1] & 0xff)) << 8) |
-							(srcData[sp + 2] & 0xff)) << 8) |
-							(srcData[sp + 3] & 0xff);
-						sp += (sfx >>> 16) * 4;
-						r = srcReds[(data & srcRedMask) >>> srcRedShift] & 0xff;
-						g = srcGreens[(data & srcGreenMask) >>> srcGreenShift] & 0xff;
-						b = srcBlues[(data & srcBlueMask) >>> srcBlueShift] & 0xff;
-						a = srcAlphas[(data & srcAlphaMask) >>> srcAlphaShift] & 0xff;
-					} break;
-					case TYPE_GENERIC_32_LSB: {
-						final int data = (( (( ((srcData[sp + 3] & 0xff) << 8) |
-							(srcData[sp + 2] & 0xff)) << 8) |
-							(srcData[sp + 1] & 0xff)) << 8) |
-							(srcData[sp] & 0xff);
-						sp += (sfx >>> 16) * 4;
-						r = srcReds[(data & srcRedMask) >>> srcRedShift] & 0xff;
-						g = srcGreens[(data & srcGreenMask) >>> srcGreenShift] & 0xff;
-						b = srcBlues[(data & srcBlueMask) >>> srcBlueShift] & 0xff;
-						a = srcAlphas[(data & srcAlphaMask) >>> srcAlphaShift] & 0xff;
-					} break;
-				}
-
-				/*** DO SPECIAL PROCESSING IF REQUIRED ***/
-				switch (alphaMode) {
-					case ALPHA_CHANNEL_SEPARATE:
-						alpha = ((alphaData[ap] & 0xff) << 16) / 255;
-						ap += (sfx >> 16);
-						break;
-					case ALPHA_CHANNEL_SOURCE:
-						alpha = (a << 16) / 255;
-						break;
-					case ALPHA_MASK_UNPACKED:
-						alpha = (alphaData[ap] != 0) ? 0x10000 : 0;
-						ap += (sfx >> 16);
-						break;						
-					case ALPHA_MASK_PACKED:
-						alpha = (alphaData[ap >> 3] << ((ap & 7) + 9)) & 0x10000;
-						ap += (sfx >> 16);
-						break;
-					case ALPHA_MASK_RGB:
-						alpha = 0x10000;
-						for (int i = 0; i < alphaData.length; i += 3) {
-							if ((r == alphaData[i]) && (g == alphaData[i + 1]) && (b == alphaData[i + 2])) {
-								alpha = 0x0000;
-								break;
-							}
-						}
-						break;
-				}
-				if (alpha != 0x10000) {
-					if (alpha == 0x0000) continue;
-					switch (dtype) {
-						case TYPE_GENERIC_8: {
-							final int data = destData[dp] & 0xff;
-							rq = destReds[(data & destRedMask) >>> destRedShift] & 0xff;
-							gq = destGreens[(data & destGreenMask) >>> destGreenShift] & 0xff;
-							bq = destBlues[(data & destBlueMask) >>> destBlueShift] & 0xff;
-							aq = destAlphas[(data & destAlphaMask) >>> destAlphaShift] & 0xff;
-						} break;
-						case TYPE_GENERIC_16_MSB: {
-							final int data = ((destData[dp] & 0xff) << 8) | (destData[dp + 1] & 0xff);
-							rq = destReds[(data & destRedMask) >>> destRedShift] & 0xff;
-							gq = destGreens[(data & destGreenMask) >>> destGreenShift] & 0xff;
-							bq = destBlues[(data & destBlueMask) >>> destBlueShift] & 0xff;
-							aq = destAlphas[(data & destAlphaMask) >>> destAlphaShift] & 0xff;
-						} break;
-						case TYPE_GENERIC_16_LSB: {
-							final int data = ((destData[dp + 1] & 0xff) << 8) | (destData[dp] & 0xff);
-							rq = destReds[(data & destRedMask) >>> destRedShift] & 0xff;
-							gq = destGreens[(data & destGreenMask) >>> destGreenShift] & 0xff;
-							bq = destBlues[(data & destBlueMask) >>> destBlueShift] & 0xff;
-							aq = destAlphas[(data & destAlphaMask) >>> destAlphaShift] & 0xff;
-						} break;
-						case TYPE_GENERIC_24: {
-							final int data = (( ((destData[dp] & 0xff) << 8) |
-								(destData[dp + 1] & 0xff)) << 8) |
-								(destData[dp + 2] & 0xff);
-							rq = destReds[(data & destRedMask) >>> destRedShift] & 0xff;
-							gq = destGreens[(data & destGreenMask) >>> destGreenShift] & 0xff;
-							bq = destBlues[(data & destBlueMask) >>> destBlueShift] & 0xff;
-							aq = destAlphas[(data & destAlphaMask) >>> destAlphaShift] & 0xff;
-						} break;
-						case TYPE_GENERIC_32_MSB: {
-							final int data = (( (( ((destData[dp] & 0xff) << 8) |
-								(destData[dp + 1] & 0xff)) << 8) |
-								(destData[dp + 2] & 0xff)) << 8) |
-								(destData[dp + 3] & 0xff);
-							rq = destReds[(data & destRedMask) >>> destRedShift] & 0xff;
-							gq = destGreens[(data & destGreenMask) >>> destGreenShift] & 0xff;
-							bq = destBlues[(data & destBlueMask) >>> destBlueShift] & 0xff;
-							aq = destAlphas[(data & destAlphaMask) >>> destAlphaShift] & 0xff;
-						} break;
-						case TYPE_GENERIC_32_LSB: {
-							final int data = (( (( ((destData[dp + 3] & 0xff) << 8) |
-								(destData[dp + 2] & 0xff)) << 8) |
-								(destData[dp + 1] & 0xff)) << 8) |
-								(destData[dp] & 0xff);
-							rq = destReds[(data & destRedMask) >>> destRedShift] & 0xff;
-							gq = destGreens[(data & destGreenMask) >>> destGreenShift] & 0xff;
-							bq = destBlues[(data & destBlueMask) >>> destBlueShift] & 0xff;
-							aq = destAlphas[(data & destAlphaMask) >>> destAlphaShift] & 0xff;
-						} break;
-					}
-					// Perform alpha blending
-					a = aq + ((a - aq) * alpha >> 16);
-					r = rq + ((r - rq) * alpha >> 16);
-					g = gq + ((g - gq) * alpha >> 16);
-					b = bq + ((b - bq) * alpha >> 16);
-				}
-
-				/*** WRITE NEXT PIXEL ***/
-				final int data = 
-					(r >>> destRedPreShift << destRedShift) |
-					(g >>> destGreenPreShift << destGreenShift) |
-					(b >>> destBluePreShift << destBlueShift) |
-					(a >>> destAlphaPreShift << destAlphaShift);
-				switch (dtype) {
-					case TYPE_GENERIC_8: {
-						destData[dp] = (byte) data;
-					} break;
-					case TYPE_GENERIC_16_MSB: {
-						destData[dp] = (byte) (data >>> 8);
-						destData[dp + 1] = (byte) (data & 0xff);
-					} break;
-					case TYPE_GENERIC_16_LSB: {
-						destData[dp] = (byte) (data & 0xff);
-						destData[dp + 1] = (byte) (data >>> 8);
-					} break;
-					case TYPE_GENERIC_24: {
-						destData[dp] = (byte) (data >>> 16);
-						destData[dp + 1] = (byte) (data >>> 8);
-						destData[dp + 2] = (byte) (data & 0xff);
-					} break;
-					case TYPE_GENERIC_32_MSB: {
-						destData[dp] = (byte) (data >>> 24);
-						destData[dp + 1] = (byte) (data >>> 16);
-						destData[dp + 2] = (byte) (data >>> 8);
-						destData[dp + 3] = (byte) (data & 0xff);
-					} break;
-					case TYPE_GENERIC_32_LSB: {
-						destData[dp] = (byte) (data & 0xff);
-						destData[dp + 1] = (byte) (data >>> 8);
-						destData[dp + 2] = (byte) (data >>> 16);
-						destData[dp + 3] = (byte) (data >>> 24);
-					} break;
-				}
-			}
-		}			
-	}
-
-	/**
-	 * Computes the required channel shift from a mask.
-	 */
-	static int getChannelShift(int mask) {
-		if (mask == 0) return 0;
-		int i;
-		for (i = 0; ((mask & 1) == 0) && (i < 32); ++i) {
-			mask >>>= 1;
-		}
-		return i;
-	}
-	
-	/**
-	 * Computes the required channel width (depth) from a mask.
-	 */
-	static int getChannelWidth(int mask, int shift) {
-		if (mask == 0) return 0;
-		int i;
-		mask >>>= shift;
-		for (i = shift; ((mask & 1) != 0) && (i < 32); ++i) {
-			mask >>>= 1;
-		}
-		return i - shift;
-	}
-
-	public static ImageData convertImageData (ImageData source) {
-		PaletteData palette = new PaletteData (0xff0000, 0xff00, 0xff);
-		ImageData newSource = new ImageData (source.width, source.height, 24, palette);
-
-		ImageDataUtil.blit (
-			1,
-			source.data,
-			source.depth,
-			source.bytesPerLine,
-			(source.depth != 16) ? MSB_FIRST : LSB_FIRST,
-			0,
-			0,
-			source.width,
-			source.height,
-			source.palette.redMask,
-			source.palette.greenMask,
-			source.palette.blueMask,
-			255,
-			null,
-			0,
-			0,
-			0,
-			newSource.data,
-			newSource.depth,
-			newSource.bytesPerLine,
-			(newSource.depth != 16) ? MSB_FIRST : LSB_FIRST,
-			0,
-			0,
-			newSource.width,
-			newSource.height,
-			newSource.palette.redMask,
-			newSource.palette.greenMask,
-			newSource.palette.blueMask,
-			false,
-			true);
-
-		return newSource;
-	}
-}
diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/LWJGLExample.java b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/LWJGLExample.java
deleted file mode 100644
index 11d1c20..0000000
--- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/LWJGLExample.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.swt.opengl.examples;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.opengl.GLCanvas;
-import org.eclipse.swt.opengl.GLData;
-import org.lwjgl.opengl.GL11;
-import org.lwjgl.opengl.GLContext;
-import org.lwjgl.opengl.glu.GLU;
-import org.lwjgl.LWJGLException;
-
-/*
- * SWT OpenGL snippet: use LWJGL to draw to an SWT GLCanvas
- */
-public class LWJGLExample {
-	static void drawTorus(float r, float R, int nsides, int rings) {
-		float ringDelta = 2.0f * (float) Math.PI / rings;
-		float sideDelta = 2.0f * (float) Math.PI / nsides;
-		float theta = 0.0f, cosTheta = 1.0f, sinTheta = 0.0f;
-		for (int i = rings - 1; i >= 0; i--) {
-			float theta1 = theta + ringDelta;
-			float cosTheta1 = (float) Math.cos(theta1);
-			float sinTheta1 = (float) Math.sin(theta1);
-			GL11.glBegin(GL11.GL_QUAD_STRIP);
-			float phi = 0.0f;
-			for (int j = nsides; j >= 0; j--) {
-				phi += sideDelta;
-				float cosPhi = (float) Math.cos(phi);
-				float sinPhi = (float) Math.sin(phi);
-				float dist = R + r * cosPhi;
-				GL11.glNormal3f(cosTheta1 * cosPhi, -sinTheta1 * cosPhi, sinPhi);
-				GL11.glVertex3f(cosTheta1 * dist, -sinTheta1 * dist, r * sinPhi);
-				GL11.glNormal3f(cosTheta * cosPhi, -sinTheta * cosPhi, sinPhi);
-				GL11.glVertex3f(cosTheta * dist, -sinTheta * dist, r * sinPhi);
-			}
-			GL11.glEnd();
-			theta = theta1;
-			cosTheta = cosTheta1;
-			sinTheta = sinTheta1;
-		}
-	}
-
-	public static void main(String [] args) {
-		final Display display = new Display();
-		Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		Composite comp = new Composite(shell, SWT.NONE);
-		comp.setLayout(new FillLayout());
-		GLData data = new GLData ();
-		data.doubleBuffer = true;
-		final GLCanvas canvas = new GLCanvas(comp, SWT.NONE, data);
-
-		canvas.setCurrent();
-		try {
-       		GLContext.useContext(canvas);
-        } catch(LWJGLException e) { e.printStackTrace(); }
-        
-        canvas.addListener(SWT.Resize, new Listener() {
-        	public void handleEvent(Event event) {
-        		Rectangle bounds = canvas.getBounds();
-        		float fAspect = (float) bounds.width / (float) bounds.height;
-				canvas.setCurrent();
-				try {
-					GLContext.useContext(canvas);
-		        } catch(LWJGLException e) { e.printStackTrace(); }
-        		GL11.glViewport(0, 0, bounds.width, bounds.height);
-        		GL11.glMatrixMode(GL11.GL_PROJECTION);
-        		GL11.glLoadIdentity();
-        		GLU.gluPerspective(45.0f, fAspect, 0.5f, 400.0f);
-        		GL11.glMatrixMode(GL11.GL_MODELVIEW);
-        		GL11.glLoadIdentity();
-        	}
-        });
-
-		GL11.glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
-		GL11.glColor3f(1.0f, 0.0f, 0.0f);
-		GL11.glHint(GL11.GL_PERSPECTIVE_CORRECTION_HINT, GL11.GL_NICEST);
-		GL11.glClearDepth(1.0);
-		GL11.glLineWidth(2);
-		GL11.glEnable(GL11.GL_DEPTH_TEST);
-
-		shell.setText("SWT/LWJGL Example");
-		shell.setSize(640, 480);
-		shell.open();
-
-	    display.asyncExec(new Runnable() {
-	    	int rot = 0;
-			public void run() {
-				if (!canvas.isDisposed()) {
-					canvas.setCurrent();
-					try {
-						GLContext.useContext(canvas);
-			        } catch(LWJGLException e) { e.printStackTrace(); }
-					GL11.glClear(GL11.GL_COLOR_BUFFER_BIT | GL11.GL_DEPTH_BUFFER_BIT);
-					GL11.glClearColor(.3f, .5f, .8f, 1.0f);
-					GL11.glLoadIdentity();
-					GL11.glTranslatef(0.0f, 0.0f, -10.0f);
-					float frot = rot;
-					GL11.glRotatef(0.15f * rot, 2.0f * frot, 10.0f * frot, 1.0f);
-					GL11.glRotatef(0.3f * rot, 3.0f * frot, 1.0f * frot, 1.0f);
-					rot++;
-					GL11.glPolygonMode(GL11.GL_FRONT_AND_BACK, GL11.GL_LINE);
-					GL11.glColor3f(0.9f, 0.9f, 0.9f);
-					drawTorus(1, 1.9f + ((float) Math.sin((0.004f * frot))), 15, 15);
-					canvas.swapBuffers();
-					display.asyncExec(this);
-				}
-			}
-		});
-
-		while(!shell.isDisposed()) {
-			if (!display.readAndDispatch()) {
-				display.sleep();
-			}
-		}
-		display.dispose();
-	}
-}
diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/LightTab.java b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/LightTab.java
deleted file mode 100644
index 801e948..0000000
--- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/LightTab.java
+++ /dev/null
@@ -1,350 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl.examples;
-
-
-import org.eclipse.opengl.*;
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-class LightTab extends OpenGLTab {
-	private float[] materialShininess = { 25.0f };
-	private float[] lightPosition = { 0.0f, 0.0f, 0.0f, 1.0f };
-	private float[][] colorValues = {
-		{ 1.0f, 1.0f, 1.0f, 1.0f },	// light diffuse
-		{ 1.0f, 1.0f, 1.0f, 1.0f },	// light ambient
-		{ 1.0f, 1.0f, 1.0f, 1.0f },	// light specular
-		{ 0.5f, 0.5f, 0.5f, 1.0f },	// light main ambient
-		{ 0.0f, 0.0f, 1.0f, 1.0f },	// material diffuse
-		{ 0.3f, 0.3f, 0.3f, 1.0f },	// material ambient
-		{ 1.0f, 1.0f, 1.0f, 1.0f }	// material specular
-	};
-	private float yPos = 0.0f, xPos = 0.0f, zPos = -20.0f;
-	private int quadratic, sphere;
-
-	/**
-	 * @see OpenGLTab#createControls(Composite)
-	 */
-	void createControls(Composite composite) {
-		Group movementGroup = new Group(composite, SWT.NONE);
-		movementGroup.setText("Translation");
-		movementGroup.setLayout(new GridLayout(2, false));
-
-		new Label(movementGroup, SWT.NONE).setText("X:");
-		final Slider xMove = new Slider(movementGroup, SWT.NONE);
-		xMove.setIncrement(1);
-		xMove.setMaximum(22);
-		xMove.setMinimum(0);
-		xMove.setThumb(2);
-		xMove.setPageIncrement(2);
-		xMove.setSelection(10);
-		xMove.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				xPos = xMove.getSelection() - 10;
-			}
-		});
-
-		new Label(movementGroup, SWT.NONE).setText("Y:");
-		final Slider yMove = new Slider(movementGroup, SWT.NONE);
-		yMove.setIncrement(1);
-		yMove.setMaximum(22);
-		yMove.setMinimum(0);
-		yMove.setThumb(2);
-		yMove.setPageIncrement(2);
-		yMove.setSelection(10);
-		yMove.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				yPos = yMove.getSelection() - 10;
-			}
-		});
-
-		new Label(movementGroup, SWT.NONE).setText("Z:");
-		final Slider zMove = new Slider(movementGroup, SWT.NONE);
-		zMove.setIncrement(1);
-		zMove.setMaximum(22);
-		zMove.setMinimum(0);
-		zMove.setThumb(2);
-		zMove.setPageIncrement(2);
-		zMove.setSelection(10);
-		zMove.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				zPos = zMove.getSelection() - 30;
-			}
-		});
-
-		Group positionGroup = new Group(composite, SWT.NONE);
-		positionGroup.setText("Light Position");
-		positionGroup.setLayout(new GridLayout(2, false));
-
-		new Label(positionGroup, SWT.NONE).setText("X:");
-		final Slider lightX = new Slider(positionGroup, SWT.NONE);
-		lightX.setIncrement(1);
-		lightX.setMaximum(22);
-		lightX.setMinimum(0);
-		lightX.setThumb(2);
-		lightX.setPageIncrement(2);
-		lightX.setSelection(10);
-		lightX.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				lightPosition[0] = ((float) lightX.getSelection() * 10) - 100;
-			}
-		});
-
-		new Label(positionGroup, SWT.NONE).setText("Y:");
-		final Slider lightY = new Slider(positionGroup, SWT.NONE);
-		lightY.setIncrement(1);
-		lightY.setMaximum(22);
-		lightY.setMinimum(0);
-		lightY.setThumb(2);
-		lightY.setPageIncrement(2);
-		lightY.setSelection(10);
-		lightY.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				lightPosition[1] = ((float) lightY.getSelection() * 10) - 100;
-			}
-		});
-
-		new Label(positionGroup, SWT.NONE).setText("Z:");
-		final Slider lightZ = new Slider(positionGroup, SWT.NONE);
-		lightZ.setIncrement(1);
-		lightZ.setMaximum(22);
-		lightZ.setMinimum(0);
-		lightZ.setThumb(2);
-		lightZ.setPageIncrement(2);
-		lightZ.setSelection(10);
-		lightZ.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				lightPosition[2] = ((float) lightZ.getSelection() * 10) - 20;
-			}
-		});
-
-		Group lightColorsGroup = new Group(composite, SWT.NONE);
-		lightColorsGroup.setText("Light Colors");
-		lightColorsGroup.setLayout(new GridLayout());
-		GridData data = new GridData(GridData.FILL_BOTH);
-		lightColorsGroup.setLayoutData(data);
-
-		ColorSelectionGroup lightDiffuseButton =
-			new ColorSelectionGroup(lightColorsGroup, SWT.NONE);
-		lightDiffuseButton.setText("Diffuse");
-		lightDiffuseButton.setRGB(
-			new RGB(
-				(int) (colorValues[0][0] * 255),
-				(int) (colorValues[0][1] * 255),
-				(int) (colorValues[0][2] * 255)));
-		lightDiffuseButton
-			.addColorSelectionListener(new IColorSelectionListener() {
-			public void handleColorSelection(RGB rgb) {
-				colorValues[0][0] = ((float) rgb.red) / 255;
-				colorValues[0][1] = ((float) rgb.green) / 255;
-				colorValues[0][2] = ((float) rgb.blue) / 255;
-				setColorValues();
-			}
-		});
-
-		ColorSelectionGroup lightAmbientButton =
-			new ColorSelectionGroup(lightColorsGroup, SWT.NONE);
-		lightAmbientButton.setText("Ambient");
-		lightAmbientButton.setRGB(
-			new RGB(
-				(int) (colorValues[1][0] * 255),
-				(int) (colorValues[1][1] * 255),
-				(int) (colorValues[1][2] * 255)));
-		lightAmbientButton
-			.addColorSelectionListener(new IColorSelectionListener() {
-			public void handleColorSelection(RGB rgb) {
-				colorValues[1][0] = ((float) rgb.red) / 255;
-				colorValues[1][1] = ((float) rgb.green) / 255;
-				colorValues[1][2] = ((float) rgb.blue) / 255;
-				setColorValues();
-			}
-		});
-
-		ColorSelectionGroup lightSpecularButton =
-			new ColorSelectionGroup(lightColorsGroup, SWT.NONE);
-		lightSpecularButton.setText("Specular");
-		lightSpecularButton.setRGB(
-			new RGB(
-				(int) (colorValues[2][0] * 255),
-				(int) (colorValues[2][1] * 255),
-				(int) (colorValues[2][2] * 255)));
-		lightSpecularButton
-			.addColorSelectionListener(new IColorSelectionListener() {
-			public void handleColorSelection(RGB rgb) {
-				colorValues[2][0] = ((float) rgb.red) / 255;
-				colorValues[2][1] = ((float) rgb.green) / 255;
-				colorValues[2][2] = ((float) rgb.blue) / 255;
-				setColorValues();
-			}
-		});
-
-		ColorSelectionGroup lightMainAmbientButton =
-			new ColorSelectionGroup(lightColorsGroup, SWT.NONE);
-		lightMainAmbientButton.setText("Main Ambient");
-		lightMainAmbientButton.setRGB(
-			new RGB(
-				(int) (colorValues[3][0] * 255),
-				(int) (colorValues[3][1] * 255),
-				(int) (colorValues[3][2] * 255)));
-		lightMainAmbientButton
-			.addColorSelectionListener(new IColorSelectionListener() {
-			public void handleColorSelection(RGB rgb) {
-				colorValues[3][0] = ((float) rgb.red) / 255;
-				colorValues[3][1] = ((float) rgb.green) / 255;
-				colorValues[3][2] = ((float) rgb.blue) / 255;
-				setColorValues();
-			}
-		});
-
-		Group materialColorsGroup = new Group(composite, SWT.NONE);
-		materialColorsGroup.setText("Material Colors");
-		materialColorsGroup.setLayout(new GridLayout());
-		data = new GridData(GridData.FILL_BOTH);
-		materialColorsGroup.setLayoutData(data);
-
-		ColorSelectionGroup materialDiffuseButton =
-			new ColorSelectionGroup(materialColorsGroup, SWT.NONE);
-		materialDiffuseButton.setText("Diffuse");
-		materialDiffuseButton.setRGB(
-			new RGB(
-				(int) (colorValues[4][0] * 255),
-				(int) (colorValues[4][1] * 255),
-				(int) (colorValues[4][2] * 255)));
-		materialDiffuseButton
-			.addColorSelectionListener(new IColorSelectionListener() {
-			public void handleColorSelection(RGB rgb) {
-				colorValues[4][0] = ((float) rgb.red) / 255;
-				colorValues[4][1] = ((float) rgb.green) / 255;
-				colorValues[4][2] = ((float) rgb.blue) / 255;
-				setColorValues();
-			}
-		});
-
-		ColorSelectionGroup materialAmbientButton =
-			new ColorSelectionGroup(materialColorsGroup, SWT.NONE);
-		materialAmbientButton.setText("Ambient");
-		materialAmbientButton.setRGB(
-			new RGB(
-				(int) (colorValues[5][0] * 255),
-				(int) (colorValues[5][1] * 255),
-				(int) (colorValues[5][2] * 255)));
-		materialAmbientButton
-			.addColorSelectionListener(new IColorSelectionListener() {
-			public void handleColorSelection(RGB rgb) {
-				colorValues[5][0] = ((float) rgb.red) / 255;
-				colorValues[5][1] = ((float) rgb.green) / 255;
-				colorValues[5][2] = ((float) rgb.blue) / 255;
-				setColorValues();
-			}
-		});
-
-		ColorSelectionGroup materialSpecularButton =
-			new ColorSelectionGroup(materialColorsGroup, SWT.NONE);
-		materialSpecularButton.setText("Specular");
-		materialSpecularButton.setRGB(
-			new RGB(
-				(int) (colorValues[6][0] * 255),
-				(int) (colorValues[6][1] * 255),
-				(int) (colorValues[6][2] * 255)));
-		materialSpecularButton
-			.addColorSelectionListener(new IColorSelectionListener() {
-			public void handleColorSelection(RGB rgb) {
-				colorValues[6][0] = ((float) rgb.red) / 255;
-				colorValues[6][1] = ((float) rgb.green) / 255;
-				colorValues[6][2] = ((float) rgb.blue) / 255;
-				setColorValues();
-			}
-		});
-
-		new Label(composite, SWT.NONE).setText("Material Shininess:");
-		final Slider shineSlider = new Slider(composite, SWT.NONE);
-		shineSlider.setIncrement(5);
-		shineSlider.setMaximum(102);
-		shineSlider.setMinimum(0);
-		shineSlider.setThumb(2);
-		shineSlider.setPageIncrement(10);
-		shineSlider.setSelection(25);
-		shineSlider.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				materialShininess[0] = shineSlider.getSelection();
-				GL.glMaterialfv(GL.GL_FRONT_AND_BACK,
-					GL.GL_SHININESS,
-					materialShininess);
-			}
-		});
-	}
-
-	/**
-	 * @see OpenGLTab#dispose()
-	 */
-	void dispose() {
-		super.dispose();
-		GLU.gluDeleteQuadric(quadratic);
-		GL.glDeleteLists(sphere, 1);
-	}
-
-	/**
-	 * @see OpenGLTab#getTabText()
-	 */
-	String getTabText() {
-		return "Light";
-	}
-
-	/**
-	 * @see OpenGLTab#init()
-	 */
-	void init() {
-		GL.glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
-		GL.glClearDepth(1.0);
-		setColorValues();
-		GL.glMaterialfv(GL.GL_FRONT_AND_BACK, GL.GL_SHININESS, materialShininess);
-		quadratic = GLU.gluNewQuadric();
-		GLU.gluQuadricNormals(quadratic, GLU.GLU_SMOOTH);
-		GL.glHint(GL.GL_LINE_SMOOTH_HINT, GL.GL_NICEST);
-		GL.glHint(GL.GL_PERSPECTIVE_CORRECTION_HINT, GL.GL_NICEST);
-		GL.glBlendFunc(GL.GL_SRC_ALPHA, GL.GL_ONE_MINUS_SRC_ALPHA);
-		GL.glPointSize(2.0f);
-		GL.glEnable(GL.GL_LIGHTING);
-		GL.glEnable(GL.GL_LIGHT0);
-		GL.glEnable(GL.GL_DEPTH_TEST);
-		sphere = GL.glGenLists(1);
-		GL.glNewList(sphere, GL.GL_COMPILE);
-		GLU.gluSphere(quadratic, 3, 32, 32);
-		GL.glEndList();
-	}
-
-	/**
-	 * @see OpenGLTab#renderScene()
-	 */
-	void renderScene() {
-		GL.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT);
-		GL.glLoadIdentity();
-		GL.glLightfv(GL.GL_LIGHT0, GL.GL_POSITION, lightPosition);
-		GL.glTranslatef(xPos, yPos, zPos);
-		GL.glCallList(sphere);
-	}
-
-	/**
-	 * Sets the current color values into the rendered display.
-	 */
-	void setColorValues() {
-		GL.glLightfv(GL.GL_LIGHT0, GL.GL_DIFFUSE, colorValues[0]);
-		GL.glMaterialfv(GL.GL_FRONT_AND_BACK, GL.GL_DIFFUSE, colorValues[4]);
-		GL.glMaterialfv(GL.GL_FRONT_AND_BACK, GL.GL_AMBIENT, colorValues[5]);
-		GL.glLightfv(GL.GL_LIGHT0, GL.GL_AMBIENT, colorValues[1]);
-		GL.glLightfv(GL.GL_LIGHT0, GL.GL_SPECULAR, colorValues[2]);
-		GL.glMaterialfv(GL.GL_FRONT_AND_BACK, GL.GL_SPECULAR, colorValues[6]);
-		GL.glLightModelfv(GL.GL_LIGHT_MODEL_AMBIENT, colorValues[3]);
-		GL.glMaterialfv(GL.GL_FRONT_AND_BACK, GL.GL_SHININESS, materialShininess);
-	}
-}
diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/NurbTab.java b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/NurbTab.java
deleted file mode 100644
index d83f047..0000000
--- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/NurbTab.java
+++ /dev/null
@@ -1,294 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl.examples;
-
-
-import org.eclipse.opengl.*;
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-class NurbTab extends OpenGLTab {
-	private float xPos = -5.0f, yPos = -5.0f, zPos = -25.0f;
-	private float xRot = 330.0f, yRot = 0.0f, zRot = 0.0f;
-	private int nurb;
-
-	/**
-	 * Returns a 3 dimensional array to store vertex points for the nurb
-	 * surface.
-	 * 
-	 * @return the array
-	 */
-	float[][][] buildNurb() {
-		float[][][] ctrl = new float[4][4][3];
-		for (int i = 0; i < 4; i++) {
-			for (int j = 0; j < 4; j++) {
-				// set the x value
-				ctrl[i][j][0] = 2 * (i + (float) Math.cos(i + j));
-				// set the y value
-				ctrl[i][j][1] = 2 * (j + (float) Math.cos(i + j));
-				// set the z value
-				if ((i == 1 && j == 1) || (i == 2 && j == 2)) {
-					// this makes the hill
-					ctrl[i][j][2] = 6.0f;
-				} else {
-					ctrl[i][j][2] = 0.0f;
-				}
-			}
-		}
-		// sets this particular z value to a large number to make a high
-		// hill
-		ctrl[2][2][2] = 8.0f;
-
-		return ctrl;
-	}
-	
-	/**
-	 * Returns a 1 dimensional array representing the 3 dimensional
-	 * argument.  This result can be passed to the nurb renderer
-	 * 
-	 * @param ctrl source 3D array
-	 * @return 1D array
-	 */
-	float[] convert(float[][][] ctrl) {
-		float[] pts =
-			new float[ctrl.length * ctrl[0].length * ctrl[0][0].length];
-		int row = 0;
-		int col = 0;
-		// set rowIncr to number of columns * depth 
-		int rowIncr = ctrl[0].length * ctrl[0][0].length;
-		// set colIncr to depth 
-		int colIncr = ctrl[0][0].length;
-		// loop through rows 
-		for (int i = 0; i < ctrl.length; i++) {
-			col = 0;
-			// loop through columns
-			for (int j = 0; j < ctrl[0].length; j++) {
-				// loop through to get the depth values
-				for (int k = 0; k < ctrl[0][0].length; k++) {
-					pts[row + col + k] = ctrl[i][j][k];
-				}
-				col += colIncr;
-			}
-			row += rowIncr;
-		}
-		return pts;
-	}
-	
-	/**
-	 * @see OpenGLTab#createControls(Composite)
-	 */
-	void createControls(final Composite composite) {
-		Group movementGroup = new Group(composite, SWT.NONE);
-		movementGroup.setText("Translation");
-		movementGroup.setLayout(new GridLayout(2, false));
-
-		new Label(movementGroup, SWT.NONE).setText("X:");
-		final Slider xMove = new Slider(movementGroup, SWT.NONE);
-		xMove.setIncrement(1);
-		xMove.setMaximum(12);
-		xMove.setMinimum(0);
-		xMove.setThumb(2);
-		xMove.setPageIncrement(2);
-		xMove.setSelection(5);
-		xMove.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				xPos = xMove.getSelection() - 10;
-			}
-		});
-
-		new Label(movementGroup, SWT.NONE).setText("Y:");
-		final Slider yMove = new Slider(movementGroup, SWT.NONE);
-		yMove.setIncrement(1);
-		yMove.setMaximum(12);
-		yMove.setMinimum(0);
-		yMove.setThumb(2);
-		yMove.setPageIncrement(2);
-		yMove.setSelection(5);
-		yMove.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				yPos = yMove.getSelection() - 10;
-			}
-		});
-
-		new Label(movementGroup, SWT.NONE).setText("Z:");
-		final Slider zMove = new Slider(movementGroup, SWT.NONE);
-		zMove.setIncrement(1);
-		zMove.setMaximum(12);
-		zMove.setMinimum(0);
-		zMove.setThumb(2);
-		zMove.setPageIncrement(2);
-		zMove.setSelection(5);
-		zMove.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				zPos = zMove.getSelection() - 30;
-			}
-		});
-
-		Group rotationGroup = new Group(composite, SWT.NONE);
-		rotationGroup.setText("Rotation");
-		rotationGroup.setLayout(new GridLayout(2, false));
-
-		new Label(rotationGroup, SWT.NONE).setText("X:");
-		final Slider xRotation = new Slider(rotationGroup, SWT.NONE);
-		xRotation.setIncrement(10);
-		xRotation.setMaximum(362);
-		xRotation.setMinimum(0);
-		xRotation.setThumb(2);
-		xRotation.setPageIncrement(20);
-		xRotation.setSelection(330);
-		xRotation.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				xRot = xRotation.getSelection();
-			}
-		});
-
-		new Label(rotationGroup, SWT.NONE).setText("Y:");
-		final Slider yRotation = new Slider(rotationGroup, SWT.NONE);
-		yRotation.setIncrement(10);
-		yRotation.setMaximum(362);
-		yRotation.setMinimum(0);
-		yRotation.setThumb(2);
-		yRotation.setPageIncrement(20);
-		yRotation.setSelection(0);
-		yRotation.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				yRot = yRotation.getSelection();
-			}
-		});
-
-		new Label(rotationGroup, SWT.NONE).setText("Z:");
-		final Slider zRotation = new Slider(rotationGroup, SWT.NONE);
-		zRotation.setIncrement(10);
-		zRotation.setMaximum(362);
-		zRotation.setMinimum(0);
-		zRotation.setThumb(2);
-		zRotation.setPageIncrement(20);
-		zRotation.setSelection(0);
-		zRotation.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				zRot = zRotation.getSelection();
-			}
-		});
-
-		new Label(composite, SWT.NONE).setText("Sampling Tolerance:");
-		final Slider sSlider = new Slider(composite, SWT.NONE);
-		sSlider.setIncrement(1);
-		sSlider.setMaximum(101);
-		sSlider.setMinimum(0);
-		sSlider.setThumb(2);
-		sSlider.setPageIncrement(2);
-		sSlider.setSelection(75);
-		sSlider.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				GLU.gluNurbsProperty(
-					nurb,
-					GLU.GLU_SAMPLING_TOLERANCE,
-					sSlider.getSelection() + 1);
-			}
-		});
-
-		final Button fillButton = new Button(composite, SWT.CHECK);
-		fillButton.setText("Fill");
-		fillButton.setSelection(true);
-		fillButton.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				if (fillButton.getSelection()) {
-					GLU.gluNurbsProperty(
-						nurb,
-						GLU.GLU_DISPLAY_MODE,
-						GLU.GLU_FILL);
-				} else {
-					GLU.gluNurbsProperty(
-						nurb,
-						GLU.GLU_DISPLAY_MODE,
-						GLU.GLU_OUTLINE_POLYGON);
-				}
-			}
-		});
-		
-		ColorSelectionGroup colorGroup =
-			new ColorSelectionGroup(composite, SWT.NONE);
-		colorGroup.setText("Foreground color");
-		colorGroup.addColorSelectionListener(new IColorSelectionListener() {
-			public void handleColorSelection(RGB rgb) {
-				GL.glColor3ub((byte) rgb.red, (byte) rgb.green, (byte) rgb.blue);
-			}
-		});
-	}
-	
-	/**
-	 * @see OpenGLTab#dispose()
-	 */
-	void dispose() {
-		super.dispose();
-		GLU.gluDeleteNurbsRenderer(nurb);
-	}
-	
-	/**
-	 * @see OpenGLTab#getTabText()
-	 */
-	String getTabText() {
-		return "Nurb";
-	}
-	
-	/**
-	 * @see OpenGLTab#init()
-	 */
-	void init() {
-		GL.glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
-		GL.glColor3f(1.0f, 0.0f, 0.0f);
-		// set up material color which helps show curves
-		float mat_specular[] = { 1.0f, 1.0f, 1.0f, 1.0f };
-		float mat_shininess[] = { 100.0f };
-		GL.glMaterialfv(GL.GL_FRONT_AND_BACK, GL.GL_SPECULAR, mat_specular);
-		GL.glMaterialfv(GL.GL_FRONT_AND_BACK, GL.GL_SHININESS, mat_shininess);
-		GL.glColorMaterial(GL.GL_FRONT_AND_BACK, GL.GL_AMBIENT_AND_DIFFUSE);
-		
-		GL.glEnable(GL.GL_LIGHTING);
-		GL.glEnable(GL.GL_LIGHT0);
-		GL.glEnable(GL.GL_COLOR_MATERIAL);
-		GL.glEnable(GL.GL_DEPTH_TEST);
-		GL.glEnable(GL.GL_AUTO_NORMAL);
-		GL.glEnable(GL.GL_NORMALIZE);
-		
-		nurb = GLU.gluNewNurbsRenderer();
-
-		GLU.gluNurbsProperty(
-			nurb,
-			GLU.GLU_SAMPLING_METHOD,
-			GLU.GLU_PATH_LENGTH);
-		// sampling tolerance is specific for GLU.GLU_PATH_LENGTH
-		GLU.gluNurbsProperty(nurb, GLU.GLU_SAMPLING_TOLERANCE, 75.0f);
-		GLU.gluNurbsProperty(nurb, GLU.GLU_DISPLAY_MODE, GLU.GLU_FILL);
-	}
-	
-	/**
-	 * @see OpenGLTab#renderScene()
-	 */
-	void renderScene() {
-		GL.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT);
-		GL.glLoadIdentity();
-		// do translation and rotation
-		GL.glTranslatef(xPos, yPos, zPos);
-		GL.glRotatef(xRot, 1.0f, 0.0f, 0.0f);
-		GL.glRotatef(yRot, 0.0f, 1.0f, 0.0f);
-		GL.glRotatef(zRot, 0.0f, 0.0f, 1.0f);
-		// define nurbs surface
-		float[] knots = { 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 1.0f, 1.0f, 1.0f };
-		GLU.gluBeginSurface(nurb);
-		GLU.gluNurbsSurface(
-			nurb, 8, knots, 8, knots, 12, 3,
-			convert(buildNurb()), 4, 4, GL.GL_MAP2_VERTEX_3);
-		GLU.gluEndSurface(nurb);
-	}
-}
diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/ObjectsTab.java b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/ObjectsTab.java
deleted file mode 100644
index 3191e0f..0000000
--- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/ObjectsTab.java
+++ /dev/null
@@ -1,376 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl.examples;
-
-
-import org.eclipse.opengl.*;
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-class ObjectsTab extends OpenGLTab {
-	private class Shape {
-		private String name;
-		private int index;
-		/**
-		 * Constructor.
-		 * 
-		 * @param name the display name of this shape
-		 * @param index the display list index corresponding to this shape
-		 */
-		Shape(String name, int index) {
-			super();
-			this.index = index;
-			this.name = name;
-		}
-		void dispose() {
-			GL.glDeleteLists(index, 1);
-		}
-		void draw() {
-			GL.glCallList(index);
-		}
-		String getName() {
-			return name;
-		}
-	}
-
-	private Shape[] shapes;
-	private Shape currentShape;
-	private float xRot = 0.0f, yRot = 0.0f;
-	private boolean fill = true;
-	private int quadratic;
-	private final static int SLEEP_LENGTH = 50;
-
-	/**
-	 * @see OpenGLTab#createControls(Composite)
-	 */
-	void createControls(final Composite composite) {
-		GridLayout layout = new GridLayout(2, false);
-		layout.marginWidth = 0;
-		Composite controls = new Composite(composite, SWT.NONE);
-		controls.setLayout(layout);
-		
-		new Label(controls, SWT.NONE).setText("Object:");
-		final Combo objectsCombo = new Combo(controls, SWT.READ_ONLY);
-		for (int i = 0; i < shapes.length; i++) {
-			objectsCombo.add(shapes[i].getName());
-		}
-		objectsCombo.select(0);
-		objectsCombo.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				currentShape = shapes[objectsCombo.getSelectionIndex()];
-			}
-		});
-
-		final Button fillToggleButton = new Button(controls, SWT.CHECK);
-		fillToggleButton.setText("Fill");
-		fillToggleButton.setSelection(true);
-		fillToggleButton.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				fill = fillToggleButton.getSelection();
-			}
-		});
-		
-		ColorSelectionGroup colorGroup =
-			new ColorSelectionGroup(composite, SWT.NONE);
-		colorGroup.setText("Foreground color");
-		colorGroup.addColorSelectionListener(new IColorSelectionListener() {
-			public void handleColorSelection(RGB rgb) {
-				GL.glColor3ub((byte) rgb.red, (byte) rgb.green, (byte) rgb.blue);
-			}
-		});
-	}
-
-	/**
-	 * @see OpenGLTab#dispose()
-	 */
-	void dispose() {
-		super.dispose();
-		GLU.gluDeleteQuadric(quadratic);
-		for (int i = 0; i < shapes.length; i++) {
-			shapes [i].dispose();
-		}
-	}
-	
-	/**
-	 * Creates a circle centered at 0,0 in the viewport.
-	 * 
-	 * @param radius
-	 * @param xShrink
-	 * @param yShrink
-	 */
-	void drawCircle(float radius, float xShrink, float yShrink) {
-		GL.glBegin(GL.GL_POLYGON);
-		float dia = (float) 2.0 * (float) Math.PI;
-		for (float angle = 0.0f; angle <= dia; angle += 0.1f) {
-			GL.glVertex2d(radius * Math.cos(angle), radius * Math.sin(angle));
-		}
-		GL.glEnd();
-	}
-	
-	/**
-	 * Creates a cube centered at 0,0 in the viewport.
-	 * 
-	 * @param width
-	 * @param height
-	 * @param depth
-	 */
-	void drawCube(float width, float height, float depth) {
-		GL.glBegin(GL.GL_QUADS);
-		// front
-		GL.glVertex3f(-width, -height, depth);	// bottom left 			
-		GL.glVertex3f(width, -height, depth);	// bottom right
-		GL.glVertex3f(width, height, depth);	// top right
-		GL.glVertex3f(-width, height, depth);	// top left
-		// back
-		GL.glVertex3f(-width, -height, -depth);	// bottom left 			
-		GL.glVertex3f(width, -height, -depth);	// bottom right
-		GL.glVertex3f(width, height, -depth);	// top right
-		GL.glVertex3f(-width, height, -depth);	// top left
-		// left
-		GL.glVertex3f(-width, -height, -depth);	// bottom left				
-		GL.glVertex3f(-width, -height, depth);	// bottom right
-		GL.glVertex3f(-width, height, depth);	// top right
-		GL.glVertex3f(-width, height, -depth);	// top left	
-		// right
-		GL.glVertex3f(width, -height, depth);	// bottom left				
-		GL.glVertex3f(width, -height, -depth);	// bottom right
-		GL.glVertex3f(width, height, -depth);	// top right
-		GL.glVertex3f(width, height, depth);	// top left
-		// top
-		GL.glVertex3f(width, height, -depth);	// back right
-		GL.glVertex3f(-width, height, -depth);	// back left
-		GL.glVertex3f(-width, height, depth);	// front left
-		GL.glVertex3f(width, height, depth);	// front right
-		// bottom
-		GL.glVertex3f(width, -height, depth);	// front right
-		GL.glVertex3f(-width, -height, depth);	// front left
-		GL.glVertex3f(-width, -height, -depth);	// back left
-		GL.glVertex3f(width, -height, -depth);	// back right
-		GL.glEnd();
-	}
-	
-	/**
-	 * Creates a pyramid centered at 0,0 in the viewport.
-	 * 
-	 * @param width
-	 * @param height
-	 * @param depth
-	 */
-	void drawPyramid(float width, float height, float depth) {
-		GL.glBegin(GL.GL_TRIANGLES);
-		// front
-		GL.glVertex3f(0.0f, height, 0.0f);		// top				
-		GL.glVertex3f(-width, -height, depth);	// left	
-		GL.glVertex3f(width, -height, depth);	// right
-		// left
-		GL.glVertex3f(0.0f, height, 0.0f);		// top				
-		GL.glVertex3f(-width, -height, -depth);	// left	
-		GL.glVertex3f(-width, -height, depth);	// right	
-		// front
-		GL.glVertex3f(-width, -height, -depth);	// left	
-		GL.glVertex3f(0.0f, height, 0.0f);		// top						
-		GL.glVertex3f(width, -height, -depth);	// right
-		// right
-		GL.glVertex3f(0.0f, height, 0.0f);		// top				
-		GL.glVertex3f(width, -height, depth);	// left	
-		GL.glVertex3f(width, -height, -depth);	// right			
-		GL.glEnd();
-		GL.glBegin(GL.GL_QUADS);
-		// bottom
-		GL.glVertex3f(-width, -height, depth);	// front left
-		GL.glVertex3f(-width, -height, -depth);	// back left
-		GL.glVertex3f(width, -height, -depth);	// back right
-		GL.glVertex3f(width, -height, depth);	// front right
-		GL.glEnd();
-	}
-	
-	/**
-	 * Creates a square centered at 0,0 in the viewport.
-	 * 
-	 * @param width
-	 * @param height
-	 */
-	void drawSquare(float width, float height) {
-		GL.glBegin(GL.GL_QUADS);
-		GL.glVertex3f(-width, -height, 0.0f);	// bottom left 			
-		GL.glVertex3f(width, -height, 0.0f);	// bottom right
-		GL.glVertex3f(width, height, 0.0f);		// top right
-		GL.glVertex3f(-width, height, 0.0f);	// top left
-		GL.glEnd();
-	}
-	
-	/**
-	 * This method is from glut_shapes.c .
-	 * 
-	 * @param r
-	 * @param R
-	 * @param nsides
-	 * @param rings
-	 */
-	void drawTorus(float r, float R, int nsides, int rings) {
-		float ringDelta = 2.0f * (float) Math.PI / rings;
-		float sideDelta = 2.0f * (float) Math.PI / nsides;
-		float theta = 0.0f;
-		float cosTheta = 1.0f;
-		float sinTheta = 0.0f;
-		
-		for (int i = rings - 1; i >= 0; i--) {
-			float theta1 = theta + ringDelta;
-			float cosTheta1 = (float) Math.cos(theta1);
-			float sinTheta1 = (float) Math.sin(theta1);
-			GL.glBegin(GL.GL_QUAD_STRIP);
-			float phi = 0.0f;
-			
-			for (int j = nsides; j >= 0; j--) {
-				phi += sideDelta;
-				float cosPhi = (float) Math.cos(phi);
-				float sinPhi = (float) Math.sin(phi);
-				float dist = R + r * cosPhi;
-				GL.glNormal3f(cosTheta1 * cosPhi, -sinTheta1 * cosPhi, sinPhi);
-				GL.glVertex3f(cosTheta1 * dist, -sinTheta1 * dist, r * sinPhi);
-				GL.glNormal3f(cosTheta * cosPhi, -sinTheta * cosPhi, sinPhi);
-				GL.glVertex3f(cosTheta * dist, -sinTheta * dist, r * sinPhi);
-			}
-			
-			GL.glEnd();
-			theta = theta1;
-			cosTheta = cosTheta1;
-			sinTheta = sinTheta1;
-		}
-	}
-	
-	/**
-	 * Creates a triangle centered at 0,0 in the viewport.
-	 * 
-	 * @param width
-	 * @param height
-	 */
-	void drawTriangle(float width, float height) {
-		GL.glBegin(GL.GL_TRIANGLES);
-		GL.glVertex3f(0.0f, height, 0.0f);		// middle 
-		GL.glVertex3f(-width, -height, 0.0f);	// left 
-		GL.glVertex3f(width, -height, 0.0f);	// right		 		
-		GL.glEnd();
-	}
-	
-	/**
-	 * @see OpenGLTab#getSleepLength()
-	 */
-	int getSleepLength() {
-		return SLEEP_LENGTH;	
-	}
-	
-	/**
-	 * @see OpenGLTab#getTabText()
-	 */
-	String getTabText() {
-		return "Objects";
-	}
-	
-	/**
-	 * @see OpenGLTab#init()
-	 */
-	void init() {
-		GL.glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
-		GL.glColor3f(1.0f, 0.0f, 0.0f);
-		GL.glHint(GL.GL_PERSPECTIVE_CORRECTION_HINT, GL.GL_NICEST);
-		GL.glClearDepth(1.0);
-		quadratic = GLU.gluNewQuadric();
-		GLU.gluQuadricNormals(quadratic, GLU.GLU_SMOOTH);
-		GL.glLineWidth(2);
-
-		GL.glEnable(GL.GL_DEPTH_TEST);
-
-		// create the display lists and shapes
-		shapes = new Shape[11];
-		int index = 1;
-
-		GL.glNewList(index, GL.GL_COMPILE);
-		drawTriangle(2.0f, 2.0f);
-		GL.glEndList();
-		shapes[0] = new Shape("Triangle", index++);
-
-		GL.glNewList(index, GL.GL_COMPILE);
-		drawPyramid(2.0f, 2.0f, 2.0f);
-		GL.glEndList();
-		shapes[1] = new Shape("Pyramid", index++);
-
-		GL.glNewList(index, GL.GL_COMPILE);
-		drawSquare(2.0f, 2.0f);
-		GL.glEndList();
-		shapes[2] = new Shape("Square", index++);
-
-		GL.glNewList(index, GL.GL_COMPILE);
-		drawCube(2.0f, 2.0f, 2.0f);
-		GL.glEndList();
-		shapes[3] = new Shape("Cube", index++);
-
-		GL.glNewList(index, GL.GL_COMPILE);
-		drawCircle(2.0f, 0.0f, 0.0f);
-		GL.glEndList();
-		shapes[4] = new Shape("Circle", index++);
-
-		GL.glNewList(index, GL.GL_COMPILE);
-		GLU.gluPartialDisk(quadratic, 0.5, 2.0, 18, 18, 90, 125);
-		GL.glEndList();
-		shapes[5] = new Shape("Partial Disk", index++);
-
-		GL.glNewList(index, GL.GL_COMPILE);
-		GLU.gluDisk(quadratic, 0.5, 2.0, 18, 18);
-		GL.glEndList();
-		shapes[6] = new Shape("Disk", index++);
-
-		GL.glNewList(index, GL.GL_COMPILE);
-		drawTorus(1, 2, 18, 18);
-		GL.glEndList();
-		shapes[7] = new Shape("Torus", index++);
-
-		GL.glNewList(index, GL.GL_COMPILE);
-		GLU.gluSphere(quadratic, 2.0, 18, 18);
-		GL.glEndList();
-		shapes[8] = new Shape("Sphere", index++);
-
-		GL.glNewList(index, GL.GL_COMPILE);
-		GLU.gluCylinder(quadratic, 2.0, 2.0, 4, 18, 18);
-		GL.glEndList();
-		shapes[9] = new Shape("Cylinder", index++);
-
-		GL.glNewList(index, GL.GL_COMPILE);
-		GLU.gluCylinder(quadratic, 0, 2.0, 4, 18, 18);
-		GL.glEndList();
-		shapes[10] = new Shape("Cone", index++);
-
-		currentShape = shapes[0];
-	}
-	
-	/**
-	 * @see OpenGLTab#renderScene()
-	 */
-	void renderScene() {
-		GL.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT);
-		GL.glLoadIdentity();
-		GL.glTranslatef(0.0f, 0.0f, -14.0f);
-		// rotate around X and Y axis
-		GL.glRotatef(yRot, 0.0f, 1.0f, 0.0f);
-		GL.glRotatef(xRot, 1.0f, 0.0f, 0.0f);
-		// sets polygon fill mode
-		if (fill) {
-			GL.glPolygonMode(GL.GL_FRONT_AND_BACK, GL.GL_FILL);
-		} else {
-			GL.glPolygonMode(GL.GL_FRONT_AND_BACK, GL.GL_LINE);
-		}
-		currentShape.draw();
-		yRot += 1.5;
-		xRot += 1.5;
-	}
-}
diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/OpenGLExample.java b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/OpenGLExample.java
deleted file mode 100644
index a13da25..0000000
--- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/OpenGLExample.java
+++ /dev/null
@@ -1,143 +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.swt.opengl.examples;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-import java.util.*;
-
-public class OpenGLExample {
-	private static ResourceBundle resourceBundle =
-		ResourceBundle.getBundle("examples_opengl");
-	private TabFolder tabFolder;
-	private OpenGLTab[] tabs;
-	private int sleep;
-	
-	public OpenGLExample() {}
-
-	/**
-	 * Creates an instance of an OpenGLExample embedded inside
-	 * the supplied parent Composite.
-	 * 
-	 * @param parent the container of the example
-	 */
-	public OpenGLExample(Composite parent) {
-		tabFolder = new TabFolder(parent, SWT.NONE);
-		tabs =
-			new OpenGLTab[] {
-				new AntialiasingTab(),
-				new AreaTab(),
-				new FogTab(),
-				new GradientTab(),
-				new LightTab(),
-				new NurbTab(),
-				new ObjectsTab(),
-				new ReflectionTab(),
-				new StencilTab(),
-				new TextureTab(),
-				new TransparencyTab()
-			};
-				
-		for (int i = 0; i < tabs.length; i++) {
-			TabItem item = new TabItem(tabFolder, SWT.NONE);
-			item.setText(tabs[i].getTabText());
-			item.setControl(tabs[i].createTabFolderPage(tabFolder));
-		}
-		
-		tabFolder.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				OpenGLTab tab = tabs[tabFolder.getSelectionIndex()];
-				tab.setCurrent();
-				sleep = tab.getSleepLength();
-			}
-		});
-		if (tabs.length > 0) {
-			tabs[0].setCurrent();
-			sleep = tabs[0].getSleepLength();
-		}
-		
-		Runnable timer = new Runnable() {
-			public void run() {
-				if (tabFolder.isDisposed()) return;
-				display();
-				tabFolder.getDisplay().timerExec(sleep, this);
-			}
-		};
-		timer.run();
-		tabFolder.addListener(SWT.Dispose, new Listener() {
-			public void handleEvent(Event e) {
-				dispose();
-			}
-		});
-	}
-
-	/**
-	 * Renders the scene of the current tab.
-	 */
-	void display() {
-		int index = tabFolder.getSelectionIndex();
-		tabs[index].render();
-		tabs[index].swap();
-	}
-	
-	/**
-	 * Disposes of all contained tabs.
-	 */
-	void dispose() {
-		tabFolder = null;
-		for (int i = 0; i < tabs.length; i++) {
-			tabs[i].dispose();
-		}
-	}
-
-	/**
-	 * Gets a string from the resource bundle.
-	 * We don't want to crash because of a missing String.
-	 * Returns the key if not found.
-	 */
-	static String getResourceString(String key) {
-		try {
-			return resourceBundle.getString(key);
-		} catch (MissingResourceException e) {
-			return key;
-		} catch (NullPointerException e) {
-			return "!" + key + "!";
-		}			
-	}
-
-	/**
-	 * Invokes as a standalone program.
-	 */
-	public static void main(String[] args) {
-		Display display = new Display();
-		Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		OpenGLExample instance = new OpenGLExample(shell);
-		shell.setText(getResourceString("window.title"));
-		shell.open();
-		while (! shell.isDisposed()) {
-			if (! display.readAndDispatch()) display.sleep();
-		}
-		instance.dispose();
-	}
-
-	public Shell open (Display display) {
-		Shell shell = new Shell (display);
-		shell.setLayout(new FillLayout());
-		new OpenGLExample(shell);
-		shell.setText(getResourceString("window.title"));
-		shell.open();
-		return shell;
-	}
-}
diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/OpenGLTab.java b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/OpenGLTab.java
deleted file mode 100644
index 6799e8d..0000000
--- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/OpenGLTab.java
+++ /dev/null
@@ -1,229 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl.examples;
-
-
-import org.eclipse.opengl.*;
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.opengl.*;
-
-/**
- * <code>OpenGLTab</code> is the abstract superclass of every page
- * in the example's tab folder.  Each page in the tab folder
- * displays a different example.
- *
- * An OpenGLTab itself is not a control but instead provides a hierarchy
- * with which to share code that is common to every page in the folder.
- */
-abstract class OpenGLTab {
-	private GLCanvas glCanvas;
-	private Composite tabFolderPage;
-	private boolean stencilSupport;
-	private final static int DEFAULT_SLEEP_LENGTH = 100;
-
-	/**
-	 * Creates this tab's controls.  Subclasses must override.
-	 *
-	 * @param composite the parent composite
-	 */
-	abstract void createControls(Composite composite);
-
-	/**
-	 * Creates the tab folder page.
-	 *
-	 * @param tabFolder the parent tab folder
-	 * @return the new page
-	 */
-	Composite createTabFolderPage(TabFolder tabFolder) {
-		tabFolderPage = new Composite(tabFolder, SWT.NONE);
-		tabFolderPage.setLayout(new GridLayout(2, false));
-
-		GridData gridData = new GridData();
-		gridData.heightHint = 400;
-		gridData.widthHint = 400;
-		gridData.verticalAlignment = GridData.BEGINNING;
-		GLData data = new GLData();
-		data.doubleBuffer = true;
-		data.stencilSize = 8;
-		glCanvas = new GLCanvas(tabFolderPage, SWT.NO_BACKGROUND, data);
-		glCanvas.setLayout(new GridLayout());
-		glCanvas.setLayoutData(gridData);
-		glCanvas.setSize(400, 400);		// needed for windows
-
-		gridData = new GridData();
-		gridData.verticalAlignment = GridData.BEGINNING;
-		Composite controlComposite = new Composite(tabFolderPage, SWT.NONE);
-		controlComposite.setLayout(new GridLayout());
-		controlComposite.setLayoutData(gridData);
-
-		// create the OpenGL Screen and controls
-		setCurrent();
-		setupViewingArea();
-
-		// determine if native stencil support is available
-		int[] param = new int[1];
-		GL.glGetIntegerv(GL.GL_STENCIL_BITS, param);
-		stencilSupport = param[0] != 0;
-
-		init();
-
-		if (!isStencilSupportNeeded() || hasStencilSupport()) {
-			createControls(controlComposite);
-		} else {
-			Label label = new Label(controlComposite, SWT.NONE);
-			label.setText("This tab requires native stencil support.");
-		}
-
-		return tabFolderPage;
-	}
-
-	/**
-	 * Disposes all resources allocated by this tab.
-	 */
-	void dispose() {
-	}
-
-	/**
-	 * Returns the glCanvas for this tab.
-	 * 
-	 * @return Canvas
-	 */
-	GLCanvas getGlCanvas() {
-		return glCanvas;
-	}
-
-	/**
-	 * Returns the length of time in milliseconds that the example
-	 * should sleep between animation redraws.  As this length
-	 * increases, user responsiveness increases and the frequency of
-	 * animation redraws decreases.  Subclasses with moving animations
-	 * may wish to override this default implementation to return a
-	 * smaller value if their animations do not occur frequently enough. 
-	 *
-	 * @return the length of time in milliseconds to sleep between redraws
-	 */
-	int getSleepLength() {
-		return DEFAULT_SLEEP_LENGTH;	
-	}
-
-	/**
-	 * Returns the text for this tab.  Subclasses must override.
-	 *
-	 * @return the text for the tab item
-	 */
-	abstract String getTabText();
-
-	/**
-	 * Returns whether this machine has native stencils support.
-	 * 
-	 * @return boolean
-	 */
-	boolean hasStencilSupport() {
-		return stencilSupport;
-	}
-
-	/**
-	 * Initialize OpenGL resources for this tab.  Subclasses must override.
-	 */
-	abstract void init();
-
-	/**
-	 * Loads a texture.
-	 * 
-	 * @param context
-	 * @param fileName
-	 * @param index
-	 * @param texture[]
-	 */
-	static void loadTexture(GLCanvas context, String fileName, int index, int[] texture) {
-		GL.glBindTexture(GL.GL_TEXTURE_2D, texture[index]);
-		ImageData source =
-			new ImageData(OpenGLTab.class.getResourceAsStream(fileName));
-		Image image = new Image(Display.getCurrent(), source);
-		Image newImage = new Image(Display.getCurrent(), 256, 256);
-		GC gc = new GC(newImage);
-		gc.drawImage(image, 0, 0, source.width, source.height, 0, 0, 256, 256);
-		source = newImage.getImageData();
-		gc.dispose();
-		source = ImageDataUtil.convertImageData(source);
-		newImage.dispose();
-		image.dispose();
-		GL.glTexImage2D(
-			GL.GL_TEXTURE_2D, 0, 3, 
-			source.width, source.height, 0,
-			GL.GL_RGB, GL.GL_UNSIGNED_BYTE, source.data);
-		GL.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MIN_FILTER, GL.GL_LINEAR);
-		GL.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MAG_FILTER, GL.GL_LINEAR);
-	}
-
-	/**
-	 * Renders this tab.
-	 */
-	void render() {
-		setCurrent();
-		if (!isStencilSupportNeeded() || hasStencilSupport()) {
-			renderScene();
-		} else {
-			GL.glClear(GL.GL_COLOR_BUFFER_BIT);
-		}
-	}
-
-	/**
-	 * Renders the scene for this tab.  Subclasses must override.
-	 */
-	abstract void renderScene();
-
-	/**
-	 * Returns whether this tab requires stencil support in order to display
-	 * properly. Subclasses may wish to override this method.
-	 * 
-	 * @return boolean
-	 */
-	boolean isStencilSupportNeeded() {
-		return false;
-	}
-
-	/**
-	 * Sets this rendering context to be current.
-	 */
-	void setCurrent() {
-		glCanvas.setCurrent();
-	}
-	
-	/**
-	 * Sets up the viewing area for the OpenGL screen.  The default
-	 * behavior is to use a perspective view, but there also exist frustrum
-	 * and ortho views.  Subclasses may wish to override this method.
-	 */
-	void setupViewingArea() {
-		Rectangle rect = glCanvas.getClientArea();
-		int width = rect.width;
-		int height = rect.height;
-		height = Math.max(height, 1);
-		GL.glViewport(0, 0, width, height);
-		GL.glMatrixMode(GL.GL_PROJECTION);	// select the projection matrix
-		GL.glLoadIdentity();				// reset the projection matrix
-		float fAspect = (float) width / (float) height;
-		GLU.gluPerspective(45.0f, fAspect, 0.5f, 400.0f);
-		GL.glMatrixMode(GL.GL_MODELVIEW);	// select the modelview matrix
-		GL.glLoadIdentity();
-	}
-
-	/**
-	 * Swaps the buffers.
-	 */
-	void swap() {
-		glCanvas.swapBuffers();
-	}
-}
diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/ReflectionTab.java b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/ReflectionTab.java
deleted file mode 100644
index db654b1..0000000
--- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/ReflectionTab.java
+++ /dev/null
@@ -1,556 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl.examples;
-
-
-import org.eclipse.opengl.*;
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-class ReflectionTab extends OpenGLTab {
-	private float ballY = 0.0f;
-	private float ballZ = 1.6666666f;
-	private float ballX = 0.0f;
-	private float ballRot = 0.0f;
-	private float cubeX = 2.5f;
-	private float cubeY = -2.0f;
-	private float cubeZ = 2.0f;
-	private float xPos = 0.0f;
-	private float yPos = 0.0f;
-	private float zPos = 22.0f;
-	private float ballRotSpeed = 0.0f;
-	private int quadratic;
-	private int[] textures = new int[3];
-	private final static int
-		LIST_INDEX_BALL = 1,LIST_INDEX_BOX = 2,
-		LIST_INDEX_MIRROR = 3, LIST_INDEX_ROOM = 4;
-	private final static int
-		TEXTURE_INDEX_BALL = 0, TEXTURE_INDEX_FLOOR = 1,
-		TEXTURE_INDEX_BOX = 2;
-	private final static String[] IMAGES = {
-		"images/Ball.jpg", "images/Floor.jpg", "images/Box.bmp" };
-	private final static int SLEEP_LENGTH = 50;
-
-	/**
-	 * Draws the ball
-	 */
-	void createBall() {
-		GL.glNewList(LIST_INDEX_BALL, GL.GL_COMPILE);
-		GL.glColor3f(1.0f, 1.0f, 1.0f);
-		GL.glBindTexture(GL.GL_TEXTURE_2D, textures[TEXTURE_INDEX_BALL]);
-		GLU.gluSphere(quadratic, 0.35f, 32, 16);
-		GL.glDisable(GL.GL_BLEND);
-		GL.glEndList();
-	}
-
-	/**
-	 * Draws the box
-	 */
-	void createBox() {
-		float size = 1.0f;
-		GL.glNewList(LIST_INDEX_BOX, GL.GL_COMPILE);
-		GL.glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
-		GL.glBindTexture(GL.GL_TEXTURE_2D, textures[TEXTURE_INDEX_BOX]);
-		GL.glBegin(GL.GL_QUADS);
-		// front	
-		GL.glNormal3f(0.0f, 0.0f, 1.0f);
-		GL.glTexCoord2f(0.0f, 0.0f);
-		GL.glVertex3f(-size, -size, size);
-		GL.glTexCoord2f(1.0f, 0.0f);
-		GL.glVertex3f(size, -size, size);
-		GL.glTexCoord2f(1.0f, 1.0f);
-		GL.glVertex3f(size, size, size);
-		GL.glTexCoord2f(0.0f, 1.0f);
-		GL.glVertex3f(-size, size, size);
-		// back	
-		GL.glNormal3f(0.0f, 0.0f, -1.0f);
-		GL.glTexCoord2f(0.0f, 0.0f);
-		GL.glVertex3f(-size, -size, -size);
-		GL.glTexCoord2f(1.0f, 0.0f);
-		GL.glVertex3f(size, -size, -size);
-		GL.glTexCoord2f(1.0f, 1.0f);
-		GL.glVertex3f(size, size, -size);
-		GL.glTexCoord2f(0.0f, 1.0f);
-		GL.glVertex3f(-size, size, -size);
-		// left	
-		GL.glNormal3f(-1.0f, 0.0f, 0.0f);
-		GL.glTexCoord2f(0.0f, 0.0f);
-		GL.glVertex3f(-size, -size, -size);
-		GL.glTexCoord2f(1.0f, 0.0f);
-		GL.glVertex3f(-size, -size, size);
-		GL.glTexCoord2f(1.0f, 1.0f);
-		GL.glVertex3f(-size, size, size);
-		GL.glTexCoord2f(0.0f, 1.0f);
-		GL.glVertex3f(-size, size, -size);
-		// right	
-		GL.glNormal3f(1.0f, 0.0f, 0.0f);
-		GL.glTexCoord2f(0.0f, 0.0f);
-		GL.glVertex3f(size, -size, -size);
-		GL.glTexCoord2f(1.0f, 0.0f);
-		GL.glVertex3f(size, -size, size);
-		GL.glTexCoord2f(1.0f, 1.0f);
-		GL.glVertex3f(size, size, size);
-		GL.glTexCoord2f(0.0f, 1.0f);
-		GL.glVertex3f(size, size, -size);
-		// top	
-		GL.glNormal3f(0.0f, 1.0f, 0.0f);
-		GL.glTexCoord2f(0.0f, 0.0f);
-		GL.glVertex3f(size, size, -size);
-		GL.glTexCoord2f(1.0f, 0.0f);
-		GL.glVertex3f(-size, size, -size);
-		GL.glTexCoord2f(1.0f, 1.0f);
-		GL.glVertex3f(-size, size, size);
-		GL.glTexCoord2f(0.0f, 1.0f);
-		GL.glVertex3f(size, size, size);
-		// bottom	
-		GL.glNormal3f(0.0f, -1.0f, 0.0f);
-		GL.glTexCoord2f(0.0f, 0.0f);
-		GL.glVertex3f(size, -size, -size);
-		GL.glTexCoord2f(1.0f, 0.0f);
-		GL.glVertex3f(-size, -size, -size);
-		GL.glTexCoord2f(1.0f, 1.0f);
-		GL.glVertex3f(-size, -size, size);
-		GL.glTexCoord2f(0.0f, 1.0f);
-		GL.glVertex3f(size, -size, size);
-		GL.glEnd();
-		GL.glEndList();
-	}
-
-	/**
-	 * @see OpenGLTab#createControls(Composite)
-	 */
-	void createControls(Composite composite) {
-		Group ballTranslation = new Group(composite, SWT.NONE);
-		ballTranslation.setLayout(new GridLayout(2, false));
-		ballTranslation.setText("Ball Translation");
-
-		new Label(ballTranslation, SWT.NONE).setText("X:");
-		final Slider ballXPosSlider = new Slider(ballTranslation, SWT.NONE);
-		ballXPosSlider.setIncrement(1);
-		ballXPosSlider.setMaximum(38);
-		ballXPosSlider.setMinimum(0);
-		ballXPosSlider.setThumb(2);
-		ballXPosSlider.setPageIncrement(2);
-		ballXPosSlider.setSelection(18);
-		ballXPosSlider.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				ballX = (float) (ballXPosSlider.getSelection() - 18) / 5;
-			}
-		});
-
-		new Label(ballTranslation, SWT.NONE).setText("Y:");
-		final Slider ballYPosSlider = new Slider(ballTranslation, SWT.NONE);
-		ballYPosSlider.setIncrement(1);
-		ballYPosSlider.setMaximum(38);
-		ballYPosSlider.setMinimum(0);
-		ballYPosSlider.setThumb(2);
-		ballYPosSlider.setPageIncrement(2);
-		ballYPosSlider.setSelection(18);
-		ballYPosSlider.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				ballY = (float) (ballYPosSlider.getSelection() - 18) / 5;
-			}
-		});
-
-		new Label(ballTranslation, SWT.NONE).setText("Z:");
-		final Slider ballZPosSlider = new Slider(ballTranslation, SWT.NONE);
-		ballZPosSlider.setIncrement(1);
-		ballZPosSlider.setMaximum(24);
-		ballZPosSlider.setMinimum(0);
-		ballZPosSlider.setThumb(1);
-		ballZPosSlider.setPageIncrement(2);
-		ballZPosSlider.setSelection(4);
-		ballZPosSlider.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				ballZ = (float) (ballZPosSlider.getSelection() + 1) / 3;
-			}
-		});
-
-		Group cubeTranslation = new Group(composite, SWT.NONE);
-		cubeTranslation.setLayout(new GridLayout(2, false));
-		cubeTranslation.setText("Cube Translation");
-
-		new Label(cubeTranslation, SWT.NONE).setText("X:");
-		final Slider cubeXPosSlider = new Slider(cubeTranslation, SWT.NONE);
-		cubeXPosSlider.setIncrement(1);
-		cubeXPosSlider.setMaximum(14);
-		cubeXPosSlider.setMinimum(0);
-		cubeXPosSlider.setThumb(2);
-		cubeXPosSlider.setPageIncrement(2);
-		cubeXPosSlider.setSelection(11);
-		cubeXPosSlider.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				cubeX = (float) (cubeXPosSlider.getSelection() - 6) / 2;
-			}
-		});
-
-		new Label(cubeTranslation, SWT.NONE).setText("Y:");
-		final Slider cubeYPosSlider = new Slider(cubeTranslation, SWT.NONE);
-		cubeYPosSlider.setIncrement(1);
-		cubeYPosSlider.setMaximum(14);
-		cubeYPosSlider.setMinimum(0);
-		cubeYPosSlider.setThumb(2);
-		cubeYPosSlider.setPageIncrement(2);
-		cubeYPosSlider.setSelection(2);
-		cubeYPosSlider.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				cubeY = (float) (cubeYPosSlider.getSelection() - 6) / 2;
-			}
-		});
-
-		new Label(cubeTranslation, SWT.NONE).setText("Z:");
-		final Slider cubeZPosSlider = new Slider(cubeTranslation, SWT.NONE);
-		cubeZPosSlider.setIncrement(1);
-		cubeZPosSlider.setMaximum(10);
-		cubeZPosSlider.setMinimum(1);
-		cubeZPosSlider.setThumb(1);
-		cubeZPosSlider.setPageIncrement(2);
-		cubeZPosSlider.setSelection(2);
-		cubeZPosSlider.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				cubeZ = (float) (cubeZPosSlider.getSelection() + 2) / 2;
-			}
-		});
-
-		Group movementGroup = new Group(composite, SWT.NONE);
-		movementGroup.setLayout(new GridLayout(2, false));
-		movementGroup.setText("Room Rotation");
-
-		new Label(movementGroup, SWT.NONE).setText("X:");
-		final Slider screenXPosSlider = new Slider(movementGroup, SWT.NONE);
-		screenXPosSlider.setIncrement(1);
-		screenXPosSlider.setMaximum(42);
-		screenXPosSlider.setMinimum(0);
-		screenXPosSlider.setThumb(2);
-		screenXPosSlider.setPageIncrement(2);
-		screenXPosSlider.setSelection(20);
-		screenXPosSlider.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				xPos = screenXPosSlider.getSelection() - 20;
-			}
-		});
-
-		new Label(movementGroup, SWT.NONE).setText("Y:");
-		final Slider screenYPosSlider = new Slider(movementGroup, SWT.NONE);
-		screenYPosSlider.setIncrement(1);
-		screenYPosSlider.setMaximum(42);
-		screenYPosSlider.setMinimum(0);
-		screenYPosSlider.setThumb(2);
-		screenYPosSlider.setPageIncrement(2);
-		screenYPosSlider.setSelection(20);
-		screenYPosSlider.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				yPos = screenYPosSlider.getSelection() - 20;
-			}
-		});
-
-		new Label(movementGroup, SWT.NONE).setText("Z:");
-		final Slider screenZPosSlider = new Slider(movementGroup, SWT.NONE);
-		screenZPosSlider.setIncrement(1);
-		screenZPosSlider.setMaximum(42);
-		screenZPosSlider.setMinimum(0);
-		screenZPosSlider.setThumb(2);
-		screenZPosSlider.setPageIncrement(2);
-		screenZPosSlider.setSelection(20);
-		screenZPosSlider.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				zPos = screenZPosSlider.getSelection() + 2;
-			}
-		});
-
-		new Label(composite, SWT.NONE).setText("Ball Rotation Speed:");
-		final Slider ballRotSlider = new Slider(composite, SWT.NONE);
-		ballRotSlider.setIncrement(1);
-		ballRotSlider.setMaximum(22);
-		ballRotSlider.setMinimum(0);
-		ballRotSlider.setThumb(2);
-		ballRotSlider.setPageIncrement(2);
-		ballRotSlider.setSelection(0);
-		ballRotSlider.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				ballRotSpeed = ballRotSlider.getSelection();
-			}
-		});
-	}
-	
-	/**
-	 * Draws the mirror
-	 */
-	void createMirror() {
-		GL.glNewList(LIST_INDEX_MIRROR, GL.GL_COMPILE);
-		GL.glDisable(GL.GL_TEXTURE_2D);
-		GL.glColor4f(1.0f, 1.0f, 1.0f, 0.4f);
-		GL.glNormal3f(0.0f, 0.0f, 1.0f);
-		GL.glBegin(GL.GL_QUADS);
-		GL.glTexCoord2f(0.0f, 0.0f);
-		GL.glVertex3f(-2.0f, 2.0f, 0.0f);
-		GL.glTexCoord2f(1.0f, 0.0f);
-		GL.glVertex3f(-2.0f, -2.0f, 0.0f);
-		GL.glTexCoord2f(1.0f, 1.0f);
-		GL.glVertex3f(2.0f, -2.0f, 0.0f);
-		GL.glTexCoord2f(0.0f, 1.0f);
-		GL.glVertex3f(2.0f, 2.0f, 0.0f);
-		GL.glEnd();
-		GL.glEnable(GL.GL_TEXTURE_2D);
-		GL.glEndList();
-	}
-	
-	/**
-	 * Draws the room
-	 */
-	void createRoom() {
-		GL.glNewList(LIST_INDEX_ROOM, GL.GL_COMPILE);
-		GL.glDisable(GL.GL_TEXTURE_2D);
-		GL.glBegin(GL.GL_QUADS);
-		// left wall
-		GL.glNormal3f(1.0f, 0.0f, 0.0f);
-		GL.glVertex3f(-4.0f, 4.0f, 0.0f);
-		GL.glVertex3f(-4.0f, 4.0f, 6.0f);
-		GL.glVertex3f(-4.0f, -4.0f, 6.0f);
-		GL.glVertex3f(-4.0f, -4.0f, 0.0f);
-		// right wall
-		GL.glNormal3f(-1.0f, 0.0f, 01.0f);
-		GL.glVertex3f(4.0f, 4.0f, 0.0f);
-		GL.glVertex3f(4.0f, 4.0f, 6.0f);
-		GL.glVertex3f(4.0f, -4.0f, 6.0f);
-		GL.glVertex3f(4.0f, -4.0f, 0.0f);
-		// ceiling	
-		GL.glNormal3f(0.0f, -1.0f, 0.0f);
-		GL.glColor3f(0.9f, 0.9f, 0.9f);
-		GL.glVertex3f(-4.0f, 4.0f, 0.0f);
-		GL.glVertex3f(-4.0f, 4.0f, 6.0f);
-		GL.glVertex3f(4.0f, 4.0f, 6.0f);
-		GL.glVertex3f(4.0f, 4.0f, 0.0f);
-		GL.glEnd();
-		// back wall with triangle strip to illiminate t-intersections 
-		GL.glBegin(GL.GL_TRIANGLE_STRIP);
-		GL.glNormal3f(0.0f, 0.0f, 1.0f);
-		GL.glVertex3d(-4.0, -4.0, 0.0);
-		GL.glVertex3d(-2.2, -4.0, 0.0);
-		GL.glVertex3d(-2.2, -2.2, 0.0);
-		GL.glVertex3d(2.2, -4.0, 0.0);
-		GL.glVertex3d(2.2, -2.2, 0.0);
-		GL.glVertex3d(4.0, -4.0, 0.0);
-		GL.glVertex3d(2.2, -2.2, 0.0);
-		GL.glVertex3d(4.0, -2.2, 0.0);
-		GL.glVertex3d(2.2, 2.2, 0.0);
-		GL.glVertex3d(4.0, 2.2, 0.0);
-		GL.glVertex3d(2.2, 2.2, 0.0);
-		GL.glVertex3d(4.0, 4.0, 0.0);
-		GL.glVertex3d(2.2, 2.2, 0.0);
-		GL.glVertex3d(2.2, 4.0, 0.0);
-		GL.glVertex3d(-2.2, 2.2, 0.0);
-		GL.glVertex3d(-2.2, 4.0, 0.0);
-		GL.glVertex3d(-4.0, 4.0, 0.0);
-		GL.glVertex3d(-2.2, 2.2, 0.0);
-		GL.glVertex3d(-4.0, 2.2, 0.0);
-		GL.glVertex3d(-2.2, -2.2, 0.0);
-		GL.glVertex3d(-4.0, -2.2, 0.0);
-		GL.glVertex3d(-4.0, -4.0, 0.0);
-		GL.glEnd();
-		GL.glEnable(GL.GL_TEXTURE_2D);
-		// draw floor
-		GL.glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
-		GL.glBindTexture(GL.GL_TEXTURE_2D, textures[TEXTURE_INDEX_FLOOR]);
-		GL.glNormal3f(0.0f, 1.0f, 0.0f);
-		GL.glBegin(GL.GL_QUADS);
-		// floor
-		GL.glTexCoord2f(0.0f, 0.0f);
-		GL.glVertex3f(-4.0f, -4.0f, 6.0f);
-		GL.glTexCoord2f(1.0f, 0.0f);
-		GL.glVertex3f(-4.0f, -4.0f, 0.0f);
-		GL.glTexCoord2f(1.0f, 1.0f);
-		GL.glVertex3f(4.0f, -4.0f, 0.0f);
-		GL.glTexCoord2f(0.0f, 1.0f);
-		GL.glVertex3f(4.0f, -4.0f, 6.0f);
-		GL.glEnd();
-		// draw mirror frame
-		GL.glBindTexture(GL.GL_TEXTURE_2D, textures[TEXTURE_INDEX_BOX]);
-		GL.glNormal3f(0.0f, 0.0f, 1.0f);
-		GL.glBegin(GL.GL_QUADS);
-		// top
-		GL.glTexCoord2f(0.0f, 0.0f);
-		GL.glVertex3f(-2.2f, 2.0f, 0.0f);
-		GL.glTexCoord2f(1.0f, 0.0f);
-		GL.glVertex3f(2.2f, 2.0f, 0.0f);
-		GL.glTexCoord2f(1.0f, 1.0f);
-		GL.glVertex3f(2.2f, 2.2f, 0.0f);
-		GL.glTexCoord2f(0.0f, 1.0f);
-		GL.glVertex3f(-2.2f, 2.2f, 0.0f);
-		// right
-		GL.glTexCoord2f(0.0f, 0.0f);
-		GL.glVertex3f(2.0f, 2.0f, 0.0f);
-		GL.glTexCoord2f(1.0f, 0.0f);
-		GL.glVertex3f(2.0f, -2.0f, 0.0f);
-		GL.glTexCoord2f(1.0f, 1.0f);
-		GL.glVertex3f(2.2f, -2.0f, 0.0f);
-		GL.glTexCoord2f(0.0f, 1.0f);
-		GL.glVertex3f(2.2f, 2.0f, 0.0f);
-		// bottom
-		GL.glTexCoord2f(0.0f, 0.0f);
-		GL.glVertex3f(-2.2f, -2.0f, 0.0f);
-		GL.glTexCoord2f(1.0f, 0.0f);
-		GL.glVertex3f(2.2f, -2.0f, 0.0f);
-		GL.glTexCoord2f(1.0f, 1.0f);
-		GL.glVertex3f(2.2f, -2.2f, 0.0f);
-		GL.glTexCoord2f(0.0f, 1.0f);
-		GL.glVertex3f(-2.2f, -2.2f, 0.0f);
-		// left
-		GL.glTexCoord2f(0.0f, 0.0f);
-		GL.glVertex3f(-2.0f, 2.0f, 0.0f);
-		GL.glTexCoord2f(1.0f, 0.0f);
-		GL.glVertex3f(-2.0f, -2.0f, 0.0f);
-		GL.glTexCoord2f(1.0f, 1.0f);
-		GL.glVertex3f(-2.2f, -2.0f, 0.0f);
-		GL.glTexCoord2f(0.0f, 1.0f);
-		GL.glVertex3f(-2.2f, 2.0f, 0.0f);
-		GL.glEnd();
-		GL.glEndList();
-	}
-
-	/**
-	 * @see OpenGLTab#dispose()
-	 */
-	void dispose() {
-		super.dispose();
-		GLU.gluDeleteQuadric(quadratic);
-		GL.glDeleteLists(LIST_INDEX_BALL, 1);
-		GL.glDeleteLists(LIST_INDEX_BOX, 1);
-		GL.glDeleteLists(LIST_INDEX_MIRROR, 1);
-		GL.glDeleteLists(LIST_INDEX_ROOM, 1);
-	}
-
-	/**
-	 * @see OpenGLTab#getSleepLength()
-	 */
-	int getSleepLength() {
-		return SLEEP_LENGTH;
-	}
-	
-	/**
-	 * @see OpenGLTab#getTabText()
-	 */
-	String getTabText() {
-		return "Reflection";
-	}
-
-	/**
-	 * @see OpenGLTab#init()
-	 */
-	void init() {
-		if (!hasStencilSupport()) return;
-
-		GL.glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
-		GL.glClearDepth(1.0f);
-		GL.glClearStencil(0);
-		GL.glGenTextures(IMAGES.length, textures);
-		for (int i = 0; i < IMAGES.length; i++) {
-			loadTexture(getGlCanvas(), IMAGES[i], i, textures);
-		}
-
-		GL.glShadeModel(GL.GL_SMOOTH);
-		quadratic = GLU.gluNewQuadric();
-		GLU.gluQuadricNormals(quadratic, GL.GL_SMOOTH);
-		GLU.gluQuadricTexture(quadratic, true);
-		GL.glDepthFunc(GL.GL_LEQUAL);
-		GL.glBlendFunc(GL.GL_SRC_ALPHA, GL.GL_ONE_MINUS_SRC_ALPHA);
-		GL.glHint(GL.GL_PERSPECTIVE_CORRECTION_HINT, GL.GL_NICEST);
-
-		// set up the lights
-		float[] LightAmb = { 0.7f, 0.7f, 0.7f, 1.0f };
-		float[] LightDif = { 1.0f, 1.0f, 1.0f, 1.0f };
-		float[] lightsAmbient = { 0.5f, 0.5f, 0.5f, 1.0f };
-		GL.glLightModelfv(GL.GL_LIGHT_MODEL_AMBIENT, lightsAmbient);
-		GL.glLightfv(GL.GL_LIGHT0, GL.GL_AMBIENT, LightAmb);
-		GL.glLightfv(GL.GL_LIGHT0, GL.GL_DIFFUSE, LightDif);
-
-		GL.glEnable(GL.GL_LIGHT0);
-		GL.glEnable(GL.GL_LIGHTING);
-		GL.glEnable(GL.GL_LINE_SMOOTH);
-		GL.glEnable(GL.GL_DEPTH_TEST);
-		GL.glEnable(GL.GL_TEXTURE_2D);
-		GL.glEnable(GL.GL_BLEND);
-
-		createRoom();
-		createBall();
-		createBox();
-		createMirror();
-	}
-
-	/**
-	 * @see OpenGLTab#isStencilSupportNeeded
-	 */
-	boolean isStencilSupportNeeded() {
-		return true;
-	}
-
-	/**
-	 * @see OpenGLTab#renderScene()
-	 */
-	void renderScene() {
-		GL.glClear(
-			GL.GL_COLOR_BUFFER_BIT
-				| GL.GL_DEPTH_BUFFER_BIT
-				| GL.GL_STENCIL_BUFFER_BIT);
-
-		GL.glLoadIdentity();
-		GLU.gluLookAt(xPos, yPos, zPos, 0, 0, 0, 0, 1, 0);
-		// clip plane equation
-		double clipEquation[] = { 0.0f, 0.0f, -1.0f, 0.0f };
-		float[] LightPos = { 0.0f, 2.0f, 7.0f, 1.0f };
-		GL.glColorMask(false, false, false, false);
-		// enable stencil buffer for "marking" the mirror		
-		GL.glEnable(GL.GL_STENCIL_TEST);
-		// set the stencil buffer to 1 where a polygon is drawn
-		GL.glStencilFunc(GL.GL_ALWAYS, 1, 1);
-		GL.glStencilOp(GL.GL_KEEP, GL.GL_KEEP, GL.GL_REPLACE);
-		GL.glDisable(GL.GL_DEPTH_TEST);
-		GL.glCallList(LIST_INDEX_MIRROR);
-		GL.glEnable(GL.GL_DEPTH_TEST);
-		GL.glColorMask(true, true, true, true);
-		GL.glStencilFunc(GL.GL_EQUAL, 1, 1);
-		// draw where the stencil is 1						
-		GL.glStencilOp(GL.GL_KEEP, GL.GL_KEEP, GL.GL_KEEP);
-		GL.glEnable(GL.GL_CLIP_PLANE0);
-		GL.glClipPlane(GL.GL_CLIP_PLANE0, clipEquation);
-		GL.glPushMatrix();
-		GL.glScalef(1.0f, 1.0f, -1.0f);
-		GL.glLightfv(GL.GL_LIGHT0, GL.GL_POSITION, LightPos);
-		GL.glCallList(LIST_INDEX_ROOM);			// reflection
-		GL.glPushMatrix();
-		GL.glTranslatef(cubeX, cubeY, cubeZ);
-		GL.glCallList(LIST_INDEX_BOX);			// reflection
-		GL.glPopMatrix();
-		GL.glTranslatef(ballX, ballY, ballZ);
-		GL.glRotatef(ballRot, 1.0f, 0.0f, 0.0f);
-		GL.glCallList(LIST_INDEX_BALL);			// reflection
-		GL.glPopMatrix();
-		GL.glDisable(GL.GL_CLIP_PLANE0);
-		GL.glDisable(GL.GL_STENCIL_TEST);
-		GL.glLightfv(GL.GL_LIGHT0, GL.GL_POSITION, LightPos);
-		GL.glEnable(GL.GL_BLEND);
-		GL.glDisable(GL.GL_LIGHTING);
-		GL.glBlendFunc(GL.GL_SRC_ALPHA, GL.GL_ONE_MINUS_SRC_ALPHA);
-		GL.glCallList(LIST_INDEX_MIRROR);
-		GL.glEnable(GL.GL_LIGHTING);
-		GL.glDisable(GL.GL_BLEND);
-		GL.glCallList(LIST_INDEX_ROOM);
-		GL.glPushMatrix();
-		GL.glTranslatef(cubeX, cubeY, cubeZ);
-		GL.glCallList(LIST_INDEX_BOX);
-		GL.glPopMatrix();
-		GL.glTranslatef(ballX, ballY, ballZ);
-		GL.glRotatef(ballRot, 1.0f, 0.0f, 0.0f);
-		GL.glCallList(LIST_INDEX_BALL);
-		ballRot += ballRotSpeed;
-	}
-}
diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/StencilTab.java b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/StencilTab.java
deleted file mode 100644
index 3b337e6..0000000
--- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/StencilTab.java
+++ /dev/null
@@ -1,230 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl.examples;
-
-
-import org.eclipse.opengl.*;
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-class StencilTab extends OpenGLTab {
-	private abstract class Shape {
-		private String name;
-		/**
-		 * Constructor
-		 * 
-		 * @param name the shape's name
-		 */
-		Shape(String name) {
-			super();
-			this.name = name;
-		}
-		/**
-		 * Draws this shape.
-		 */
-		abstract void draw();
-		/**
-		 * Returns the name.
-		 * 
-		 * @return String
-		 */
-		String getName() {
-			return name;
-		}
-	}
-
-	private Shape[] shapes = new Shape[5];
-	private Shape currentShape;
-	private float xPos = 0, yPos = 0;
-	private float size = 0.45f;
-	private int texture;
-	private int quadratic;
-	private final static String IMAGE = "images/splash.bmp";
-	private final static int SLEEP_LENGTH = 50;
-
-	/**
-	 * @see OpenGLTab#createControls(Composite)
-	 */
-	void createControls(Composite composite) {
-		Composite controls = new Composite(composite, SWT.NONE);
-		GridLayout layout = new GridLayout(2, false);
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		controls.setLayout(layout);
-		new Label(controls, SWT.NONE).setText("Object:");
-		final Combo shapeCombo = new Combo(controls, SWT.READ_ONLY);
-		for (int i = 0; i < shapes.length; i++) {
-			shapeCombo.add(shapes[i].getName());
-		}
-		shapeCombo.select(0);
-		shapeCombo.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				currentShape = shapes[shapeCombo.getSelectionIndex()];
-			}
-		});
-
-		new Label(composite, SWT.NONE).setText("Size:");
-		final Slider sizeSlider = new Slider(composite, SWT.HORIZONTAL);
-		sizeSlider.setValues(0, 15, 75, 5, 5, 10);
-		sizeSlider.setSelection(45);
-		sizeSlider.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				size = ((float) sizeSlider.getSelection()) / 100;
-			}
-		});
-	}
-
-	/**
-	 * @see OpenGLTab#dispose()
-	 */
-	void dispose() {
-		super.dispose();
-		GLU.gluDeleteQuadric(quadratic);
-	}
-
-	/**
-	 * @see OpenGLTab#getSleepLength()
-	 */
-	int getSleepLength() {
-		return SLEEP_LENGTH;
-	}
-	
-	/**
-	 * @see OpenGLTab#getTabText()
-	 */
-	String getTabText() {
-		return "Stencil";
-	}
-
-	/**
-	 * @see OpenGLTab#init()
-	 */
-	void init() {
-		if (!hasStencilSupport()) return;
-		
-		GL.glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
-		GL.glClearDepth(1.0f);
-		int[] textureOut = new int[1];
-		GL.glGenTextures(1, textureOut);
-		loadTexture(getGlCanvas(), IMAGE, 0, textureOut);
-		this.texture = textureOut[0];
-		quadratic = GLU.gluNewQuadric();
-		GLU.gluQuadricNormals(quadratic, GLU.GLU_SMOOTH);
-		GL.glDepthFunc(GL.GL_LEQUAL);
-		GL.glEnable(GL.GL_STENCIL_TEST);
-		GL.glEnable(GL.GL_TEXTURE_2D);
-		GL.glEnable(GL.GL_DEPTH_TEST);
-		// create shapes
-		shapes[0] = new Shape("Triangle") {
-			public void draw() {
-				GL.glBegin(GL.GL_TRIANGLES);
-				GL.glVertex3f(0.0f, size, 0.0f);
-				GL.glVertex3f(-size, -size, 0.0f);
-				GL.glVertex3f(size, -size, 0.0f);
-				GL.glEnd();
-			}
-		};
-
-		shapes[1] = new Shape("Disk") {
-			public void draw() {
-				GLU.gluDisk(quadratic, 0.0f, size, 32, 32);
-			}
-		};
-
-		shapes[2] = new Shape("Square") {
-			public void draw() {
-				GL.glRectf(-size, -size, size, size);
-			}
-		};
-
-		shapes[3] = new Shape("Hour Glass") {
-			public void draw() {
-				GL.glBegin(GL.GL_TRIANGLES);
-				GL.glVertex3f(0.0f, size, 0.0f);
-				GL.glVertex3f(-size, -size, 0.0f);
-				GL.glVertex3f(size, -size, 0.0f);
-				GL.glVertex3f(0.0f, -size, 0.0f);
-				GL.glVertex3f(size, size, 0.0f);
-				GL.glVertex3f(-size, size, 0.0f);
-				GL.glEnd();
-			}
-		};
-
-		shapes[4] = new Shape("Star") {
-			public void draw() {
-				GL.glBegin(GL.GL_TRIANGLES);
-				GL.glVertex3f(-0.3f, 0, 0.0f);
-				GL.glVertex3f(2 * size - 0.3f, 0, 0.0f);
-				GL.glVertex3f(size - 0.3f, 2 * size * 0.85f, 0.0f);
-				GL.glVertex3f(2 * size - 0.3f, size, 0.0f);
-				GL.glVertex3f(0 - 0.3f, size, 0.0f);
-				GL.glVertex3f(size - 0.3f, -size * 0.85f, 0.0f);
-				GL.glEnd();
-			}
-		};
-
-		currentShape = shapes[0];
-	}
-
-	/**
-	 * @see OpenGLTab#isStencilSupportNeeded
-	 */
-	boolean isStencilSupportNeeded() {
-		return true;
-	}
-
-	/**
-	 * @see OpenGLTab#renderScene()
-	 */
-	void renderScene() {
-		GL.glClear(
-			GL.GL_COLOR_BUFFER_BIT
-				| GL.GL_DEPTH_BUFFER_BIT
-				| GL.GL_STENCIL_BUFFER_BIT);
-
-		GL.glLoadIdentity();
-		GL.glTranslatef(
-			(float) (1.5 * Math.cos(xPos)),
-			(float) (1.0 * Math.sin(yPos)),
-			-3.0f);
-		xPos += 0.15f;
-		yPos += 0.3f;
-
-		GL.glColorMask(false, false, false, false);
-		GL.glStencilFunc(GL.GL_ALWAYS, 1, 1);
-		GL.glStencilOp(GL.GL_KEEP, GL.GL_KEEP, GL.GL_REPLACE);
-		GL.glDisable(GL.GL_DEPTH_TEST);
-		GL.glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
-
-		currentShape.draw();
-
-		GL.glEnable(GL.GL_DEPTH_TEST);
-		GL.glColorMask(true, true, true, true);
-		GL.glStencilFunc(GL.GL_EQUAL, 1, 1);
-		GL.glStencilOp(GL.GL_KEEP, GL.GL_KEEP, GL.GL_KEEP);
-
-		GL.glLoadIdentity();
-		// load the texture behind the stencil object
-		GL.glTranslatef(0.0f, 0.0f, -3.1f);
-		GL.glBindTexture(GL.GL_TEXTURE_2D, texture);
-		GL.glBegin(GL.GL_QUADS);
-		GL.glTexCoord2f(0.0f, 0.0f);
-		GL.glVertex3f(-0.85f, -0.85f, 1.0f);
-		GL.glTexCoord2f(1.0f, 0.0f);
-		GL.glVertex3f(0.85f, -0.85f, 1.0f);
-		GL.glTexCoord2f(1.0f, 1.0f);
-		GL.glVertex3f(0.85f, 0.85f, 1.0f);
-		GL.glTexCoord2f(0.0f, 1.0f);
-		GL.glVertex3f(-0.85f, 0.85f, 1.0f);
-		GL.glEnd();
-	}
-}
diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/TextureTab.java b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/TextureTab.java
deleted file mode 100644
index 6dae11a..0000000
--- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/TextureTab.java
+++ /dev/null
@@ -1,176 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl.examples;
-
-
-import org.eclipse.opengl.*;
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-class TextureTab extends OpenGLTab {
-	private float yrot = 0, zrot = 0;
-	private float xPos = 0.0f, yPos = 0.0f, zPos = -20;
-	private int texture = 0;
-	private float[][][] points = new float[45][45][3];
-	private final static String IMAGE = "images/splash.bmp";
-	private final static int SLEEP_LENGTH = 50;
-
-	/**
-	 * @see OpenGLTab#createControls(Composite)
-	 */
-	void createControls(Composite composite) {
-		Group movementGroup = new Group(composite, SWT.NONE);
-		movementGroup.setText("Translation");
-		movementGroup.setLayout(new GridLayout(2, false));
-
-		new Label(movementGroup, SWT.NONE).setText("X:");
-		final Slider xMove = new Slider(movementGroup, SWT.NONE);
-		xMove.setIncrement(1);
-		xMove.setMaximum(12);
-		xMove.setMinimum(0);
-		xMove.setThumb(2);
-		xMove.setPageIncrement(2);
-		xMove.setSelection(5);
-		xMove.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				xPos = xMove.getSelection() - 5;
-			}
-		});
-
-		new Label(movementGroup, SWT.NONE).setText("Y:");
-		final Slider yMove = new Slider(movementGroup, SWT.NONE);
-		yMove.setIncrement(1);
-		yMove.setMaximum(12);
-		yMove.setMinimum(0);
-		yMove.setThumb(2);
-		yMove.setPageIncrement(2);
-		yMove.setSelection(5);
-		yMove.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				yPos = yMove.getSelection() - 5;
-			}
-		});
-
-		new Label(movementGroup, SWT.NONE).setText("Z:");
-		final Slider zMove = new Slider(movementGroup, SWT.NONE);
-		zMove.setIncrement(1);
-		zMove.setMaximum(24);
-		zMove.setMinimum(0);
-		zMove.setThumb(4);
-		zMove.setPageIncrement(2);
-		zMove.setSelection(10);
-		zMove.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				zPos = zMove.getSelection() - 30;
-			}
-		});
-	}
-
-	/**
-	 * @see OpenGLTab#getSleepLength()
-	 */
-	int getSleepLength() {
-		return SLEEP_LENGTH;
-	}
-	
-	/**
-	 * @see OpenGLTab#getTabText()
-	 */
-	String getTabText() {
-		return "Texture";
-	}
-
-	/**
-	 * @see OpenGLTab#init()
-	 */
-	void init() {
-		//GL.glClearColor(0.0f, 0.0f, 0.3f, 1.0f); 
-		GL.glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
-		GL.glClearDepth(1.0f);
-		int[] textureOut = new int[1];
-		GL.glGenTextures(1, textureOut);
-		loadTexture(getGlCanvas(), IMAGE, 0, textureOut);
-		texture = textureOut[0];
-		GL.glDepthFunc(GL.GL_LEQUAL);
-		GL.glPolygonMode(GL.GL_BACK, GL.GL_FILL);
-		GL.glPolygonMode(GL.GL_FRONT, GL.GL_LINE);
-		GL.glEnable(GL.GL_LIST_MODE);
-		GL.glEnable(GL.GL_TEXTURE_2D);
-		GL.glEnable(GL.GL_DEPTH_TEST);
-		// initialize points	
-		for (int x = 0; x < 45; x++) {
-			for (int y = 0; y < 45; y++) {
-				points[x][y][0] = x / 5.0f - 4.5f;
-				points[x][y][1] = y / 5.0f - 4.5f;
-				points[x][y][2] =
-					(float) Math.sin(
-						(((x / 5.0f) * 40.0f) / 360.0f) * Math.PI * 2);
-			}
-		}
-	}
-
-	/**
-	 * @see OpenGLTab#renderScene()
-	 */
-	void renderScene() {
-		GL.glClear(
-			GL.GL_COLOR_BUFFER_BIT
-				| GL.GL_DEPTH_BUFFER_BIT
-				| GL.GL_STENCIL_BUFFER_BIT);
-		GL.glLoadIdentity();
-		GL.glTranslatef(xPos, yPos, zPos);
-		GL.glRotatef(yrot, 0.0f, 1.0f, 0.0f);
-		GL.glRotatef(zrot, 0.0f, 0.0f, 1.0f);
-		GL.glBindTexture(GL.GL_TEXTURE_2D, texture);
-
-		GL.glBegin(GL.GL_QUADS);
-		for (int x = 0; x < 44; x++) {
-			for (int y = 0; y < 44; y++) {
-				float fx = x / 44.0f;
-				float fy = y / 44.0f;
-				float fxb = (x + 1) / 44.0f;
-				float fyb = (y + 1) / 44.0f;
-				GL.glTexCoord2f(fx, fy);
-				GL.glVertex3f(
-					points[x][y][0],
-					points[x][y][1],
-					points[x][y][2]);
-				GL.glTexCoord2f(fx, fyb);
-				GL.glVertex3f(
-					points[x][y + 1][0],
-					points[x][y + 1][1],
-					points[x][y + 1][2]);
-				GL.glTexCoord2f(fxb, fyb);
-				GL.glVertex3f(
-					points[x + 1][y + 1][0],
-					points[x + 1][y + 1][1],
-					points[x + 1][y + 1][2]);
-				GL.glTexCoord2f(fxb, fy);
-				GL.glVertex3f(
-					points[x + 1][y][0],
-					points[x + 1][y][1],
-					points[x + 1][y][2]);
-			}
-		}
-		GL.glEnd();
-		// perform wave motion
-		for (int y = 0; y < 45; y++) {
-			float hold = points[0][y][2];
-			for (int x = 0; x < 44; x++) {
-				points[x][y][2] = points[x + 1][y][2];
-			}
-			points[44][y][2] = hold;
-		}
-		yrot += 0.9f;
-		zrot += 0.6f;
-	}
-}
diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/TransparencyTab.java b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/TransparencyTab.java
deleted file mode 100644
index 4d9db53..0000000
--- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/TransparencyTab.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.opengl.examples;
-
-
-import org.eclipse.opengl.*;
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-class TransparencyTab extends OpenGLTab {
-	private float[] alphas = { 0.3f, 0.5f, 1.0f };
-	private int quadratic;
-	private int currentSelection = 1;
-	private final static int
-		INDEX_TRIANGLE = 1, INDEX_SPHERE = 2, INDEX_DISK = 3;
-	private final static String[] OBJECTS = {"Triangle", "Sphere", "Disk" };
-
-	/**
-	 * @see OpenGLTab#createControls(Composite)
-	 */
-	void createControls(Composite composite) {
-		Composite objectGroup = new Composite(composite, SWT.NONE);
-		GridLayout layout = new GridLayout(2, false);
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		objectGroup.setLayout(layout);
-		objectGroup.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-
-		new Label(objectGroup, SWT.NONE).setText("Object:");
-		final Combo objectCombo = new Combo(objectGroup, SWT.READ_ONLY);
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		data.grabExcessHorizontalSpace = true;
-		objectCombo.setLayoutData(data);
-		objectCombo.setItems(OBJECTS);
-		objectCombo.select(0);
-		
-		new Label(composite, SWT.NONE).setText("Transparency:");
-		final Slider transparencySlider = new Slider(composite, SWT.HORIZONTAL);
-		transparencySlider.setValues(0, 0, 11, 1, 1, 2);
-		transparencySlider.setSelection(7);
-		transparencySlider.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				float alpha = transparencySlider.getSelection();
-				alpha = 1.0f - alpha / 10;
-				alphas[currentSelection - 1] = alpha;
-			}
-		});
-		objectCombo.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				currentSelection = objectCombo.getSelectionIndex() + 1;
-				transparencySlider.setSelection(
-					(int) ((1.0f - alphas[currentSelection - 1]) * 10));
-			}
-		});
-	}
-
-	/**
-	 * @see OpenGLTab#dispose()
-	 */
-	void dispose() {
-		super.dispose();
-		GLU.gluDeleteQuadric(quadratic);
-		GL.glDeleteLists(INDEX_DISK, 1);
-		GL.glDeleteLists(INDEX_SPHERE, 1);
-		GL.glDeleteLists(INDEX_TRIANGLE, 1);
-	}
-
-	/**
-	 * @see OpenGLTab#getTabText()
-	 */
-	String getTabText() {
-		return "Transparency";
-	}
-
-	/**
-	 * @see OpenGLTab#init()
-	 */
-	void init() {
-		GL.glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
-		GL.glBlendFunc(GL.GL_SRC_ALPHA, GL.GL_ONE_MINUS_SRC_ALPHA);
-		quadratic = GLU.gluNewQuadric();
-		GLU.gluQuadricNormals(quadratic, GLU.GLU_SMOOTH);
-		GL.glEnable(GL.GL_CULL_FACE);
-		GL.glEnable(GL.GL_DEPTH_TEST);
-		GL.glEnable(GL.GL_BLEND);
-		// create display lists		
-		GL.glNewList(INDEX_SPHERE, GL.GL_COMPILE);
-		GLU.gluQuadricDrawStyle(quadratic, GLU.GLU_FILL);
-		GLU.gluSphere(quadratic, 1.5, 32, 32);
-		GL.glEndList();
-		GL.glNewList(INDEX_DISK, GL.GL_COMPILE);
-		GLU.gluQuadricDrawStyle(quadratic, GLU.GLU_FILL);
-		GLU.gluDisk(quadratic, 1.0, 3, 32, 32);
-		GL.glEndList();
-		GL.glNewList(INDEX_TRIANGLE, GL.GL_COMPILE);
-		GL.glBegin(GL.GL_TRIANGLES);
-		GL.glVertex3f(0.0f, 2.0f, 0.0f);
-		GL.glVertex3f(-2.0f, -2.0f, 2.0f);
-		GL.glVertex3f(2.0f, -2.0f, 2.0f);
-		GL.glEnd();
-		GL.glEndList();
-	}
-
-	/**
-	 * @see SelectionTab.processPick (int[], int)
-	 */
-	void processPick(int[] pSelectBuff, int hits) {
-		int zDepth;
-		int tempSelection = pSelectBuff[3];
-		zDepth = pSelectBuff[2];
-		// pick object with largest z value
-		for (int i = 4; i <= 4 * (hits - 1); i = i + 4) {
-			if (zDepth > pSelectBuff[i + 2]) {
-				zDepth = pSelectBuff[i + 2];
-				tempSelection = pSelectBuff[i + 3];
-			}
-		}
-		if (tempSelection > 0) currentSelection = tempSelection;
-	}
-
-	/**
-	 * @see OpenGLTab#renderScene()
-	 */
-	void renderScene() {
-		// draw items with transparent qualities in reverse Z order
-		GL.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT);
-		GL.glLoadIdentity();
-		GL.glTranslatef(0.0f, 0.0f, -14.0f);
-		GL.glPushName(0);
-
-		// draw disk
-		GL.glPushMatrix();
-		GL.glTranslatef(-1.0f, 0.0f, 1.0f);
-		GL.glColor4f(0.0f, 1.0f, 0.0f, alphas[2]);
-		GL.glLoadName(INDEX_DISK);
-		GL.glCallList(INDEX_DISK);
-		if (currentSelection == INDEX_DISK) {
-			GL.glColor3f(1.0f, 0.0f, 0.0f);
-			GLU.gluQuadricDrawStyle(quadratic, GLU.GLU_LINE);
-			GLU.gluDisk(quadratic, 0.98, 3.02, 32, 32);
-		}
-		GL.glPopMatrix();
-
-		// draw triangle
-		GL.glTranslatef(0.0f, 0.0f, +3.0f);
-		GL.glLoadName(INDEX_TRIANGLE);
-		GL.glColor4f(1.0f, 0.0f, 0.0f, alphas[0]);
-		GL.glCallList(INDEX_TRIANGLE);
-		GL.glPointSize(5.0f);
-		if (currentSelection == INDEX_TRIANGLE) {
-			GL.glBegin(GL.GL_POINTS);
-			GL.glColor3f(1.0f, 0.0f, 0.0f);
-			GL.glVertex3f(0.0f, 2.0f, 0.0f);
-			GL.glVertex3f(-2.0f, -2.0f, 2.0f);
-			GL.glVertex3f(2.0f, -2.0f, 2.0f);
-			GL.glEnd();
-		}
-
-		// draw sphere
-		GL.glPushMatrix();
-		GL.glTranslatef(1.0f, 0.0f, +3.0f);
-		GL.glColor4f(0.0f, 0.0f, 1.0f, alphas[1]);
-		GL.glLoadName(INDEX_SPHERE);
-		GL.glCallList(INDEX_SPHERE);
-		if (currentSelection == INDEX_SPHERE) {
-			GL.glColor3f(1.0f, 0.0f, 0.0f);
-			GLU.gluQuadricDrawStyle(quadratic, GLU.GLU_LINE);
-			GLU.gluSphere(quadratic, 1.51, 8, 8);
-		}
-		GL.glPopMatrix();
-	}
-}
diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/images/Ball.jpg b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/images/Ball.jpg
deleted file mode 100644
index 6890d26..0000000
--- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/images/Ball.jpg
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/images/Box.bmp b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/images/Box.bmp
deleted file mode 100644
index 5eef663..0000000
--- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/images/Box.bmp
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/images/Floor.jpg b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/images/Floor.jpg
deleted file mode 100644
index 4934c9c..0000000
--- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/images/Floor.jpg
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/images/splash.bmp b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/images/splash.bmp
deleted file mode 100644
index 6ec75da..0000000
--- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/images/splash.bmp
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/images/untitled.jpg b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/images/untitled.jpg
deleted file mode 100644
index f5d6aa1..0000000
--- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/images/untitled.jpg
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.snippets/.classpath b/examples/org.eclipse.swt.snippets/.classpath
deleted file mode 100644
index 751c8f2..0000000
--- a/examples/org.eclipse.swt.snippets/.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.swt.snippets/.cvsignore b/examples/org.eclipse.swt.snippets/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/examples/org.eclipse.swt.snippets/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/.project b/examples/org.eclipse.swt.snippets/.project
deleted file mode 100644
index da5ce16..0000000
--- a/examples/org.eclipse.swt.snippets/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.swt.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.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/examples/org.eclipse.swt.snippets/about.html b/examples/org.eclipse.swt.snippets/about.html
deleted file mode 100644
index 6f6b96c..0000000
--- a/examples/org.eclipse.swt.snippets/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.swt.snippets/build.properties b/examples/org.eclipse.swt.snippets/build.properties
deleted file mode 100644
index ceaaa93..0000000
--- a/examples/org.eclipse.swt.snippets/build.properties
+++ /dev/null
@@ -1,11 +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
-###############################################################################
-source.swtsnippets.jar = src/
diff --git a/examples/org.eclipse.swt.snippets/plugin.properties b/examples/org.eclipse.swt.snippets/plugin.properties
deleted file mode 100644
index d1e0212..0000000
--- a/examples/org.eclipse.swt.snippets/plugin.properties
+++ /dev/null
@@ -1,12 +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
-###############################################################################
-pluginName = SWT Snippets
-providerName = Eclipse.org
diff --git a/examples/org.eclipse.swt.snippets/plugin.xml b/examples/org.eclipse.swt.snippets/plugin.xml
deleted file mode 100644
index b73d5a6..0000000
--- a/examples/org.eclipse.swt.snippets/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.swt.snippets"
-   name="%pluginName"
-   version="3.1.0"
-   provider-name="%providerName">
-
-   <requires>
-      <import plugin="org.eclipse.swt" export="true"/>
-   </requires>
-
-</plugin>
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet1.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet1.java
deleted file mode 100644
index 7ba0b1c..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet1.java
+++ /dev/null
@@ -1,32 +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.swt.snippets;
-
-/* 
- * example snippet: Hello World
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.widgets.*;
-
-public class Snippet1 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell(display);
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet10.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet10.java
deleted file mode 100644
index 1b74eb9..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet10.java
+++ /dev/null
@@ -1,67 +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.swt.snippets;
-
-/* 
- * Draw using transformations, paths and alpha blending
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.1
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet10 {
-	public static void main(String[] args) {
-		final Display display = new Display();
-		final Shell shell = new Shell(display);
-		shell.setText("Advanced Graphics");
-		FontData fd = shell.getFont().getFontData()[0];
-		final Font font = new Font(display, fd.getName(), 60, SWT.BOLD | SWT.ITALIC);
-		final Image image = new Image(display, 640, 480);
-		final Rectangle rect = image.getBounds();
-		GC gc = new GC(image);
-		gc.setBackground(display.getSystemColor(SWT.COLOR_RED));
-		gc.fillOval(rect.x, rect.y, rect.width, rect.height);
-		gc.dispose();
-		shell.addListener(SWT.Paint, new Listener() {
-			public void handleEvent(Event event) {
-				GC gc = event.gc;				
-				Transform tr = new Transform(display);
-				tr.translate(50, 120);
-				tr.rotate(-30);
-				gc.drawImage(image, 0, 0, rect.width, rect.height, 0, 0, rect.width / 2, rect.height / 2);
-				gc.setAlpha(100);
-				gc.setTransform(tr);
-				Path path = new Path(display);
-				path.addString("SWT", 0, 0, font);
-				gc.setBackground(display.getSystemColor(SWT.COLOR_GREEN));
-				gc.setForeground(display.getSystemColor(SWT.COLOR_BLUE));
-				gc.fillPath(path);
-				gc.drawPath(path);
-				tr.dispose();
-				path.dispose();
-			}			
-		});
-		shell.setSize(shell.computeSize(rect.width / 2, rect.height / 2));
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		image.dispose();
-		font.dispose();
-		display.dispose();
-	}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet100.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet100.java
deleted file mode 100644
index 2fff80a..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet100.java
+++ /dev/null
@@ -1,46 +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.swt.snippets;
-
-/*
- * Font example snippet: create a large font for use by a text widget
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet100 {
-
-public static void main(String[] args) {
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setBounds(10, 10, 200, 200);
-	Text text = new Text(shell, SWT.MULTI);
-	text.setBounds(10, 10, 150, 150);
-	Font initialFont = text.getFont();
-	FontData[] fontData = initialFont.getFontData();
-	for (int i = 0; i < fontData.length; i++) {
-		fontData[i].setHeight(24);
-	}
-	Font newFont = new Font(display, fontData);
-	text.setFont(newFont);
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	newFont.dispose();
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet101.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet101.java
deleted file mode 100644
index d70e976..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet101.java
+++ /dev/null
@@ -1,44 +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.swt.snippets;
-
-/*
- * Table example snippet: insert a table item (at an index)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet101 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	Table table = new Table (shell, SWT.BORDER | SWT.MULTI);
-	table.setSize (200, 200);
-	for (int i=0; i<12; i++) {
-		TableItem item = new TableItem (table, SWT.NONE);
-		item.setText ("Item " + i);
-	}
-	TableItem item = new TableItem (table, SWT.NONE, 1);
-	item.setText ("*** New Item " + table.indexOf (item) + " ***");
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-
-}
-
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet102.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet102.java
deleted file mode 100644
index 23056b6..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet102.java
+++ /dev/null
@@ -1,46 +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.swt.snippets;
-
-/*
- * Tree example snippet: insert a tree item (at an index)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet102 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	Tree tree = new Tree (shell, SWT.BORDER | SWT.MULTI);
-	tree.setSize (200, 200);
-	for (int i=0; i<12; i++) {
-		TreeItem item = new TreeItem (tree, SWT.NONE);
-		item.setText ("Item " + i);
-	}
-	TreeItem item = new TreeItem (tree, SWT.NONE, 1);
-	TreeItem [] items = tree.getItems ();
-	int index = 0;
-	while (index < items.length && items [index] != item) index++;
-	item.setText ("*** New Item " + index + " ***");
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet103.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet103.java
deleted file mode 100644
index 5ab73fb..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet103.java
+++ /dev/null
@@ -1,72 +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.swt.snippets;
-
-/*
- * Table example snippet: update table item text
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet103 {
-
-static char content = 'a';
-public static void main(String[] args) {
-	final Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setBounds(10, 10, 200, 240);
-	Table table = new Table(shell, SWT.NONE);
-	table.setBounds(10, 10, 160, 160);
-
-	final TableItem[] items = new TableItem[4];
-	for (int i = 0; i < 4; i++) {
-		new TableColumn(table, SWT.NONE).setWidth(40);
-	}
-	for (int i = 0; i < 4; i++) {
-		items[i] = new TableItem(table, SWT.NONE);
-		populateItem(items[i]);
-	}
-
-	Button button = new Button(shell, SWT.PUSH);
-	button.setText("Change");
-	button.pack();
-	button.setLocation(10, 180);
-	button.addListener(SWT.Selection, new Listener() {
-		public void handleEvent(Event event) {
-			for (int i = 0; i < 4; i++) {
-				populateItem(items[i]);
-			}
-		}
-	});
-
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch()) display.sleep();
-	}
-	display.dispose();
-}
-
-static void populateItem(TableItem item) {
-	String stringContent = String.valueOf(content);
-	item.setText(
-		new String[] {
-			stringContent,
-			stringContent,
-			stringContent,
-			stringContent });
-	content++;
-	if (content > 'z') content = 'a';
-}
-
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet104.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet104.java
deleted file mode 100644
index 4dd38d2..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet104.java
+++ /dev/null
@@ -1,85 +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.swt.snippets;
- 
-/*
- * Shell example snippet: create a splash screen
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet104 {
-
-public static void main(String[] args) {
-	final Display display = new Display();
-	final int [] count = new int [] {4};
-	final Image image = new Image(display, 300, 300);
-	GC gc = new GC(image);
-	gc.setBackground(display.getSystemColor(SWT.COLOR_CYAN));
-	gc.fillRectangle(image.getBounds());
-	gc.drawText("Splash Screen", 10, 10);
-	gc.dispose();
-	final Shell splash = new Shell(SWT.ON_TOP);
-	final ProgressBar bar = new ProgressBar(splash, SWT.NONE);
-	bar.setMaximum(count[0]);
-	Label label = new Label(splash, SWT.NONE);
-	label.setImage(image);
-	FormLayout layout = new FormLayout();
-	splash.setLayout(layout);
-	FormData labelData = new FormData ();
-	labelData.right = new FormAttachment (100, 0);
-	labelData.bottom = new FormAttachment (100, 0);
-	label.setLayoutData(labelData);
-	FormData progressData = new FormData ();
-	progressData.left = new FormAttachment (0, 5);
-	progressData.right = new FormAttachment (100, -5);
-	progressData.bottom = new FormAttachment (100, -5);
-	bar.setLayoutData(progressData);
-	splash.pack();
-	Rectangle splashRect = splash.getBounds();
-	Rectangle displayRect = display.getBounds();
-	int x = (displayRect.width - splashRect.width) / 2;
-	int y = (displayRect.height - splashRect.height) / 2;
-	splash.setLocation(x, y);
-	splash.open();
-	display.asyncExec(new Runnable() {
-		public void run() {
-			Shell [] shells = new Shell[count[0]];
-			for (int i=0; i<count[0]; i++) {
-				shells [i] = new Shell(display);
-				shells [i].setSize (300, 300);
-				shells [i].addListener(SWT.Close, new Listener() {
-					public void handleEvent (Event e) {
-						--count[0];
-					}
-				});
-				bar.setSelection(i+1);
-				try {Thread.sleep(1000);} catch (Throwable e) {}
-			}
-			splash.close();
-			image.dispose();
-			for (int i=0; i<count[0]; i++) {
-				shells [i].open();
-			}
-		}
-	});
-	while (count [0] != 0) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose();
-}
-
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet105.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet105.java
deleted file mode 100644
index c23d327..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet105.java
+++ /dev/null
@@ -1,30 +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.swt.snippets;
-
-/*
- * Program example snippet: invoke an external batch file
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.program.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet105 {
-
-public static void main(String[] args) {
-	Display display = new Display ();
-	Program.launch("c:\\cygwin\\cygwin.bat");
-	display.dispose ();
-}
-
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet106.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet106.java
deleted file mode 100644
index 68c3aca..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet106.java
+++ /dev/null
@@ -1,65 +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.swt.snippets;
-
-/*
- * Table example snippet: insert a table column (at an index)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet106 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setLayout (new RowLayout (SWT.VERTICAL));
-	final Table table = new Table (shell, SWT.BORDER | SWT.MULTI);
-	table.setHeaderVisible (true);
-	for (int i=0; i<4; i++) {
-		TableColumn column = new TableColumn (table, SWT.NONE);
-		column.setText ("Column " + i);
-	}
-	final TableColumn [] columns = table.getColumns ();
-	for (int i=0; i<12; i++) {
-		TableItem item = new TableItem (table, SWT.NONE);
-		for (int j=0; j<columns.length; j++) {
-			item.setText (j, "Item " + i);
-		}
-	}
-	for (int i=0; i<columns.length; i++) columns [i].pack ();
-	Button button = new Button (shell, SWT.PUSH);
-	final int index = 1;
-	button.setText ("Insert Column " + index + "a");
-	button.addListener (SWT.Selection, new Listener () {
-		public void handleEvent (Event e) {
-			TableColumn column = new TableColumn (table, SWT.NONE, index);
-			column.setText ("Column " + index + "a");
-			TableItem [] items = table.getItems ();
-			for (int i=0; i<items.length; i++) {
-				items [i].setText (index, "Item " + i + "a");
-			}
-			column.pack ();
-		}
-	});
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet107.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet107.java
deleted file mode 100644
index 9f13698..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet107.java
+++ /dev/null
@@ -1,77 +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.swt.snippets;
-/*
- * Sash example snippet: implement a simple splitter (with a 20 pixel limit)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet107 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	final Shell shell = new Shell (display);
-	Button button1 = new Button (shell, SWT.PUSH);
-	button1.setText ("Button 1");
-	final Sash sash = new Sash (shell, SWT.VERTICAL);
-	Button button2 = new Button (shell, SWT.PUSH);
-	button2.setText ("Button 2");
-	
-	final FormLayout form = new FormLayout ();
-	shell.setLayout (form);
-	
-	FormData button1Data = new FormData ();
-	button1Data.left = new FormAttachment (0, 0);
-	button1Data.right = new FormAttachment (sash, 0);
-	button1Data.top = new FormAttachment (0, 0);
-	button1Data.bottom = new FormAttachment (100, 0);
-	button1.setLayoutData (button1Data);
-
-	final int limit = 20, percent = 50;
-	final FormData sashData = new FormData ();
-	sashData.left = new FormAttachment (percent, 0);
-	sashData.top = new FormAttachment (0, 0);
-	sashData.bottom = new FormAttachment (100, 0);
-	sash.setLayoutData (sashData);
-	sash.addListener (SWT.Selection, new Listener () {
-		public void handleEvent (Event e) {
-			Rectangle sashRect = sash.getBounds ();
-			Rectangle shellRect = shell.getClientArea ();
-			int right = shellRect.width - sashRect.width - limit;
-			e.x = Math.max (Math.min (e.x, right), limit);
-			if (e.x != sashRect.x)  {
-				sashData.left = new FormAttachment (0, e.x);
-				shell.layout ();
-			}
-		}
-	});
-	
-	FormData button2Data = new FormData ();
-	button2Data.left = new FormAttachment (sash, 0);
-	button2Data.right = new FormAttachment (100, 0);
-	button2Data.top = new FormAttachment (0, 0);
-	button2Data.bottom = new FormAttachment (100, 0);
-	button2.setLayoutData (button2Data);
-	
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet108.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet108.java
deleted file mode 100644
index 887fa3b..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet108.java
+++ /dev/null
@@ -1,56 +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.swt.snippets;
-
-/*
- * Button example snippet: set the default button
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet108 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	Label label = new Label (shell, SWT.NONE);
-	label.setText ("Enter your name:");
-	Text text = new Text (shell, SWT.BORDER);
-	text.setLayoutData (new RowData (100, SWT.DEFAULT));
-	Button ok = new Button (shell, SWT.PUSH);
-	ok.setText ("OK");
-	ok.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			System.out.println("OK");
-		}
-	});
-	Button cancel = new Button (shell, SWT.PUSH);
-	cancel.setText ("Cancel");
-	cancel.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			System.out.println("Cancel");
-		}
-	});
-	shell.setDefaultButton (cancel);
-	shell.setLayout (new RowLayout ());
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet109.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet109.java
deleted file mode 100644
index 37b25bc..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet109.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
- 
-/*
- * SashForm example snippet: create a sash form with three children
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet109 {
-
-public static void main (String [] args) {
-	final Display display = new Display ();
-	Shell shell = new Shell(display);
-	shell.setLayout (new FillLayout());
-
-	SashForm form = new SashForm(shell,SWT.HORIZONTAL);
-	form.setLayout(new FillLayout());
-	
-	Composite child1 = new Composite(form,SWT.NONE);
-	child1.setLayout(new FillLayout());
-	new Label(child1,SWT.NONE).setText("Label in pane 1");
-	
-	Composite child2 = new Composite(form,SWT.NONE);
-	child2.setLayout(new FillLayout());
-	new Button(child2,SWT.PUSH).setText("Button in pane2");
-
-	Composite child3 = new Composite(form,SWT.NONE);
-	child3.setLayout(new FillLayout());
-	new Label(child3,SWT.PUSH).setText("Label in pane3");
-	
-	form.setWeights(new int[] {30,40,30});
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet11.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet11.java
deleted file mode 100644
index e274805..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet11.java
+++ /dev/null
@@ -1,42 +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.swt.snippets;
- 
-/*
- * Text example snippet: set the selection (i-beam)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet11 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	Text text = new Text (shell, SWT.BORDER | SWT.V_SCROLL);
-	text.setBounds (10, 10, 100, 100);
-	for (int i=0; i<16; i++) {
-		text.append ("Line " + i + "\n");
-	}
-	shell.open ();
-	text.setSelection (30);
-	System.out.println ("selection=" + text.getSelection ());
-	System.out.println ("caret position=" + text.getCaretPosition ());
-	System.out.println ("caret location=" + text.getCaretLocation ());
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet110.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet110.java
deleted file mode 100644
index 5bda0c3..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet110.java
+++ /dev/null
@@ -1,76 +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.swt.snippets;
-
-/*
- * Table example snippet: find a table cell from mouse down (works for any table style)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.graphics.*;
-
-public class Snippet110 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	final Table table = new Table (shell, SWT.BORDER | SWT.V_SCROLL);
-	table.setHeaderVisible (true);
-	table.setLinesVisible (true);
-	final int rowCount = 64, columnCount = 4;
-	for (int i=0; i < columnCount; i++) {
-		TableColumn column = new TableColumn (table, SWT.NONE);
-		column.setText ("Column " + i);
-	}
-	for (int i=0; i < rowCount; i++) {
-		TableItem item = new TableItem (table, SWT.NONE);
-		for (int j=0; j < columnCount; j++) {
-			item.setText (j, "Item " + i + "-" + j);
-		}
-	}
-	for (int i=0; i < columnCount; i++) {
-		table.getColumn (i).pack ();
-	}
-	Point size = table.computeSize (SWT.DEFAULT, 200);
-	table.setSize (size);
-	shell.pack ();
-	table.addListener (SWT.MouseDown, new Listener () {
-		public void handleEvent (Event event) {
-			Rectangle clientArea = table.getClientArea ();
-			Point pt = new Point (event.x, event.y);
-			int index = table.getTopIndex ();
-			while (index < table.getItemCount ()) {
-				boolean visible = false;
-				TableItem item = table.getItem (index);
-				for (int i=0; i < columnCount; i++) {
-					Rectangle rect = item.getBounds (i);
-					if (rect.contains (pt)) {
-						System.out.println ("Item " + index + "-" + i);
-					}
-					if (!visible && rect.intersects (clientArea)) {
-						visible = true;
-					}
-				}
-				if (!visible) return;
-				index++;
-			}
-		}
-	});
-	shell.open ();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet111.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet111.java
deleted file mode 100644
index 5fed1e7..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet111.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * TreeEditor example snippet: edit the text of a tree item (in place, fancy)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.custom.*;
-
-public class Snippet111 {
-
-public static void main (String [] args) {
-	final Display display = new Display ();
-	final Color black = display.getSystemColor (SWT.COLOR_BLACK);
-	Shell shell = new Shell (display);
-	shell.setLayout (new FillLayout ());
-	final Tree tree = new Tree (shell, SWT.BORDER);
-	for (int i=0; i<16; i++) {
-		TreeItem itemI = new TreeItem (tree, SWT.NONE);
-		itemI.setText ("Item " + i);
-		for (int j=0; j<16; j++) {
-			TreeItem itemJ = new TreeItem (itemI, SWT.NONE);
-			itemJ.setText ("Item " + j);
-		}
-	}
-	final TreeItem [] lastItem = new TreeItem [1];
-	final TreeEditor editor = new TreeEditor (tree);
-	tree.addListener (SWT.Selection, new Listener () {
-		public void handleEvent (Event event) {
-			final TreeItem item = (TreeItem) event.item;
-			if (item != null && item == lastItem [0]) {
-				boolean showBorder = true;
-				final Composite composite = new Composite (tree, SWT.NONE);
-				if (showBorder) composite.setBackground (black);
-				final Text text = new Text (composite, SWT.NONE);
-				final int inset = showBorder ? 1 : 0;
-				composite.addListener (SWT.Resize, new Listener () {
-					public void handleEvent (Event e) {
-						Rectangle rect = composite.getClientArea ();
-						text.setBounds (rect.x + inset, rect.y + inset, rect.width - inset * 2, rect.height - inset * 2);
-					}
-				});
-				Listener textListener = new Listener () {
-					public void handleEvent (final Event e) {
-						switch (e.type) {
-							case SWT.FocusOut:
-								item.setText (text.getText ());
-								composite.dispose ();
-								break;
-							case SWT.Verify:
-								String newText = text.getText ();
-								String leftText = newText.substring (0, e.start);
-								String rightText = newText.substring (e.end, newText.length ());
-								GC gc = new GC (text);
-								Point size = gc.textExtent (leftText + e.text + rightText);
-								gc.dispose ();
-								size = text.computeSize (size.x, SWT.DEFAULT);
-								editor.horizontalAlignment = SWT.LEFT;
-								Rectangle itemRect = item.getBounds (), rect = tree.getClientArea ();
-								editor.minimumWidth = Math.max (size.x, itemRect.width) + inset * 2;
-								int left = itemRect.x, right = rect.x + rect.width;
-								editor.minimumWidth = Math.min (editor.minimumWidth, right - left);
-								editor.minimumHeight = size.y + inset * 2;
-								editor.layout ();
-								break;
-							case SWT.Traverse:
-								switch (e.detail) {
-									case SWT.TRAVERSE_RETURN:
-										item.setText (text.getText ());
-										//FALL THROUGH
-									case SWT.TRAVERSE_ESCAPE:
-										composite.dispose ();
-										e.doit = false;
-								}
-								break;
-						}
-					}
-				};
-				text.addListener (SWT.FocusOut, textListener);
-				text.addListener (SWT.Traverse, textListener);
-				text.addListener (SWT.Verify, textListener);
-				editor.setEditor (composite, item);
-				text.setText (item.getText ());
-				text.selectAll ();
-				text.setFocus ();
-			}
-			lastItem [0] = item;
-		}
-	});
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet112.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet112.java
deleted file mode 100644
index 06532a7..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet112.java
+++ /dev/null
@@ -1,57 +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.swt.snippets;
-
-/*
- * Image example snippet: display an image in a group
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet112 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	final Image image = new Image (display, 20, 20);
-	Color color = display.getSystemColor (SWT.COLOR_RED);
-	GC gc = new GC (image);
-	gc.setBackground (color);
-	gc.fillRectangle (image.getBounds ());
-	gc.dispose ();
-
-	Shell shell = new Shell (display);
-	shell.setLayout (new FillLayout ());
-	Group group = new Group (shell, SWT.NONE);
-	group.setLayout (new FillLayout ());
-	group.setText ("a square");
-	Canvas canvas = new Canvas (group, SWT.NONE);
-	canvas.addPaintListener (new PaintListener () {
-		public void paintControl (PaintEvent e) {
-			e.gc.drawImage (image, 0, 0);
-		}
-	});
-
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ())
-			display.sleep ();
-	}
-	image.dispose ();
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet113.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet113.java
deleted file mode 100644
index 87ba34e..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet113.java
+++ /dev/null
@@ -1,46 +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.swt.snippets;
- 
-/*
- * Table example snippet: detect a selection or check event in a table (SWT.CHECK)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet113 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	Table table = new Table (shell, SWT.CHECK | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
-	for (int i=0; i<12; i++) {
-		TableItem item = new TableItem (table, SWT.NONE);
-		item.setText ("Item " + i);
-	}
-	table.setSize (100, 100);
-	table.addListener (SWT.Selection, new Listener () {
-		public void handleEvent (Event event) {
-			String string = event.detail == SWT.CHECK ? "Checked" : "Selected";
-			System.out.println (event.item + " " + string);
-		}
-	});
-	shell.setSize (200, 200);
-	shell.open ();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet114.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet114.java
deleted file mode 100644
index cec6fc6..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet114.java
+++ /dev/null
@@ -1,46 +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.swt.snippets;
- 
-/*
- * Tree example snippet: detect a selection or check event in a tree (SWT.CHECK)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet114 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	Tree tree = new Tree (shell, SWT.CHECK | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
-	for (int i=0; i<12; i++) {
-		TreeItem item = new TreeItem (tree, SWT.NONE);
-		item.setText ("Item " + i);
-	}
-	tree.setSize (100, 100);
-	tree.addListener (SWT.Selection, new Listener () {
-		public void handleEvent (Event event) {
-			String string = event.detail == SWT.CHECK ? "Checked" : "Selected";
-			System.out.println (event.item + " " + string);
-		}
-	});
-	shell.setSize (200, 200);
-	shell.open ();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet115.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet115.java
deleted file mode 100644
index 45d2245..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet115.java
+++ /dev/null
@@ -1,68 +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.swt.snippets;
-
-/*
- * Composite example snippet: force radio behavior on two different composites
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet115 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setLayout (new RowLayout (SWT.VERTICAL));
-	Composite c1 = new Composite (shell, SWT.BORDER | SWT.NO_RADIO_GROUP);
-	c1.setLayout (new RowLayout ());
-	Composite c2 = new Composite (shell, SWT.BORDER | SWT.NO_RADIO_GROUP);
-	c2.setLayout (new RowLayout ());
-	final Composite [] composites = new Composite [] {c1, c2};
-	Listener radioGroup = new Listener () {
-		public void handleEvent (Event event) {
-			for (int i=0; i<composites.length; i++) {
-				Composite composite = composites [i];
-				Control [] children = composite.getChildren ();
-				for (int j=0; j<children.length; j++) {
-					Control child = children [j];
-					if (child instanceof Button) {
-						Button button = (Button) child;
-						if ((button.getStyle () & SWT.RADIO) != 0) button.setSelection (false);
-					}
-				}
-			}
-			Button button = (Button) event.widget;
-			button.setSelection (true);
-		}
-	};
-	for (int i=0; i<4; i++) {
-		Button button = new Button (c1, SWT.RADIO);
-		button.setText ("Button " + i);
-		button.addListener (SWT.Selection, radioGroup);
-	}
-	for (int i=0; i<4; i++) {
-		Button button = new Button (c2, SWT.RADIO);
-		button.setText ("Button " + (i + 4));
-		button.addListener (SWT.Selection, radioGroup);
-	}
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet116.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet116.java
deleted file mode 100644
index ac95ef8..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet116.java
+++ /dev/null
@@ -1,61 +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.swt.snippets;
-
-/*
- * Text example snippet: stop CR from going to the default button
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet116  {
-public static void main(String[] args) {
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setLayout(new GridLayout());
-	Text text = new Text(shell, SWT.SINGLE | SWT.BORDER);
-	text.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-	text.setText("Here is some text");
-	text.addSelectionListener(new SelectionAdapter() {
-		public void widgetDefaultSelected(SelectionEvent e) {
-			System.out.println("Text default selected (overrides default button)");
-		}
-	});
-	text.addTraverseListener(new TraverseListener() {
-		public void keyTraversed(TraverseEvent e) {
-			if (e.detail == SWT.TRAVERSE_RETURN) {
-				e.doit = false;
-				e.detail = SWT.TRAVERSE_NONE;
-			}
-		}
-	});
-	Button button = new Button(shell, SWT.PUSH);
-	button.setText("Ok");
-	button.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			System.out.println("Button selected");
-		}
-	});
-	shell.setDefaultButton(button);
-	shell.pack();
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet117.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet117.java
deleted file mode 100644
index 736e988..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet117.java
+++ /dev/null
@@ -1,63 +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.swt.snippets;
-
-/*
- * Text example snippet: add a select all menu item to the control
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet117  {
-public static void main(String[] args) {
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setLayout(new FillLayout());
-	final Text t = new Text(shell, SWT.BORDER | SWT.MULTI);
-    t.setText ("here is some text to be selected");
-	Menu bar = new Menu (shell, SWT.BAR);
-	shell.setMenuBar (bar);
-	MenuItem editItem = new MenuItem (bar, SWT.CASCADE);
-	editItem.setText ("Edit");
-	Menu submenu = new Menu (shell, SWT.DROP_DOWN);
-	editItem.setMenu (submenu);
-
-	MenuItem item = new MenuItem (submenu, SWT.PUSH);
-	item.addListener (SWT.Selection, new Listener () {
-		public void handleEvent (Event e) {
-			t.selectAll();
-		}
-	});
-	item.setText ("Select &All\tCtrl+A");
-	item.setAccelerator (SWT.MOD1 + 'A');
-	
-	// Note that as long as your application has not overridden 
-	// the global accelerators for copy, paste, and cut 
-	//(CTRL+C or CTRL+INSERT, CTRL+V or SHIFT+INSERT, and CTRL+X or SHIFT+DELETE)
-	// these behaviours are already available by default.
-	// If your application overrides these accelerators,
-	// you will need to call Text.copy(), Text.paste() and Text.cut()
-	// from the Selection callback for the accelerator when the 
-	// text widget has focus.
-
-	shell.setSize(200, 200);
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet118.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet118.java
deleted file mode 100644
index 45650c8..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet118.java
+++ /dev/null
@@ -1,57 +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.swt.snippets;
- 
-/*
- * Cursor example snippet: create a color cursor from an image file
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet118 {
-
-public static void main (String [] args) {
-	final Display display = new Display();
-	final Shell shell = new Shell(display);
-	shell.setSize(150, 150);
-	final Cursor[] cursor = new Cursor[1];
-	Button button = new Button(shell, SWT.PUSH);
-	button.setText("Change cursor");
-	Point size = button.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-	button.setSize(size);
-	button.addListener(SWT.Selection, new Listener() {
-		public void handleEvent(Event e) {
-			FileDialog dialog = new FileDialog(shell);
-			dialog.setFilterExtensions(new String[] {"*.ico", "*.gif", "*.*"});
-			String name = dialog.open();
-			if (name == null) return;
-			ImageData image = new ImageData(name);
-			Cursor oldCursor = cursor[0];
-			cursor[0] = new Cursor(display, image, 0, 0);
-			shell.setCursor(cursor[0]);
-			if (oldCursor != null) oldCursor.dispose();
-		}
-	});
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	if (cursor[0] != null) cursor[0].dispose();
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet119.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet119.java
deleted file mode 100644
index 03f7939..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet119.java
+++ /dev/null
@@ -1,125 +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.swt.snippets;
- 
-/*
- * Cursor example snippet: create a color cursor from a source and a mask
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet119 {
-
-static byte[] srcData = {
-	(byte)0x11, (byte)0x11, (byte)0x11, (byte)0x00, (byte)0x00, (byte)0x11, (byte)0x11, (byte)0x11,
-	(byte)0x11, (byte)0x10, (byte)0x00, (byte)0x01, (byte)0x10, (byte)0x00, (byte)0x01, (byte)0x11, 
-	(byte)0x11, (byte)0x00, (byte)0x22, (byte)0x01, (byte)0x10, (byte)0x33, (byte)0x00, (byte)0x11,
-	(byte)0x10, (byte)0x02, (byte)0x22, (byte)0x01, (byte)0x10, (byte)0x33, (byte)0x30, (byte)0x01,
-	(byte)0x10, (byte)0x22, (byte)0x22, (byte)0x01, (byte)0x10, (byte)0x33, (byte)0x33, (byte)0x01,
-	(byte)0x10, (byte)0x22, (byte)0x22, (byte)0x01, (byte)0x10, (byte)0x33, (byte)0x33, (byte)0x01,
-	(byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00,
-	(byte)0x01, (byte)0x11, (byte)0x11, (byte)0x01, (byte)0x10, (byte)0x11, (byte)0x11, (byte)0x10,
-	(byte)0x01, (byte)0x11, (byte)0x11, (byte)0x01, (byte)0x10, (byte)0x11, (byte)0x11, (byte)0x10,
-	(byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00,
-	(byte)0x10, (byte)0x44, (byte)0x44, (byte)0x01, (byte)0x10, (byte)0x55, (byte)0x55, (byte)0x01,
-	(byte)0x10, (byte)0x44, (byte)0x44, (byte)0x01, (byte)0x10, (byte)0x55, (byte)0x55, (byte)0x01,
-	(byte)0x10, (byte)0x04, (byte)0x44, (byte)0x01, (byte)0x10, (byte)0x55, (byte)0x50, (byte)0x01,
-	(byte)0x11, (byte)0x00, (byte)0x44, (byte)0x01, (byte)0x10, (byte)0x55, (byte)0x00, (byte)0x11,
-	(byte)0x11, (byte)0x10, (byte)0x00, (byte)0x01, (byte)0x10, (byte)0x00, (byte)0x01, (byte)0x11,
-	(byte)0x11, (byte)0x11, (byte)0x11, (byte)0x00, (byte)0x00, (byte)0x11, (byte)0x11, (byte)0x11,
-};
-
-static byte[] mskData = {
-	(byte)0x03, (byte)0xc0, 
-	(byte)0x1f, (byte)0xf8,
-	(byte)0x3f, (byte)0xfc,
-	(byte)0x7f, (byte)0xfe,
-	(byte)0x7f, (byte)0xfe,
-	(byte)0x7f, (byte)0xfe,
-	(byte)0xff, (byte)0xff,
-	(byte)0xfe, (byte)0x7f,
-	(byte)0xfe, (byte)0x7f,
-	(byte)0xff, (byte)0xff,
-	(byte)0x7f, (byte)0xfe,
-	(byte)0x7f, (byte)0xfe,
-	(byte)0x7f, (byte)0xfe,
-	(byte)0x3f, (byte)0xfc,
-	(byte)0x1f, (byte)0xf8,
-	(byte)0x03, (byte)0xc0
-};
-
-public static void main (String [] args) {
-	Display display = new Display();
-	Color white = display.getSystemColor (SWT.COLOR_WHITE);
-	Color black = display.getSystemColor (SWT.COLOR_BLACK);
-	Color yellow = display.getSystemColor (SWT.COLOR_YELLOW);
-	Color red = display.getSystemColor (SWT.COLOR_RED);
-	Color green = display.getSystemColor (SWT.COLOR_GREEN);
-	Color blue = display.getSystemColor (SWT.COLOR_BLUE);
-	
-	//Create a source ImageData of depth 4
-	PaletteData palette = new PaletteData (new RGB[] {
-		black.getRGB(), white.getRGB(), yellow.getRGB(), 
-		red.getRGB(), blue.getRGB(), green.getRGB()});
-	ImageData sourceData = new ImageData (16, 16, 4, palette, 1, srcData);
-	
-	//Create a mask ImageData of depth 1 (monochrome)
-	palette = new PaletteData (new RGB [] {black.getRGB(), white.getRGB(),});
-	ImageData maskData = new ImageData (16, 16, 1, palette, 1, mskData);
-
-	//Set mask
-	sourceData.maskData = maskData.data;
-	sourceData.maskPad = maskData.scanlinePad;
-
-	//Create cursor
-	Cursor cursor = new Cursor(display, sourceData, 10, 10);
-
-	//Remove mask to draw them separately just to show what they look like
-	sourceData.maskData = null;
-	sourceData.maskPad = -1;
-
-	Shell shell = new Shell(display);
-	final Image source = new Image (display,sourceData);
-	final Image mask = new Image (display, maskData);
-	shell.addPaintListener(new PaintListener() {
-		public void paintControl(PaintEvent e) {
-			GC gc = e.gc;
-			int x = 10, y = 10;
-			String stringSource = "source: ";
-			String stringMask = "mask: ";
-			gc.drawString(stringSource, x, y);
-			gc.drawString(stringMask, x, y + 30);
-			x += Math.max(gc.stringExtent(stringSource).x, gc.stringExtent(stringMask).x);
-			gc.drawImage(source, x, y);
-			gc.drawImage(mask, x, y + 30);
-		}
-	});
-	shell.setSize(150, 150);
-	shell.open();
-	shell.setCursor(cursor);
-	
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	cursor.dispose();
-	source.dispose();
-	mask.dispose();
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet12.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet12.java
deleted file mode 100644
index 8d7a992..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet12.java
+++ /dev/null
@@ -1,42 +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.swt.snippets;
- 
-/*
- * Text example snippet: set the selection (start, end)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet12 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	Text text = new Text (shell, SWT.BORDER | SWT.V_SCROLL);
-	text.setBounds (10, 10, 100, 100);
-	for (int i=0; i<16; i++) {
-		text.append ("Line " + i + "\n");
-	}
-	shell.open ();
-	text.setSelection (30, 38);
-	System.out.println ("selection=" + text.getSelection ());
-	System.out.println ("caret position=" + text.getCaretPosition ());
-	System.out.println ("caret location=" + text.getCaretLocation ());
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-} 
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet120.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet120.java
deleted file mode 100644
index 12070cd..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet120.java
+++ /dev/null
@@ -1,42 +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.swt.snippets;
- 
-/*
- * Monitor example snippet: center a shell on the primary monitor
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet120 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setSize (200, 200);
-	Monitor primary = display.getPrimaryMonitor ();
-	Rectangle bounds = primary.getBounds ();
-	Rectangle rect = shell.getBounds ();
-	int x = bounds.x + (bounds.width - rect.width) / 2;
-	int y = bounds.y + (bounds.height - rect.height) / 2;
-	shell.setLocation (x, y);
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet121.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet121.java
deleted file mode 100644
index 45016a0..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet121.java
+++ /dev/null
@@ -1,38 +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.swt.snippets;
- 
-/*
- * Text example snippet: prompt for a password (set the echo character)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet121 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setLayout (new FillLayout ());
-	Text text = new Text (shell, SWT.SINGLE | SWT.BORDER);
-	text.setEchoChar ('*');
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet122.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet122.java
deleted file mode 100644
index c6afbd7..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet122.java
+++ /dev/null
@@ -1,83 +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.swt.snippets;
-
-/*
- * Clipboard example snippet: enable/disable menu depending on clipboard content availability
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.dnd.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet122 {
-	
-public static void main(String[] args) {
-	Display display = new Display();
-	final Clipboard cb = new Clipboard(display);
-	Shell shell = new Shell(display);
-	shell.setLayout(new FillLayout());
-	final Text text = new Text(shell, SWT.BORDER | SWT.MULTI | SWT.WRAP);
-	Menu menu = new Menu(shell, SWT.POP_UP);
-	final MenuItem copyItem = new MenuItem(menu, SWT.PUSH);
-	copyItem.setText("Copy");
-	copyItem.addSelectionListener(new SelectionAdapter(){
-		public void widgetSelected(SelectionEvent e) {
-			String selection = text.getSelectionText();
-			if (selection.length() == 0) return;
-			Object[] data = new Object[]{selection};
-			Transfer[] types = new Transfer[] {TextTransfer.getInstance()};
-			cb.setContents(data, types);
-		}
-	});
-	final MenuItem pasteItem = new MenuItem(menu, SWT.PUSH);
-	pasteItem.setText ("Paste");
-	pasteItem.addSelectionListener(new SelectionAdapter(){
-		public void widgetSelected(SelectionEvent e) {
-			String string = (String)(cb.getContents(TextTransfer.getInstance()));
-			if (string != null) text.insert(string);
-		}
-	});
-	menu.addMenuListener(new MenuAdapter() {
-		public void menuShown(MenuEvent e) {
-			// is copy valid?
-			String selection = text.getSelectionText();
-			copyItem.setEnabled(selection.length() > 0);
-			// is paste valid?
-			TransferData[] available = cb.getAvailableTypes();
-			boolean enabled = false;
-			for (int i = 0; i < available.length; i++) {
-				if (TextTransfer.getInstance().isSupportedType(available[i])) {
-					enabled = true;
-					break;
-				}
-			}
-			pasteItem.setEnabled(enabled);
-		}
-	});
-	text.setMenu (menu);
-
-	shell.setSize(200, 200);
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	cb.dispose();
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet123.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet123.java
deleted file mode 100644
index 2dc6dfc..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet123.java
+++ /dev/null
@@ -1,198 +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.swt.snippets;
- 
-/*
- * OLE and ActiveX example snippet: get events from IE control (win32 only)
- * 
- * This snippet only runs as-is on 32-bit architectures because it uses
- * java integers to represent native pointers.  "long" comments are included
- * throughout the snippet to show where int should be changed to long in
- * order to run on a 64-bit architecture.
- * 
- * NOTE: This snippet uses internal SWT packages that are
- * subject to change without notice.
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.ole.win32.*;
-import org.eclipse.swt.internal.ole.win32.*;
-import org.eclipse.swt.internal.win32.OS;
-
-public class Snippet123 {
-
-public static void main(String[] args) {
-	final Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setLayout(new FillLayout());
-	OleControlSite controlSite;
-	try {
-		OleFrame frame = new OleFrame(shell, SWT.NONE);
-		controlSite = new OleControlSite(frame, SWT.NONE, "Shell.Explorer");
-		controlSite.doVerb(OLE.OLEIVERB_INPLACEACTIVATE);
-	} catch (SWTError e) {
-		System.out.println("Unable to open activeX control");
-		return;
-	}
-	shell.open();
-	
-	// IWebBrowser
-	final OleAutomation webBrowser = new OleAutomation(controlSite);
-
-	// When a new document is loaded, access the document object for the new page.
-	int DownloadComplete = 104;
-	controlSite.addEventListener(DownloadComplete, new OleListener() {
-		public void handleEvent(OleEvent event) {
-			int[] htmlDocumentID = webBrowser.getIDsOfNames(new String[]{"Document"}); 
-			if (htmlDocumentID == null) return;
-			Variant pVarResult = webBrowser.getProperty(htmlDocumentID[0]);
-			if (pVarResult == null || pVarResult.getType() == 0) return;
-			//IHTMLDocument2
-			OleAutomation htmlDocument = pVarResult.getAutomation();
-
-			// Request to be notified of click, double click and key down events
-			EventDispatch myDispatch = new EventDispatch(EventDispatch.onclick);
-			IDispatch idispatch = new IDispatch(myDispatch.getAddress());
-			Variant dispatch = new Variant(idispatch);
-			htmlDocument.setProperty(EventDispatch.onclick, dispatch);
-
-			myDispatch = new EventDispatch(EventDispatch.ondblclick);
-			idispatch = new IDispatch(myDispatch.getAddress());
-			dispatch = new Variant(idispatch);
-			htmlDocument.setProperty(EventDispatch.ondblclick, dispatch);
-
-			myDispatch = new EventDispatch(EventDispatch.onkeydown);
-			idispatch = new IDispatch(myDispatch.getAddress());
-			dispatch = new Variant(idispatch);
-			htmlDocument.setProperty(EventDispatch.onkeydown, dispatch);
-			
-			//Remember to release OleAutomation Object
-			htmlDocument.dispose();
-		}
-	});
-	
-	// Navigate to a web site
-	int[] ids = webBrowser.getIDsOfNames(new String[]{"Navigate", "URL"}); 
-	Variant[] rgvarg = new Variant[] {new Variant("http://www.google.com")};
-	int[] rgdispidNamedArgs = new int[]{ids[1]};
-	webBrowser.invoke(ids[0], rgvarg, rgdispidNamedArgs);
-		
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	//Remember to release OleAutomation Object
-	webBrowser.dispose();
-	display.dispose();
-	
-}
-}
-// EventDispatch implements a simple IDispatch interface which will be called 
-// when the event is fired.
-class EventDispatch {
-	private COMObject iDispatch;
-	private int refCount = 0;
-	private int eventID;
-	
-	final static int onhelp = 0x8001177d;
-	final static int onclick = 0x80011778;
-	final static int ondblclick = 0x80011779;
-	final static int onkeyup = 0x80011776;
-	final static int onkeydown = 0x80011775;
-	final static int onkeypress = 0x80011777;
-	final static int onmouseup = 0x80011773;
-	final static int onmousedown = 0x80011772;
-	final static int onmousemove = 0x80011774;
-	final static int onmouseout = 0x80011771;
-	final static int onmouseover = 0x80011770;
-	final static int onreadystatechange = 0x80011789;
-	final static int onafterupdate = 0x80011786;
-	final static int onrowexit= 0x80011782;
-	final static int onrowenter = 0x80011783;
-	final static int ondragstart = 0x80011793;
-	final static int onselectstart = 0x80011795;
-
-	EventDispatch(int eventID) {
-		this.eventID = eventID;
-		createCOMInterfaces();
-	}
-	int /*long*/ getAddress() {
-		return iDispatch.getAddress();
-	}
-	private void createCOMInterfaces() {
-		iDispatch = new COMObject(new int[]{2, 0, 0, 1, 3, 4, 8}){
-			public int /*long*/ method0(int /*long*/[] args) {return QueryInterface(args[0], args[1]);}
-			public int /*long*/ method1(int /*long*/[] args) {return AddRef();}
-			public int /*long*/ method2(int /*long*/[] args) {return Release();}
-			// method3 GetTypeInfoCount - not implemented
-			// method4 GetTypeInfo - not implemented
-			// method5 GetIDsOfNames - not implemented
-			public int /*long*/ method6(int /*long*/[] args) {return Invoke((int)/*64*/args[0], args[1], (int)/*64*/args[2], (int)/*64*/args[3], args[4], args[5], args[6], args[7]);}
-		};
-	}
-	private void disposeCOMInterfaces() {
-		if (iDispatch != null)
-			iDispatch.dispose();
-		iDispatch = null;
-		
-	}
-	private int AddRef() {
-		refCount++;
-		return refCount;
-	}
-	private int Invoke(int dispIdMember, int /*long*/ riid, int lcid, int dwFlags, int /*long*/ pDispParams, int /*long*/ pVarResult, int /*long*/ pExcepInfo, int /*long*/ pArgErr)	{
-		switch (eventID) {
-			case onhelp: System.out.println("onhelp"); break;
-			case onclick: System.out.println("onclick"); break;
-			case ondblclick: System.out.println("ondblclick"); break;
-			case onkeyup: System.out.println("onkeyup"); break;
-			case onkeydown: System.out.println("onkeydown"); break;
-			case onkeypress: System.out.println("onkeypress"); break;
-			case onmouseup: System.out.println("onmouseup"); break;
-			case onmousedown: System.out.println("onmousedown"); break;
-			case onmousemove: System.out.println("onmousemove"); break;
-			case onmouseout: System.out.println("onmouseout"); break;
-			case onmouseover: System.out.println("onmouseover"); break;
-			case onreadystatechange: System.out.println("onreadystatechange"); break;
-			case onafterupdate: System.out.println("onafterupdate"); break;
-			case onrowexit: System.out.println("onrowexit"); break;
-			case onrowenter: System.out.println("onrowenter"); break;
-			case ondragstart: System.out.println("ondragstart"); break;
-			case onselectstart: System.out.println("onselectstart"); break;
-		}
-		return COM.S_OK;
-	}
-	private int QueryInterface(int /*long*/ riid, int /*long*/ ppvObject) {
-		if (riid == 0 || ppvObject == 0) return COM.E_INVALIDARG;
-		GUID guid = new GUID();
-		COM.MoveMemory(guid, riid, GUID.sizeof);
-	
-		if (COM.IsEqualGUID(guid, COM.IIDIUnknown) || COM.IsEqualGUID(guid, COM.IIDIDispatch)) {
-			COM.MoveMemory(ppvObject, new int /*long*/[] {iDispatch.getAddress()}, OS.PTR_SIZEOF);
-			AddRef();
-			return COM.S_OK;
-		}
-		COM.MoveMemory(ppvObject, new int /*long*/[] {0}, OS.PTR_SIZEOF);
-		return COM.E_NOINTERFACE;
-	}
-	int Release() {
-		refCount--;
-		if (refCount == 0) {
-			disposeCOMInterfaces();
-		}
-		return refCount;
-	}
-}
-
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet124.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet124.java
deleted file mode 100644
index 6b01fbd..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet124.java
+++ /dev/null
@@ -1,100 +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.swt.snippets;
- 
-/*
- * TableEditor example snippet: edit a cell in a table (in place, fancy)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.custom.*;
-
-public class Snippet124 {
-public static void main (String[] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setLayout (new FillLayout ());
-	final Table table = new Table(shell, SWT.BORDER | SWT.MULTI);
-	table.setLinesVisible (true);
-	for (int i=0; i<3; i++) {
-		TableColumn column = new TableColumn (table, SWT.NONE);
-		column.setWidth(100);
-	}
-	for (int i=0; i<3; i++) {
-		TableItem item = new TableItem (table, SWT.NONE);
-		item.setText(new String [] {"" + i, "" + i , "" + i});
-	}
-	final TableEditor editor = new TableEditor (table);
-	editor.horizontalAlignment = SWT.LEFT;
-	editor.grabHorizontal = true;
-	table.addListener (SWT.MouseDown, new Listener () {
-		public void handleEvent (Event event) {
-			Rectangle clientArea = table.getClientArea ();
-			Point pt = new Point (event.x, event.y);
-			int index = table.getTopIndex ();
-			while (index < table.getItemCount ()) {
-				boolean visible = false;
-				final TableItem item = table.getItem (index);
-				for (int i=0; i<table.getColumnCount (); i++) {
-					Rectangle rect = item.getBounds (i);
-					if (rect.contains (pt)) {
-						final int column = i;
-						final Text text = new Text (table, SWT.NONE);
-						Listener textListener = new Listener () {
-							public void handleEvent (final Event e) {
-								switch (e.type) {
-									case SWT.FocusOut:
-										item.setText (column, text.getText ());
-										text.dispose ();
-										break;
-									case SWT.Traverse:
-										switch (e.detail) {
-											case SWT.TRAVERSE_RETURN:
-												item.setText (column, text.getText ());
-												//FALL THROUGH
-											case SWT.TRAVERSE_ESCAPE:
-												text.dispose ();
-												e.doit = false;
-										}
-										break;
-								}
-							}
-						};
-						text.addListener (SWT.FocusOut, textListener);
-						text.addListener (SWT.Traverse, textListener);
-						editor.setEditor (text, item, i);
-						text.setText (item.getText (i));
-						text.selectAll ();
-						text.setFocus ();
-						return;
-					}
-					if (!visible && rect.intersects (clientArea)) {
-						visible = true;
-					}
-				}
-				if (!visible) return;
-				index++;
-			}
-		}
-	});
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet125.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet125.java
deleted file mode 100644
index d1ab757..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet125.java
+++ /dev/null
@@ -1,113 +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.swt.snippets;
-
-/*
- * Tool Tips example snippet: create fake tool tips for items in a table
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet125 {
-
-public static void main (String[] args) {
-	final Display display = new Display ();
-	final Shell shell = new Shell (display);
-	shell.setLayout (new FillLayout ());
-	final Table table = new Table (shell, SWT.BORDER);
-	for (int i = 0; i < 20; i++) {
-		TableItem item = new TableItem (table, SWT.NONE);
-		item.setText ("item " + i);
-	}
-	// Disable native tooltip
-	table.setToolTipText ("");
-	
-	// Implement a "fake" tooltip
-	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 = (TableItem) label.getData ("_TABLEITEM");
-					// Assuming table is single select, set the selection as if
-					// the mouse down event went through to the table
-					table.setSelection (new TableItem [] {(TableItem) e.item});
-					table.notifyListeners (SWT.Selection, e);
-					shell.dispose ();
-					table.setFocus();
-					break;
-				case SWT.MouseExit:
-					shell.dispose ();
-					break;
-			}
-		}
-	};
-	
-	Listener tableListener = 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: {
-					TableItem item = table.getItem (new Point (event.x, event.y));
-					if (item != null) {
-						if (tip != null  && !tip.isDisposed ()) tip.dispose ();
-						tip = new Shell (shell, SWT.ON_TOP | SWT.NO_FOCUS | SWT.TOOL);
-						tip.setBackground (display.getSystemColor (SWT.COLOR_INFO_BACKGROUND));
-						FillLayout layout = new FillLayout ();
-						layout.marginWidth = 2;
-						tip.setLayout (layout);
-						label = new Label (tip, SWT.NONE);
-						label.setForeground (display.getSystemColor (SWT.COLOR_INFO_FOREGROUND));
-						label.setBackground (display.getSystemColor (SWT.COLOR_INFO_BACKGROUND));
-						label.setData ("_TABLEITEM", item);
-						label.setText (item.getText ());
-						label.addListener (SWT.MouseExit, labelListener);
-						label.addListener (SWT.MouseDown, labelListener);
-						Point size = tip.computeSize (SWT.DEFAULT, SWT.DEFAULT);
-						Rectangle rect = item.getBounds (0);
-						Point pt = table.toDisplay (rect.x, rect.y);
-						tip.setBounds (pt.x, pt.y, size.x, size.y);
-						tip.setVisible (true);
-					}
-				}
-			}
-		}
-	};
-	table.addListener (SWT.Dispose, tableListener);
-	table.addListener (SWT.KeyDown, tableListener);
-	table.addListener (SWT.MouseMove, tableListener);
-	table.addListener (SWT.MouseHover, tableListener);
-	shell.pack ();
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet126.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet126.java
deleted file mode 100644
index ec3bac5..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet126.java
+++ /dev/null
@@ -1,66 +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.swt.snippets;
- 
-/*
- * Table example snippet: place arbitrary controls in a table
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.custom.*;
-
-public class Snippet126 {
-public static void main(String[] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setLayout (new FillLayout ());
-	Table table = new Table (shell, SWT.BORDER | SWT.MULTI);
-	table.setLinesVisible (true);
-	for (int i=0; i<3; i++) {
-		TableColumn column = new TableColumn(table, SWT.NONE);
-		column.setWidth (100);
-	}
-	for (int i=0; i<12; i++) {
-		new TableItem (table, SWT.NONE);
-	}
-	TableItem [] items = table.getItems ();
-	for (int i=0; i<items.length; i++) {
-		TableEditor editor = new TableEditor (table);
-		CCombo combo = new CCombo (table, SWT.NONE);
-		combo.setText("CCombo");
-		combo.add("item 1");
-		combo.add("item 2");
-		editor.grabHorizontal = true;
-		editor.setEditor(combo, items[i], 0);
-		editor = new TableEditor (table);
-		Text text = new Text (table, SWT.NONE);
-		text.setText("Text");
-		editor.grabHorizontal = true;
-		editor.setEditor(text, items[i], 1);
-		editor = new TableEditor (table);
-		Button button = new Button (table, SWT.CHECK);
-		button.pack ();
-		editor.minimumWidth = button.getSize ().x;
-		editor.horizontalAlignment = SWT.LEFT;
-		editor.setEditor (button, items[i], 2);
-	}
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet127.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet127.java
deleted file mode 100644
index 60efebd..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet127.java
+++ /dev/null
@@ -1,50 +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.swt.snippets;
-
-/*
- * Control example snippet: prevent Tab from traversing out of a control
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet127 {
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setLayout(new RowLayout ());
-	Button button1 = new Button(shell, SWT.PUSH);
-	button1.setText("Can't Traverse");
-	button1.addTraverseListener(new TraverseListener () {
-		public void keyTraversed(TraverseEvent e) {
-			switch (e.detail) {
-				case SWT.TRAVERSE_TAB_NEXT:
-				case SWT.TRAVERSE_TAB_PREVIOUS: {
-					e.doit = false;
-				}
-			}
-		}
-	});
-	Button button2 = new Button (shell, SWT.PUSH);
-	button2.setText("Can Traverse");
-	shell.pack ();
-	shell.open();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet128.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet128.java
deleted file mode 100644
index c3891fb..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet128.java
+++ /dev/null
@@ -1,138 +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.swt.snippets;
-
-/*
- * Browser example snippet: bring up a browser
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.browser.*;
-
-public class Snippet128 {
-	public static void main(String [] args) {
-		Display display = new Display();
-		final Shell shell = new Shell(display);
-		GridLayout gridLayout = new GridLayout();
-		gridLayout.numColumns = 3;
-		shell.setLayout(gridLayout);
-		ToolBar toolbar = new ToolBar(shell, SWT.NONE);
-		ToolItem itemBack = new ToolItem(toolbar, SWT.PUSH);
-		itemBack.setText("Back");
-		ToolItem itemForward = new ToolItem(toolbar, SWT.PUSH);
-		itemForward.setText("Forward");
-		ToolItem itemStop = new ToolItem(toolbar, SWT.PUSH);
-		itemStop.setText("Stop");
-		ToolItem itemRefresh = new ToolItem(toolbar, SWT.PUSH);
-		itemRefresh.setText("Refresh");
-		ToolItem itemGo = new ToolItem(toolbar, SWT.PUSH);
-		itemGo.setText("Go");
-		
-		GridData data = new GridData();
-		data.horizontalSpan = 3;
-		toolbar.setLayoutData(data);
-
-		Label labelAddress = new Label(shell, SWT.NONE);
-		labelAddress.setText("Address");
-		
-		final Text location = new Text(shell, SWT.BORDER);
-		data = new GridData();
-		data.horizontalAlignment = GridData.FILL;
-		data.horizontalSpan = 2;
-		data.grabExcessHorizontalSpace = true;
-		location.setLayoutData(data);
-
-		final Browser browser;
-		try {
-			browser = new Browser(shell, SWT.NONE);
-		} catch (SWTError e) {
-			System.out.println("Could not instantiate Browser: " + e.getMessage());
-			return;
-		}
-		data = new GridData();
-		data.horizontalAlignment = GridData.FILL;
-		data.verticalAlignment = GridData.FILL;
-		data.horizontalSpan = 3;
-		data.grabExcessHorizontalSpace = true;
-		data.grabExcessVerticalSpace = true;
-		browser.setLayoutData(data);
-
-		final Label status = new Label(shell, SWT.NONE);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		data.horizontalSpan = 2;
-		status.setLayoutData(data);
-
-		final ProgressBar progressBar = new ProgressBar(shell, SWT.NONE);
-		data = new GridData();
-		data.horizontalAlignment = GridData.END;
-		progressBar.setLayoutData(data);
-
-		/* event handling */
-		Listener listener = new Listener() {
-			public void handleEvent(Event event) {
-				ToolItem item = (ToolItem)event.widget;
-				String string = item.getText();
-				if (string.equals("Back")) browser.back(); 
-				else if (string.equals("Forward")) browser.forward();
-				else if (string.equals("Stop")) browser.stop();
-				else if (string.equals("Refresh")) browser.refresh();
-				else if (string.equals("Go")) browser.setUrl(location.getText());
-		   }
-		};
-		browser.addProgressListener(new ProgressListener() {
-			public void changed(ProgressEvent event) {
-					if (event.total == 0) return;                            
-					int ratio = event.current * 100 / event.total;
-					progressBar.setSelection(ratio);
-			}
-			public void completed(ProgressEvent event) {
-				progressBar.setSelection(0);
-			}
-		});
-		browser.addStatusTextListener(new StatusTextListener() {
-			public void changed(StatusTextEvent event) {
-				status.setText(event.text);	
-			}
-		});
-		browser.addLocationListener(new LocationListener() {
-			public void changed(LocationEvent event) {
-				if (event.top) location.setText(event.location);
-			}
-			public void changing(LocationEvent event) {
-			}
-		});
-		itemBack.addListener(SWT.Selection, listener);
-		itemForward.addListener(SWT.Selection, listener);
-		itemStop.addListener(SWT.Selection, listener);
-		itemRefresh.addListener(SWT.Selection, listener);
-		itemGo.addListener(SWT.Selection, listener);
-		location.addListener(SWT.DefaultSelection, new Listener() {
-			public void handleEvent(Event e) {
-				browser.setUrl(location.getText());
-			}
-		});
-		
-		shell.open();
-		browser.setUrl("http://eclipse.org");
-		
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		display.dispose();
-	}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet129.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet129.java
deleted file mode 100644
index 08a001d..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet129.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
- 
-/*
- * Table example snippet: color cells and rows in table
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet129 {
- 
-public static void main(String[] args) {
-	Display display = new Display();
-	Color red = display.getSystemColor(SWT.COLOR_RED);
-	Color blue = display.getSystemColor(SWT.COLOR_BLUE);
-	Color white = display.getSystemColor(SWT.COLOR_WHITE);
-	Color gray = display.getSystemColor(SWT.COLOR_GRAY);
-	Shell shell = new Shell(display);
-	shell.setLayout(new FillLayout());
-	Table table = new Table(shell, SWT.BORDER | SWT.FULL_SELECTION);
-	table.setBackground(gray);
-	TableColumn column1 = new TableColumn(table, SWT.NONE);
-	TableColumn column2 = new TableColumn(table, SWT.NONE);
-	TableColumn column3 = new TableColumn(table, SWT.NONE);
-	TableItem item = new TableItem(table, SWT.NONE);
-	item.setText(new String[] {"entire","row","red foreground"});
-	item.setForeground(red);
-	item = new TableItem(table, SWT.NONE);
-	item.setText(new String[] {"entire","row","red background"});
-	item.setBackground(red);
-	item = new TableItem(table, SWT.NONE);
-	item.setText(new String[] {"entire","row","white fore/red back"});
-	item.setForeground(white);
-	item.setBackground(red);
-	item = new TableItem(table, SWT.NONE);
-	item.setText(new String[] {"normal","blue foreground","red foreground"});
-	item.setForeground(1, blue);
-	item.setForeground(2, red);
-	item = new TableItem(table, SWT.NONE);
-	item.setText(new String[] {"normal","blue background","red background"});
-	item.setBackground(1, blue);
-	item.setBackground(2, red);
-	item = new TableItem(table, SWT.NONE);
-	item.setText(new String[] {"white fore/blue back","normal","white fore/red back"});
-	item.setForeground(0, white);
-	item.setBackground(0, blue);
-	item.setForeground(2, white);
-	item.setBackground(2, red);
-	
-	column1.pack();
-	column2.pack();
-	column3.pack();
-	
-	shell.pack();
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet13.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet13.java
deleted file mode 100644
index 59a8d09..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet13.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
- 
-/*
- * GC example snippet: draw a thick line
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet13 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.open ();
-	GC gc = new GC (shell);
-	gc.setLineWidth (4);
-	gc.drawRectangle (20, 20, 100, 100);
-	gc.dispose ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet130.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet130.java
deleted file mode 100644
index 2c80cb8..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet130.java
+++ /dev/null
@@ -1,84 +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.swt.snippets;
-
-/*
- * BusyIndicator example snippet: display busy cursor during long running task
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet130 {
-
-	public static void main(String[] args) {
-		final Display display = new Display();
-		final Shell shell = new Shell(display);
-		shell.setLayout(new GridLayout());
-		final Text text = new Text(shell, SWT.MULTI | SWT.BORDER | SWT.V_SCROLL);
-		text.setLayoutData(new GridData(GridData.FILL_BOTH));
-		final int[] nextId = new int[1];
-		Button b = new Button(shell, SWT.PUSH);
-		b.setText("invoke long running job");
-		b.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				Runnable longJob = new Runnable() {
-					boolean done = false;
-					int id;
-					public void run() {
-						Thread thread = new Thread(new Runnable() {
-							public void run() {
-								id = nextId[0]++;
-								display.syncExec(new Runnable() {
-									public void run() {
-										if (text.isDisposed()) return;
-										text.append("\nStart long running task "+id);
-									}
-								});
-								for (int i = 0; i < 100000; i++) {
-									if (display.isDisposed()) return;
-									System.out.println("do task that takes a long time in a separate thread "+id);
-								}
-								if (display.isDisposed()) return;
-								display.syncExec(new Runnable() {
-									public void run() {
-										if (text.isDisposed()) return;
-										text.append("\nCompleted long running task "+id);
-									}
-								});
-								done = true;
-								display.wake();
-							}
-						});
-						thread.start();
-						while (!done && !shell.isDisposed()) {
-							if (!display.readAndDispatch())
-								display.sleep();
-						}
-					}
-				};
-				BusyIndicator.showWhile(display, longJob);
-			}
-		});
-		shell.setSize(250, 150);
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		display.dispose();
-	}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet131.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet131.java
deleted file mode 100644
index b0d0c05..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet131.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
- 
-/*
- * Menu example snippet: show a popup menu (wait for it to close)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet131 {
-public static void main (String [] args) {
-	final Display display = new Display ();
-	final Shell shell = new Shell (display);
-	shell.addListener (SWT.MenuDetect, new Listener () {
-		public void handleEvent (Event event) {
-			Menu menu = new Menu (shell, SWT.POP_UP);
-			MenuItem item = new MenuItem (menu, SWT.PUSH);
-			item.setText ("Menu Item");
-			item.addListener (SWT.Selection, new Listener () {
-				public void handleEvent (Event e) {
-					System.out.println ("Item Selected");
-				}
-			});
-			menu.setLocation (event.x, event.y);
-			menu.setVisible (true);
-			while (!menu.isDisposed () && menu.isVisible ()) {
-				if (!display.readAndDispatch ()) display.sleep ();
-			}
-			menu.dispose ();
-		}
-	});
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet132.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet132.java
deleted file mode 100644
index db30099..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet132.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-  
-/*
- * Printing example snippet: print "Hello World!" in black, outlined in red, to default printer
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.printing.*;
-
-public class Snippet132 {
-
-public static void main (String [] args) {
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.open ();
-	PrinterData data = Printer.getDefaultPrinterData();
-	if (data == null) {
-		System.out.println("Warning: No default printer.");
-		return;
-	}
-	Printer printer = new Printer(data);
-	if (printer.startJob("SWT Printing Snippet")) {
-		Color black = printer.getSystemColor(SWT.COLOR_BLACK);
-		Color white = printer.getSystemColor(SWT.COLOR_WHITE);
-		Color red = printer.getSystemColor(SWT.COLOR_RED);
-		Rectangle trim = printer.computeTrim(0, 0, 0, 0);
-		Point dpi = printer.getDPI();
-		int leftMargin = dpi.x + trim.x; // one inch from left side of paper
-		int topMargin = dpi.y / 2 + trim.y; // one-half inch from top edge of paper
-		GC gc = new GC(printer);
-		if (printer.startPage()) {
-			gc.setBackground(white);
-			gc.setForeground(black);
-			String testString = "Hello World!";
-			Point extent = gc.stringExtent(testString);
-			gc.drawString(testString, leftMargin, topMargin);
-			gc.setForeground(red);
-			gc.drawRectangle(leftMargin, topMargin, extent.x, extent.y);
-			printer.endPage();
-		}
-		gc.dispose();
-		printer.endJob();
-	}
-	printer.dispose();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet133.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet133.java
deleted file mode 100644
index 799c625..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet133.java
+++ /dev/null
@@ -1,316 +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.swt.snippets;
-  
-/*
- * Printing example snippet: print text to printer, with word wrap and pagination
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import java.io.*;
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.printing.*;
-
-public class Snippet133 {
-	Display display;
-	Shell shell;
-	Text text;
-	Font font;
-	Color foregroundColor, backgroundColor;
-	
-	Printer printer;
-	GC gc;
-	FontData[] printerFontData;
-	RGB printerForeground, printerBackground;
-
-	int lineHeight = 0;
-	int tabWidth = 0;
-	int leftMargin, rightMargin, topMargin, bottomMargin;
-	int x, y;
-	int index, end;
-	String textToPrint;
-	String tabs;
-	StringBuffer wordBuffer;
-
-	public static void main(String[] args) {
-		new Snippet133().open();
-	}
-	
-	void open() {
-		display = new Display();
-		shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		shell.setText("Print Text");
-		text = new Text(shell, SWT.BORDER | SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL);
-		
-		Menu menuBar = new Menu(shell, SWT.BAR);
-		shell.setMenuBar(menuBar);
-		MenuItem item = new MenuItem(menuBar, SWT.CASCADE);
-		item.setText("&File");
-		Menu fileMenu = new Menu(shell, SWT.DROP_DOWN);
-		item.setMenu(fileMenu);
-		item = new MenuItem(fileMenu, SWT.PUSH);
-		item.setText("&Open...");
-		item.setAccelerator(SWT.CTRL + 'O');
-		item.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				menuOpen();
-			}
-		});
-		item = new MenuItem(fileMenu, SWT.PUSH);
-		item.setText("Font...");
-		item.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				menuFont();
-			}
-		});
-		item = new MenuItem(fileMenu, SWT.PUSH);
-		item.setText("Foreground Color...");
-		item.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				menuForegroundColor();
-			}
-		});
-		item = new MenuItem(fileMenu, SWT.PUSH);
-		item.setText("Background Color...");
-		item.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				menuBackgroundColor();
-			}
-		});
-		item = new MenuItem(fileMenu, SWT.PUSH);
-		item.setText("&Print...");
-		item.setAccelerator(SWT.CTRL + 'P');
-		item.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				menuPrint();
-			}
-		});
-		new MenuItem(fileMenu, SWT.SEPARATOR);
-		item = new MenuItem(fileMenu, SWT.PUSH);
-		item.setText("E&xit");
-		item.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				System.exit(0);
-			}
-		});
-
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch()) display.sleep();
-		}
-		if (font != null) font.dispose();
-		if (foregroundColor != null) foregroundColor.dispose();
-		if (backgroundColor != null) backgroundColor.dispose();
-		display.dispose();
-	}
-		
-	void menuOpen() {
-		final String textString;
-		FileDialog dialog = new FileDialog(shell, SWT.OPEN);
-		dialog.setFilterExtensions(new String[] {"*.java", "*.*"});
-		String name = dialog.open();
-		if ((name == null) || (name.length() == 0)) return;
-	
-		try {
-			File file = new File(name);
-			FileInputStream stream= new FileInputStream(file.getPath());
-			try {
-				Reader in = new BufferedReader(new InputStreamReader(stream));
-				char[] readBuffer= new char[2048];
-				StringBuffer buffer= new StringBuffer((int) file.length());
-				int n;
-				while ((n = in.read(readBuffer)) > 0) {
-					buffer.append(readBuffer, 0, n);
-				}
-				textString = buffer.toString();
-				stream.close();
-			} catch (IOException e) {
-				MessageBox box = new MessageBox(shell, SWT.ICON_ERROR);
-				box.setMessage("Error reading file:\n" + name);
-				box.open();
-				return;
-			}
-		} catch (FileNotFoundException e) {
-			MessageBox box = new MessageBox(shell, SWT.ICON_ERROR);
-			box.setMessage("File not found:\n" + name);
-			box.open();
-			return;
-		}	
-		text.setText(textString);
-	}
-
-	void menuFont() {
-		FontDialog fontDialog = new FontDialog(shell);
-		fontDialog.setFontList(text.getFont().getFontData());
-		FontData fontData = fontDialog.open();
-		if (fontData != null) {
-			if (font != null) font.dispose();
-			font = new Font(display, fontData);
-			text.setFont(font);
-		}
-	}
-
-	void menuForegroundColor() {
-		ColorDialog colorDialog = new ColorDialog(shell);
-		colorDialog.setRGB(text.getForeground().getRGB());
-		RGB rgb = colorDialog.open();
-		if (rgb != null) {
-			if (foregroundColor != null) foregroundColor.dispose();
-			foregroundColor = new Color(display, rgb);
-			text.setForeground(foregroundColor);
-		}
-	}
-
-	void menuBackgroundColor() {
-		ColorDialog colorDialog = new ColorDialog(shell);
-		colorDialog.setRGB(text.getBackground().getRGB());
-		RGB rgb = colorDialog.open();
-		if (rgb != null) {
-			if (backgroundColor != null) backgroundColor.dispose();
-			backgroundColor = new Color(display, rgb);
-			text.setBackground(backgroundColor);
-		}
-	}
-
-	void menuPrint() {
-		PrintDialog dialog = new PrintDialog(shell, SWT.NONE);
-		PrinterData data = dialog.open();
-		if (data == null) return;
-		if (data.printToFile) {
-			data.fileName = "print.out"; // you probably want to ask the user for a filename
-		}
-		
-		/* Get the text to print from the Text widget (you could get it from anywhere, i.e. your java model) */
-		textToPrint = text.getText();
-
-		/* Get the font & foreground & background data. */
-		printerFontData = text.getFont().getFontData();
-		printerForeground = text.getForeground().getRGB();
-		printerBackground = text.getBackground().getRGB();
-		
-		/* Do the printing in a background thread so that spooling does not freeze the UI. */
-		printer = new Printer(data);
-		Thread printingThread = new Thread("Printing") {
-			public void run() {
-				print(printer);
-				printer.dispose();
-			}
-		};
-		printingThread.start();
-	}
-	
-	void print(Printer printer) {
-		if (printer.startJob("Text")) {   // the string is the job name - shows up in the printer's job list
-			Rectangle clientArea = printer.getClientArea();
-			Rectangle trim = printer.computeTrim(0, 0, 0, 0);
-			Point dpi = printer.getDPI();
-			leftMargin = dpi.x + trim.x; // one inch from left side of paper
-			rightMargin = clientArea.width - dpi.x + trim.x + trim.width; // one inch from right side of paper
-			topMargin = dpi.y + trim.y; // one inch from top edge of paper
-			bottomMargin = clientArea.height - dpi.y + trim.y + trim.height; // one inch from bottom edge of paper
-			
-			/* Create a buffer for computing tab width. */
-			int tabSize = 4; // is tab width a user setting in your UI?
-			StringBuffer tabBuffer = new StringBuffer(tabSize);
-			for (int i = 0; i < tabSize; i++) tabBuffer.append(' ');
-			tabs = tabBuffer.toString();
-
-			/* Create printer GC, and create and set the printer font & foreground color. */
-			gc = new GC(printer);
-			Font printerFont = new Font(printer, printerFontData);
-			Color printerForegroundColor = new Color(printer, printerForeground);
-			Color printerBackgroundColor = new Color(printer, printerBackground); 
-			
-			gc.setFont(printerFont);
-			gc.setForeground(printerForegroundColor);
-			gc.setBackground(printerBackgroundColor);
-			tabWidth = gc.stringExtent(tabs).x;
-			lineHeight = gc.getFontMetrics().getHeight();
-		
-			/* Print text to current gc using word wrap */
-			printText();
-			printer.endJob();
-
-			/* Cleanup graphics resources used in printing */
-			printerFont.dispose();
-			printerForegroundColor.dispose();
-			printerBackgroundColor.dispose();
-			gc.dispose();
-		}
-	}
-	
-	void printText() {
-		printer.startPage();
-		wordBuffer = new StringBuffer();
-		x = leftMargin;
-		y = topMargin;
-		index = 0;
-		end = textToPrint.length();
-		while (index < end) {
-			char c = textToPrint.charAt(index);
-			index++;
-			if (c != 0) {
-				if (c == 0x0a || c == 0x0d) {
-					if (c == 0x0d && index < end && textToPrint.charAt(index) == 0x0a) {
-						index++; // if this is cr-lf, skip the lf
-					}
-					printWordBuffer();
-					newline();
-				} else {
-					if (c != '\t') {
-						wordBuffer.append(c);
-					}
-					if (Character.isWhitespace(c)) {
-						printWordBuffer();
-						if (c == '\t') {
-							x += tabWidth;
-						}
-					}
-				}
-			}
-		}
-		if (y + lineHeight <= bottomMargin) {
-			printer.endPage();
-		}
-	}
-
-	void printWordBuffer() {
-		if (wordBuffer.length() > 0) {
-			String word = wordBuffer.toString();
-			int wordWidth = gc.stringExtent(word).x;
-			if (x + wordWidth > rightMargin) {
-				/* word doesn't fit on current line, so wrap */
-				newline();
-			}
-			gc.drawString(word, x, y, false);
-			x += wordWidth;
-			wordBuffer = new StringBuffer();
-		}
-	}
-
-	void newline() {
-		x = leftMargin;
-		y += lineHeight;
-		if (y + lineHeight > bottomMargin) {
-			printer.endPage();
-			if (index + 1 < end) {
-				y = topMargin;
-				printer.startPage();
-			}
-		}
-	}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet134.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet134.java
deleted file mode 100644
index c8d819a..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet134.java
+++ /dev/null
@@ -1,97 +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.swt.snippets;
- 
-/*
- * Shell example snippet: create a non-rectangular window
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet134 {
-
-static int[] circle(int r, int offsetX, int offsetY) {
-	int[] polygon = new int[8 * r + 4];
-	//x^2 + y^2 = r^2
-	for (int i = 0; i < 2 * r + 1; i++) {
-		int x = i - r;
-		int y = (int)Math.sqrt(r*r - x*x);
-		polygon[2*i] = offsetX + x;
-		polygon[2*i+1] = offsetY + y;
-		polygon[8*r - 2*i - 2] = offsetX + x;
-		polygon[8*r - 2*i - 1] = offsetY - y;
-	}
-	return polygon;
-}
-
-public static void main(String[] args) {
-	final Display display = new Display();
-	//Shell must be created with style SWT.NO_TRIM
-	final Shell shell = new Shell(display, SWT.NO_TRIM | SWT.ON_TOP);
-	shell.setBackground(display.getSystemColor(SWT.COLOR_RED));
-	//define a region that looks like a key hole
-	Region region = new Region();
-	region.add(circle(67, 67, 67));
-	region.subtract(circle(20, 67, 50));
-	region.subtract(new int[]{67, 50, 55, 105, 79, 105});
-	//define the shape of the shell using setRegion
-	shell.setRegion(region);
-	Rectangle size = region.getBounds();
-	shell.setSize(size.width, size.height);
-	//add ability to move shell around
-	Listener l = new Listener() {
-		Point origin;
-		public void handleEvent(Event e) {
-			switch (e.type) {
-				case SWT.MouseDown:
-					origin = new Point(e.x, e.y);
-					break;
-				case SWT.MouseUp:
-					origin = null;
-					break;
-				case SWT.MouseMove:
-					if (origin != null) {
-						Point p = display.map(shell, null, e.x, e.y);
-						shell.setLocation(p.x - origin.x, p.y - origin.y);
-					}
-					break;
-			}
-		}
-	};
-	shell.addListener(SWT.MouseDown, l);
-	shell.addListener(SWT.MouseUp, l);
-	shell.addListener(SWT.MouseMove, l);
-	//add ability to close shell
-	Button b = new Button(shell, SWT.PUSH);
-	b.setBackground(shell.getBackground());
-	b.setText("close");
-	b.pack();
-	b.setLocation(10, 68);
-	b.addListener(SWT.Selection, new Listener() {
-		public void handleEvent(Event e) {
-			shell.close();
-		}
-	});
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	region.dispose();
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet135.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet135.java
deleted file mode 100644
index b28f714..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet135.java
+++ /dev/null
@@ -1,276 +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.swt.snippets;
- 
-/*
- * example snippet: embed Swing/AWT in SWT
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */
-import java.awt.EventQueue;
-import java.io.*;
-import java.util.*;
-import javax.swing.*;
-import javax.swing.table.*;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.awt.SWT_AWT;
-
-public class Snippet135 {
-
-	static class FileTableModel extends AbstractTableModel {		
-		File[] files;        
-		String[] columnsName = {"Name", "Size", "Date Modified"};
-		
-		public FileTableModel (File[] files) {
-			this.files = files;
-		}
-		public int getColumnCount () {
-			return columnsName.length;
-		}
-		public Class getColumnClass (int col) {
-			if (col == 1) return Long.class;
-			if (col == 2) return Date.class;
-			return String.class;
-		}
-		public int getRowCount () {
-			return files == null ? 0 : files.length;
-		}
-		public Object getValueAt (int row, int col) {
-			if (col == 0) return files[row].getName();
-			if (col == 1) return new Long(files[row].length());
-			if (col == 2) return new Date(files[row].lastModified());
-			return "";
-		}
-		public String getColumnName (int col) {
-			return columnsName[col];
-		}
-	}
-
-	public static void main(String[] args) {
-		final Display display = new Display();
-		final Shell shell = new Shell(display);
-		shell.setText("SWT and Swing/AWT Example");
-
-		Listener exitListener = new Listener() {
-			public void handleEvent(Event e) {
-				MessageBox dialog = new MessageBox(shell, SWT.OK | SWT.CANCEL | SWT.ICON_QUESTION);
-				dialog.setText("Question");
-				dialog.setMessage("Exit?");
-				if (e.type == SWT.Close) e.doit = false;
-				if (dialog.open() != SWT.OK) return;
-				shell.dispose();
-			}
-		};	
-		Listener aboutListener = new Listener() {
-			public void handleEvent(Event e) {
-				final Shell s = new Shell(shell, SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL);
-				s.setText("About");
-				GridLayout layout = new GridLayout(1, false);
-				layout.verticalSpacing = 20;
-				layout.marginHeight = layout.marginWidth = 10;
-				s.setLayout(layout);
-				Label label = new Label(s, SWT.NONE);
-				label.setText("SWT and AWT Example.");
-				Button button = new Button(s, SWT.PUSH);
-				button.setText("OK");
-				GridData data = new GridData();
-				data.horizontalAlignment = GridData.CENTER;
-				button.setLayoutData(data);
-				button.addListener(SWT.Selection, new Listener() {
-					public void handleEvent(Event event) {
-						s.dispose();
-					}
-				});
-				s.pack();
-				Rectangle parentBounds = shell.getBounds();
-				Rectangle bounds = s.getBounds();
-				int x = parentBounds.x + (parentBounds.width - bounds.width) / 2;
-				int y = parentBounds.y + (parentBounds.height - bounds.height) / 2;
-				s.setLocation(x, y);
-				s.open();
-				while (!s.isDisposed()) {
-					if (!display.readAndDispatch()) display.sleep();
-				}
-			}
-		};
-		shell.addListener(SWT.Close, exitListener);
-		Menu mb = new Menu(shell, SWT.BAR);
-		MenuItem fileItem = new MenuItem(mb, SWT.CASCADE);
-		fileItem.setText("&File");
-		Menu fileMenu = new Menu(shell, SWT.DROP_DOWN);
-		fileItem.setMenu(fileMenu);
-		MenuItem exitItem = new MenuItem(fileMenu, SWT.PUSH);
-		exitItem.setText("&Exit\tCtrl+X");
-		exitItem.setAccelerator(SWT.CONTROL + 'X');
-		exitItem.addListener(SWT.Selection, exitListener);
-		MenuItem aboutItem = new MenuItem(fileMenu, SWT.PUSH);
-		aboutItem.setText("&About\tCtrl+A");
-		aboutItem.setAccelerator(SWT.CONTROL + 'A');
-		aboutItem.addListener(SWT.Selection, aboutListener);
-		shell.setMenuBar(mb);
-
-		RGB color = shell.getBackground().getRGB();
-		Label separator1 = new Label(shell, SWT.SEPARATOR | SWT.HORIZONTAL);
-		Label locationLb = new Label(shell, SWT.NONE);
-		locationLb.setText("Location:");
-		Composite locationComp = new Composite(shell, SWT.EMBEDDED);
-		ToolBar toolBar = new ToolBar(shell, SWT.FLAT);
-		ToolItem exitToolItem = new ToolItem(toolBar, SWT.PUSH);
-		exitToolItem.setText("&Exit");
-		exitToolItem.addListener(SWT.Selection, exitListener);
-		ToolItem aboutToolItem = new ToolItem(toolBar, SWT.PUSH);
-		aboutToolItem.setText("&About");
-		aboutToolItem.addListener(SWT.Selection, aboutListener);
-		Label separator2 = new Label(shell, SWT.SEPARATOR | SWT.HORIZONTAL);
-		final Composite comp = new Composite(shell, SWT.NONE);
-		final Tree fileTree = new Tree(comp, SWT.SINGLE | SWT.BORDER);
-		Sash sash = new Sash(comp, SWT.VERTICAL);
-		Composite tableComp = new Composite(comp, SWT.EMBEDDED);
-		Label separator3 = new Label(shell, SWT.SEPARATOR | SWT.HORIZONTAL);
-		Composite statusComp = new Composite(shell, SWT.EMBEDDED);
-
-		java.awt.Frame locationFrame = SWT_AWT.new_Frame(locationComp);
-		final java.awt.TextField locationText = new java.awt.TextField();
-		locationFrame.add(locationText);
-
-		java.awt.Frame fileTableFrame = SWT_AWT.new_Frame(tableComp);
-		java.awt.Panel panel = new java.awt.Panel(new java.awt.BorderLayout());
-		fileTableFrame.add(panel);
-		final JTable fileTable = new JTable(new FileTableModel(null));
-		fileTable.setDoubleBuffered(true);
-		fileTable.setShowGrid(false);
-		fileTable.createDefaultColumnsFromModel();
-		JScrollPane scrollPane = new JScrollPane(fileTable);
-		panel.add(scrollPane);
-
-		java.awt.Frame statusFrame = SWT_AWT.new_Frame(statusComp);
-		statusFrame.setBackground(new java.awt.Color(color.red, color.green, color.blue));
-		final java.awt.Label statusLabel = new java.awt.Label();
-		statusFrame.add(statusLabel);
-		statusLabel.setText("Select a file");
-
-		sash.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				if (e.detail == SWT.DRAG) return;
-				GridData data = (GridData)fileTree.getLayoutData();
-				Rectangle trim = fileTree.computeTrim(0, 0, 0, 0);
-				data.widthHint = e.x - trim.width;
-				comp.layout();
-			}
-		});
-
-		File[] roots = File.listRoots();
-		for (int i = 0; i < roots.length; i++) {
-			File file = roots[i];
-			TreeItem treeItem = new TreeItem(fileTree, SWT.NONE);
-			treeItem.setText(file.getAbsolutePath());
-			treeItem.setData(file);
-			new TreeItem(treeItem, SWT.NONE);
-		}
-		fileTree.addListener(SWT.Expand, new Listener() {
-			public void handleEvent(Event e) {
-				TreeItem item = (TreeItem)e.item;
-				if (item == null) return;
-				if (item.getItemCount() == 1) {
-					TreeItem firstItem = item.getItems()[0];
-					if (firstItem.getData() != null) return;
-					firstItem.dispose();
-				} else {
-					return;
-				}
-				File root = (File)item.getData();
-				File[] files = root.listFiles();
-				if (files == null) return;
-				for (int i = 0; i < files.length; i++) {
-					File file = files[i];
-					if (file.isDirectory()) {
-						TreeItem treeItem = new TreeItem(item, SWT.NONE);
-						treeItem.setText(file.getName());
-						treeItem.setData(file);
-						new TreeItem(treeItem, SWT.NONE);
-					}
-				}
-			}
-		});
-		fileTree.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				TreeItem item = (TreeItem)e.item;
-				if (item == null) return;
-				final File root = (File)item.getData();
-				EventQueue.invokeLater(new Runnable() {
-					public void run() {
-						statusLabel.setText(root.getAbsolutePath());
-						locationText.setText(root.getAbsolutePath());
-						fileTable.setModel(new FileTableModel(root.listFiles()));
-					}
-				});
-			}
-		});
-		
-		GridLayout layout = new GridLayout(4, false);
-		layout.marginWidth = layout.marginHeight = 0;
-		layout.horizontalSpacing = layout.verticalSpacing = 1;
-		shell.setLayout(layout);
-		GridData data;		
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		data.horizontalSpan = 4;
-		separator1.setLayoutData(data);
-		data = new GridData();
-		data.horizontalSpan = 1;
-		data.horizontalIndent = 10;
-		locationLb.setLayoutData(data);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		data.horizontalSpan = 2;
-		data.heightHint = locationText.getPreferredSize().height;
-		locationComp.setLayoutData(data);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		data.horizontalSpan = 1;
-		toolBar.setLayoutData(data);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		data.horizontalSpan = 4;
-		separator2.setLayoutData(data);
-		data = new GridData(GridData.FILL_BOTH);
-		data.horizontalSpan = 4;
-		comp.setLayoutData(data);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		data.horizontalSpan = 4;
-		separator3.setLayoutData(data);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		data.horizontalSpan = 4;
-		data.heightHint = statusLabel.getPreferredSize().height;
-		statusComp.setLayoutData(data);
-		
-		layout = new GridLayout(3, false);
-		layout.marginWidth = layout.marginHeight = 0;
-		layout.horizontalSpacing = layout.verticalSpacing = 1;
-		comp.setLayout(layout);			
-		data = new GridData(GridData.FILL_VERTICAL);
-		data.widthHint = 200;
-		fileTree.setLayoutData(data);		
-		data = new GridData(GridData.FILL_VERTICAL);
-		sash.setLayoutData(data);		
-		data = new GridData(GridData.FILL_BOTH);
-		tableComp.setLayoutData(data);
-
-		shell.open();
-		while(!shell.isDisposed()) {
-			if (!display.readAndDispatch()) display.sleep();
-		}
-		display.dispose();
-	}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet136.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet136.java
deleted file mode 100644
index d7150ac..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet136.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Browser example snippet: render HTML from memory
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.browser.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet136 {
-	public static void main(String [] args) {
-		String html = "<HTML><HEAD><TITLE>HTML Test</TITLE></HEAD><BODY>";
-		for (int i = 0; i < 100; i++) html += "<P>This is line "+i+"</P>";
-		html += "</BODY></HTML>";
-
-		Display display = new Display();
-		Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		Browser browser;
-		try {
-			browser = new Browser(shell, SWT.NONE);
-		} catch (SWTError e) {
-			System.out.println("Could not instantiate Browser: " + e.getMessage());
-			return;
-		}
-		browser.setText(html);
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		display.dispose();
-	}
-}
-
-
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet137.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet137.java
deleted file mode 100644
index 1acf749..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet137.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Browser example snippet: render HTML that includes relative links from memory
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.browser.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet137 {
-
-public static void main(String [] args) {
-	/* Relative links: use the HTML base tag */
-	String html = "<html><head>"+
-		"<base href=\"http://www.eclipse.org/swt/\" >"+
-		"<title>HTML Test</title></head>"+
-		"<body><a href=\"faq.php\">local link</a></body></html>";
-
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setLayout(new FillLayout());
-	Browser browser;
-	try {
-		browser = new Browser(shell, SWT.NONE);
-	} catch (SWTError e) {
-		System.out.println("Could not instantiate Browser: " + e.getMessage());
-		return;
-	}
-	browser.setText(html);
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet138.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet138.java
deleted file mode 100644
index 72c8425..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet138.java
+++ /dev/null
@@ -1,67 +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.swt.snippets;
- 
-/*
- * example snippet: set icons with different resolutions
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet138 {
-	public static void main(String[] args) {
-		Display display = new Display();
-		
-		Image small = new Image(display, 16, 16);
-		GC gc = new GC(small);
-		gc.setBackground(display.getSystemColor(SWT.COLOR_RED));
-		gc.fillArc(0, 0, 16, 16, 45, 270);
-		gc.dispose();
-		
-		Image large = new Image(display, 32, 32);
-		gc = new GC(large);
-		gc.setBackground(display.getSystemColor(SWT.COLOR_RED));
-		gc.fillArc(0, 0, 32, 32, 45, 270);
-		gc.dispose();
-		
-		/* Provide different resolutions for icons to get
-		 * high quality rendering wherever the OS needs 
-		 * large icons. For example, the ALT+TAB window 
-		 * on certain systems uses a larger icon.
-		 */
-		Shell shell = new Shell(display);
-		shell.setText("Small and Large icons");
-		shell.setImages(new Image[] {small, large});
-
-		/* No large icon: the OS will scale up the
-		 * small icon when it needs a large one.
-		 */
-		Shell shell2 = new Shell(display);
-		shell2.setText("Small icon");
-		shell2.setImage(small);
-		
-		shell.open();
-		shell2.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		small.dispose();
-		large.dispose();
-		display.dispose();
-	}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet139.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet139.java
deleted file mode 100644
index bf49fae..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet139.java
+++ /dev/null
@@ -1,137 +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.swt.snippets;
- 
-/*
- * This snippet was adapted from org.eclipse.draw2d.ImageUtilities in 
- * http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.draw2d/?cvsroot=Tools_Project
- * by Pratik Shah.
- *
- * example snippet: rotate and flip an image
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet139 {	
-
-static ImageData rotate(ImageData srcData, int direction) {
-	int bytesPerPixel = srcData.bytesPerLine / srcData.width;
-	int destBytesPerLine = (direction == SWT.DOWN)? srcData.width * bytesPerPixel : srcData.height * bytesPerPixel;
-	byte[] newData = new byte[(direction == SWT.DOWN)? srcData.height * destBytesPerLine : srcData.width * destBytesPerLine];
-	int width = 0, height = 0;
-	for (int srcY = 0; srcY < srcData.height; srcY++) {
-		for (int srcX = 0; srcX < srcData.width; srcX++) {
-			int destX = 0, destY = 0, destIndex = 0, srcIndex = 0;
-			switch (direction){
-				case SWT.LEFT: // left 90 degrees
-					destX = srcY;
-					destY = srcData.width - srcX - 1;
-					width = srcData.height;
-					height = srcData.width; 
-					break;
-				case SWT.RIGHT: // right 90 degrees
-					destX = srcData.height - srcY - 1;
-					destY = srcX;
-					width = srcData.height;
-					height = srcData.width; 
-					break;
-				case SWT.DOWN: // 180 degrees
-					destX = srcData.width - srcX - 1;
-					destY = srcData.height - srcY - 1;
-					width = srcData.width;
-					height = srcData.height; 
-					break;
-			}
-			destIndex = (destY * destBytesPerLine) + (destX * bytesPerPixel);
-			srcIndex = (srcY * srcData.bytesPerLine) + (srcX * bytesPerPixel);
-			System.arraycopy(srcData.data, srcIndex, newData, destIndex, bytesPerPixel);
-		}
-	}
-	// destBytesPerLine is used as scanlinePad to ensure that no padding is required
-	return new ImageData(width, height, srcData.depth, srcData.palette, srcData.scanlinePad, newData);
-}
-static ImageData flip(ImageData srcData, boolean vertical) {
-	int bytesPerPixel = srcData.bytesPerLine / srcData.width;
-	int destBytesPerLine = srcData.width * bytesPerPixel;
-	byte[] newData = new byte[srcData.data.length];
-	for (int srcY = 0; srcY < srcData.height; srcY++) {
-		for (int srcX = 0; srcX < srcData.width; srcX++) {
-			int destX = 0, destY = 0, destIndex = 0, srcIndex = 0;
-			if (vertical){
-				destX = srcX;
-				destY = srcData.height - srcY - 1;
-			} else {
-				destX = srcData.width - srcX - 1;
-				destY = srcY; 
-			}
-			destIndex = (destY * destBytesPerLine) + (destX * bytesPerPixel);
-			srcIndex = (srcY * srcData.bytesPerLine) + (srcX * bytesPerPixel);
-			System.arraycopy(srcData.data, srcIndex, newData, destIndex, bytesPerPixel);
-		}
-	}
-	// destBytesPerLine is used as scanlinePad to ensure that no padding is required
-	return new ImageData(srcData.width, srcData.height, srcData.depth, srcData.palette, srcData.scanlinePad, newData);
-}
-
-public static void main(String[] args) {
-	Display display = new Display();
-	
-	// create an image with the word "hello" on it
-	final Image image0 = new Image(display, 50, 30);
-	GC gc = new GC(image0);
-	gc.setBackground(display.getSystemColor(SWT.COLOR_RED));
-	gc.fillRectangle(image0.getBounds());
-	gc.drawString("hello",	5, 5, true);
-	gc.dispose();
-	
-	ImageData data = image0.getImageData();
-	// rotate and flip this image
-	final Image image1 = new Image(display, rotate(data, SWT.LEFT));
-	final Image image2 = new Image(display, rotate(data, SWT.RIGHT));
-	final Image image3 = new Image(display, rotate(data, SWT.DOWN));
-	final Image image4 = new Image(display, flip(data, true));
-	final Image image5 = new Image(display, flip(data, false));
-
-	Shell shell = new Shell(display);
-	// draw the results on the shell
-	shell.addPaintListener(new PaintListener(){
-		public void paintControl(PaintEvent e) {
-			e.gc.drawText("Original Image:", 10, 10, true);
-			e.gc.drawImage(image0, 10, 40);
-			e.gc.drawText("Left, Right, 180:", 10, 80, true);
-			e.gc.drawImage(image1, 10, 110);
-			e.gc.drawImage(image2, 50, 110);
-			e.gc.drawImage(image3, 90, 110);
-			e.gc.drawText("Flipped Vertical, Horizontal:", 10, 170, true);
-			e.gc.drawImage(image4, 10, 200);
-			e.gc.drawImage(image5, 70, 200);
-		}
-	});
-	shell.setSize(300, 300);
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	image0.dispose();
-	image1.dispose();
-	image2.dispose();
-	image3.dispose();
-	image4.dispose();
-	image5.dispose();
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet14.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet14.java
deleted file mode 100644
index d26c6ba..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet14.java
+++ /dev/null
@@ -1,49 +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.swt.snippets;
- 
-/*
- * Control example snippet: detect mouse enter, exit and hover events
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet14 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setSize (100, 100);
-	shell.addListener (SWT.MouseEnter, new Listener () {
-		public void handleEvent (Event e) {
-			System.out.println ("ENTER");
-		}
-	});
-	shell.addListener (SWT.MouseExit, new Listener () {
-		public void handleEvent (Event e) {
-			System.out.println ("EXIT");
-		}
-	});
-	shell.addListener (SWT.MouseHover, new Listener () {
-		public void handleEvent (Event e) {
-			System.out.println ("HOVER");
-		}
-	});
-	shell.open ();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet140.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet140.java
deleted file mode 100644
index ea3e8cb..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet140.java
+++ /dev/null
@@ -1,105 +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.swt.snippets;
-  
-/*
- * CoolBar example snippet: drop-down a chevron menu containing hidden tool items
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet140 {
-	static Display display;
-	static Shell shell;
-	static CoolBar coolBar;
-	static Menu chevronMenu = null;
-	
-public static void main (String [] args) {
-	display = new Display ();
-	shell = new Shell (display);
-	shell.setLayout(new GridLayout());
-	coolBar = new CoolBar(shell, SWT.FLAT | SWT.BORDER);
-	coolBar.setLayoutData(new GridData(GridData.FILL_BOTH));
-	ToolBar toolBar = new ToolBar(coolBar, SWT.FLAT | SWT.WRAP);
-	int minWidth = 0;
-	for (int j = 0; j < 5; j++) {
-		int width = 0;
-		ToolItem item = new ToolItem(toolBar, SWT.PUSH);
-		item.setText("B" + j);
-		width = item.getWidth();
-		/* find the width of the widest tool */
-		if (width > minWidth) minWidth = width;
-	}
-	CoolItem coolItem = new CoolItem(coolBar, SWT.DROP_DOWN);
-	coolItem.setControl(toolBar);
-	Point size = toolBar.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-	Point coolSize = coolItem.computeSize (size.x, size.y);
-	coolItem.setMinimumSize(minWidth, coolSize.y);
-	coolItem.setPreferredSize(coolSize);
-	coolItem.setSize(coolSize);
-	coolItem.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent event) {
-			if (event.detail == SWT.ARROW) {
-				CoolItem item = (CoolItem) event.widget;
-				Rectangle itemBounds = item.getBounds ();
-				Point pt = coolBar.toDisplay(new Point(itemBounds.x, itemBounds.y));
-				itemBounds.x = pt.x;
-				itemBounds.y = pt.y;
-				ToolBar bar = (ToolBar) item.getControl ();
-				ToolItem[] tools = bar.getItems ();
-				
-				int i = 0;
-				while (i < tools.length) {
-					Rectangle toolBounds = tools[i].getBounds ();
-					pt = bar.toDisplay(new Point(toolBounds.x, toolBounds.y));
-					toolBounds.x = pt.x;
-					toolBounds.y = pt.y;
-					
-					/* Figure out the visible portion of the tool by looking at the
-					 * intersection of the tool bounds with the cool item bounds. */
-			  		Rectangle intersection = itemBounds.intersection (toolBounds);
-			  		
-					/* If the tool is not completely within the cool item bounds, then it
-					 * is partially hidden, and all remaining tools are completely hidden. */
-			  		if (!intersection.equals (toolBounds)) break;
-			  		i++;
-				}
-				
-				/* Create a menu with items for each of the completely hidden buttons. */
-				if (chevronMenu != null) chevronMenu.dispose();
-				chevronMenu = new Menu (coolBar);
-				for (int j = i; j < tools.length; j++) {
-					MenuItem menuItem = new MenuItem (chevronMenu, SWT.PUSH);
-					menuItem.setText (tools[j].getText());
-				}
-				
-				/* Drop down the menu below the chevron, with the left edges aligned. */
-				pt = coolBar.toDisplay(new Point(event.x, event.y));
-				chevronMenu.setLocation (pt.x, pt.y);
-				chevronMenu.setVisible (true);
-			}
-		}
-	});
-
-	shell.pack();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet141.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet141.java
deleted file mode 100644
index faa1e6d..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet141.java
+++ /dev/null
@@ -1,157 +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.swt.snippets;
-
-/*
- * Image example snippet: display an animated GIF
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet141 {
-	static Display display;
-	static Shell shell;
-	static GC shellGC;
-	static Color shellBackground;
-	static ImageLoader loader;
-	static ImageData[] imageDataArray;
-	static Thread animateThread;
-	static Image image;
-	static final boolean useGIFBackground = false;
-	
-	public static void main(String[] args) {
-		display = new Display();
-		shell = new Shell(display);
-		shell.setSize(300, 300);
-		shell.open();
-		shellGC = new GC(shell);
-		shellBackground = shell.getBackground();
-
-		FileDialog dialog = new FileDialog(shell);
-		dialog.setFilterExtensions(new String[] {"*.gif"});
-		String fileName = dialog.open();
-		if (fileName != null) {
-			loader = new ImageLoader();
-			try {
-				imageDataArray = loader.load(fileName);
-				if (imageDataArray.length > 1) {
-					animateThread = new Thread("Animation") {
-						public void run() {
-							/* Create an off-screen image to draw on, and fill it with the shell background. */
-							Image offScreenImage = new Image(display, loader.logicalScreenWidth, loader.logicalScreenHeight);
-							GC offScreenImageGC = new GC(offScreenImage);
-							offScreenImageGC.setBackground(shellBackground);
-							offScreenImageGC.fillRectangle(0, 0, loader.logicalScreenWidth, loader.logicalScreenHeight);
-								
-							try {
-								/* Create the first image and draw it on the off-screen image. */
-								int imageDataIndex = 0;	
-								ImageData imageData = imageDataArray[imageDataIndex];
-								if (image != null && !image.isDisposed()) image.dispose();
-								image = new Image(display, imageData);
-								offScreenImageGC.drawImage(
-									image,
-									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) {
-									switch (imageData.disposalMethod) {
-									case SWT.DM_FILL_BACKGROUND:
-										/* Fill with the background color before drawing. */
-										Color bgColor = null;
-										if (useGIFBackground && loader.backgroundPixel != -1) {
-											bgColor = new Color(display, imageData.palette.getRGB(loader.backgroundPixel));
-										}
-										offScreenImageGC.setBackground(bgColor != null ? bgColor : shellBackground);
-										offScreenImageGC.fillRectangle(imageData.x, imageData.y, imageData.width, imageData.height);
-										if (bgColor != null) bgColor.dispose();
-										break;
-									case SWT.DM_FILL_PREVIOUS:
-										/* Restore the previous image before drawing. */
-										offScreenImageGC.drawImage(
-											image,
-											0,
-											0,
-											imageData.width,
-											imageData.height,
-											imageData.x,
-											imageData.y,
-											imageData.width,
-											imageData.height);
-										break;
-									}
-														
-									imageDataIndex = (imageDataIndex + 1) % imageDataArray.length;
-									imageData = imageDataArray[imageDataIndex];
-									image.dispose();
-									image = new Image(display, imageData);
-									offScreenImageGC.drawImage(
-										image,
-										0,
-										0,
-										imageData.width,
-										imageData.height,
-										imageData.x,
-										imageData.y,
-										imageData.width,
-										imageData.height);
-									
-									/* Draw the off-screen image to the shell. */
-									shellGC.drawImage(offScreenImage, 0, 0);
-									
-									/* Sleep for the specified delay time (adding commonly-used slow-down fudge factors). */
-									try {
-										int ms = imageData.delayTime * 10;
-										if (ms < 20) ms += 30;
-										if (ms < 30) ms += 10;
-										Thread.sleep(ms);
-									} catch (InterruptedException e) {
-									}
-									
-									/* If we have just drawn the last image, decrement the repeat count and start again. */
-									if (imageDataIndex == imageDataArray.length - 1) repeatCount--;
-								}
-							} catch (SWTException ex) {
-								System.out.println("There was an error animating the GIF");
-							} finally {
-								if (offScreenImage != null && !offScreenImage.isDisposed()) offScreenImage.dispose();
-								if (offScreenImageGC != null && !offScreenImageGC.isDisposed()) offScreenImageGC.dispose();
-								if (image != null && !image.isDisposed()) image.dispose();
-							}
-						}
-					};
-					animateThread.setDaemon(true);
-					animateThread.start();
-				}
-			} catch (SWTException ex) {
-				System.out.println("There was an error loading the GIF");
-			}
-		}
-
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch()) display.sleep();
-		}
-		display.dispose();
-	}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet142.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet142.java
deleted file mode 100644
index 7caf14b..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet142.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.swt.snippets;
-  
-/*
- * UI Automation (for testing tools) snippet: post mouse events
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet142 {
-
-public static void main(String[] args) {
-	final Display display = new Display();
-	final Shell shell = new Shell(display);
-	final Button button = new Button(shell,SWT.NONE);
-	button.setSize(100,100);
-	button.setText("Click");
-	shell.pack();
-	shell.open();
-	button.addListener(SWT.MouseDown, new Listener() {
-		public void handleEvent(Event e){
-			System.out.println("Mouse Down (button: " + e.button + " x: " + e.x + " y: " + e.y + ")");
-		}
-	});
-	final Point pt = display.map(shell, null, 50, 50);
-	new Thread(){
-		Event event;
-		public void run(){
-			try {
-				Thread.sleep(300);
-			} catch (InterruptedException e) {}
-			event = new Event();
-			event.type = SWT.MouseMove;
-			event.x = pt.x;
-			event.y = pt.y;
-			display.post(event);
-			try {
-				Thread.sleep(300);
-			} catch (InterruptedException e) {}
-			event.type = SWT.MouseDown;
-			event.button = 1;
-			display.post(event);
-			try {
-				Thread.sleep(300);
-			} catch (InterruptedException e) {}
-			event.type = SWT.MouseUp;
-			display.post(event);
-		}	
-	}.start();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch()) display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet143.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet143.java
deleted file mode 100644
index 314a925..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet143.java
+++ /dev/null
@@ -1,83 +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.swt.snippets;
-  
-/*
- * Tray example snippet: place an icon with a popup menu on the system tray
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet143 {
-
-public static void main(String[] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	Image image = new Image (display, 16, 16);
-	final Tray tray = display.getSystemTray ();
-	if (tray == null) {
-		System.out.println ("The system tray is not available");
-	} else {
-		final TrayItem item = new TrayItem (tray, SWT.NONE);
-		item.setToolTipText("SWT TrayItem");
-		item.addListener (SWT.Show, new Listener () {
-			public void handleEvent (Event event) {
-				System.out.println("show");
-			}
-		});
-		item.addListener (SWT.Hide, new Listener () {
-			public void handleEvent (Event event) {
-				System.out.println("hide");
-			}
-		});
-		item.addListener (SWT.Selection, new Listener () {
-			public void handleEvent (Event event) {
-				System.out.println("selection");
-			}
-		});
-		item.addListener (SWT.DefaultSelection, new Listener () {
-			public void handleEvent (Event event) {
-				System.out.println("default selection");
-			}
-		});
-		final Menu menu = new Menu (shell, SWT.POP_UP);
-		for (int i = 0; i < 8; i++) {
-			MenuItem mi = new MenuItem (menu, SWT.PUSH);
-			mi.setText ("Item" + i);
-			mi.addListener (SWT.Selection, new Listener () {
-				public void handleEvent (Event event) {
-					System.out.println("selection " + event.widget);
-				}
-			});
-			if (i == 0) menu.setDefaultItem(mi);
-		}
-		item.addListener (SWT.MenuDetect, new Listener () {
-			public void handleEvent (Event event) {
-				menu.setVisible (true);
-			}
-		});
-		item.setImage (image);
-	}
-	shell.setBounds(50, 50, 300, 200);
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	image.dispose ();
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet144.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet144.java
deleted file mode 100644
index a569625..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet144.java
+++ /dev/null
@@ -1,62 +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.swt.snippets;
-
-/*
- * Virtual Table example snippet: create a table with 1,000,000 items (lazy)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet144 {
-
-static final int COUNT = 1000000;
-
-public static void main(String[] args) {
-	Display display = new Display ();
-	final Shell shell = new Shell (display);
-	shell.setLayout (new RowLayout (SWT.VERTICAL));
-	final Table table = new Table (shell, SWT.VIRTUAL | SWT.BORDER);
-	table.addListener (SWT.SetData, new Listener () {
-		public void handleEvent (Event event) {
-			TableItem item = (TableItem) event.item;
-			int index = table.indexOf (item);
-			item.setText ("Item " + index);
-			System.out.println (item.getText ());
-		}
-	});
-	table.setLayoutData (new RowData (200, 200));
-	Button button = new Button (shell, SWT.PUSH);
-	button.setText ("Add Items");
-	final Label label = new Label(shell, SWT.NONE);
-	button.addListener (SWT.Selection, new Listener () {
-		public void handleEvent (Event event) {
-			long t1 = System.currentTimeMillis ();
-			table.setItemCount (COUNT);
-			long t2 = System.currentTimeMillis ();
-			label.setText ("Items: " + COUNT + ", Time: " + (t2 - t1) + " (ms)");
-			shell.layout ();
-		}
-	});
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet145.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet145.java
deleted file mode 100644
index 07c650f..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet145.java
+++ /dev/null
@@ -1,66 +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.swt.snippets;
-
-/*
- * TextLayout example snippet: draw internationalized styled text on a shell
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.graphics.*;
-
-public class Snippet145 {
-
-	public static void main(String[] args) {
-		Display display = new Display();
-		Shell shell = new Shell (display);
-		
-		Font font1 = new Font(display, "Tahoma", 14, SWT.BOLD);
-		Font font2 = new Font(display, "MS Mincho", 20, SWT.ITALIC);
-		Font font3 = new Font(display, "Arabic Transparent", 18, SWT.NORMAL);
-		
-		Color blue = display.getSystemColor(SWT.COLOR_BLUE);
-		Color green = display.getSystemColor(SWT.COLOR_GREEN);
-		Color yellow = display.getSystemColor(SWT.COLOR_YELLOW);
-		Color gray = display.getSystemColor(SWT.COLOR_GRAY);
-		
-		final TextLayout layout = new TextLayout(display);
-		TextStyle style1 = new TextStyle(font1, yellow, blue);
-		TextStyle style2 = new TextStyle(font2, green, null);
-		TextStyle style3 = new TextStyle(font3, blue, gray);
-		
-		layout.setText("English \u65E5\u672C\u8A9E  \u0627\u0644\u0639\u0631\u0628\u064A\u0651\u0629");
-		layout.setStyle(style1, 0, 6);
-		layout.setStyle(style2, 8, 10);
-		layout.setStyle(style3, 13, 21);
-					
-		shell.setBackground(display.getSystemColor(SWT.COLOR_WHITE));
-		shell.addListener(SWT.Paint, new Listener() {
-			public void handleEvent (Event event) {
-				layout.draw(event.gc, 10, 10);
-			}
-		});
-		shell.open();	
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch()) display.sleep();
-		}
-		font1.dispose();
-		font2.dispose();
-		font3.dispose();
-		layout.dispose();
-		display.dispose();
-	}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet146.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet146.java
deleted file mode 100644
index 2b229af..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet146.java
+++ /dev/null
@@ -1,72 +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.swt.snippets;
-  
-/*
- * UI Automation (for testing tools) snippet: post key events
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet146 {
-
-public static void main(String[] args) {
-	final Display display = new Display();
-	final Shell shell = new Shell(display);
-	final Text text = new Text(shell, SWT.BORDER);
-	text.setSize(text.computeSize(150, SWT.DEFAULT));
-	shell.pack();
-	shell.open();
-	new Thread(){
-		public void run(){
-			String string = "Love the method.";
-			for (int i = 0; i < string.length(); i++) {
-				char ch = string.charAt(i);
-				boolean shift = Character.isUpperCase(ch);
-				ch = Character.toLowerCase(ch);
-				if (shift) {
-					Event event = new Event();
-					event.type = SWT.KeyDown;
-					event.keyCode = SWT.SHIFT;
-					display.post(event);	
-				}
-				Event event = new Event();
-				event.type = SWT.KeyDown;
-				event.character = ch;
-				display.post(event);
-				try {
-					Thread.sleep(10);
-				} catch (InterruptedException e) {}
-				event.type = SWT.KeyUp;
-				display.post(event);
-				try {
-					Thread.sleep(100);
-				} catch (InterruptedException e) {}
-				if (shift) {
-					event = new Event();
-					event.type = SWT.KeyUp;
-					event.keyCode = SWT.SHIFT;
-					display.post(event);	
-				}
-			}
-		}	
-	}.start();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch()) display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet147.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet147.java
deleted file mode 100644
index 6b2be0a..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet147.java
+++ /dev/null
@@ -1,61 +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.swt.snippets;
-
-/*
- * Combo example snippet: stop CR from going to the default button
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet147  {
-public static void main(String[] args) {
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setLayout(new GridLayout());
-	Combo combo = new Combo(shell, SWT.NONE);
-	combo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-	combo.setText("Here is some text");
-	combo.addSelectionListener(new SelectionAdapter() {
-		public void widgetDefaultSelected(SelectionEvent e) {
-			System.out.println("Combo default selected (overrides default button)");
-		}
-	});
-	combo.addTraverseListener(new TraverseListener() {
-		public void keyTraversed(TraverseEvent e) {
-			if (e.detail == SWT.TRAVERSE_RETURN) {
-				e.doit = false;
-				e.detail = SWT.TRAVERSE_NONE;
-			}
-		}
-	});
-	Button button = new Button(shell, SWT.PUSH);
-	button.setText("Ok");
-	button.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			System.out.println("Button selected");
-		}
-	});
-	shell.setDefaultButton(button);
-	shell.pack();
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet148.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet148.java
deleted file mode 100644
index d395c28..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet148.java
+++ /dev/null
@@ -1,57 +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.swt.snippets;
- 
-/*
- * Text example snippet: check if the browser is available or not
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.browser.*;
-
-public class Snippet148 {
-
-	public static void main(String[] args) {
-		final Display display = new Display();
-		Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		Browser browser = null;
-		try {
-			browser = new Browser(shell, SWT.NONE);
-		} catch (SWTError e) {
-			/* The Browser widget throws an SWTError if it fails to
-			 * instantiate properly. Application code should catch
-			 * this SWTError and disable any feature requiring the
-			 * Browser widget.
-			 * Platform requirements for the SWT Browser widget are available
-			 * from the SWT FAQ website. 
-			 */
-		}
-		if (browser != null) {
-			/* The Browser widget can be used */
-			browser.setUrl("http://www.eclipse.org");
-		}
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		display.dispose();
-	}
-}
-
-
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet149.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet149.java
deleted file mode 100644
index ed36315..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet149.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.swt.snippets;
-
-/*
- * TableEditor example snippet: place a progress bar in a table
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.custom.*;
-
-public class Snippet149 {
-	public static void main(String[] args) {
-		Display display = new Display();
-		Shell shell = new Shell(display);
-		shell.setLayout (new FillLayout ());
-		Table table = new Table (shell, SWT.BORDER);
-		table.setHeaderVisible (true);
-		table.setLinesVisible(true);
-		for (int i=0; i<2; i++) {
-			new TableColumn (table, SWT.NONE);
-		}
-		table.getColumn (0).setText ("Task");
-		table.getColumn (1).setText ("Progress");
-		for (int i=0; i<40; i++) {
-			TableItem item = new TableItem (table, SWT.NONE);
-			item.setText ("Task " + i);
-			if ( i % 5 == 0) {
-				ProgressBar bar = new ProgressBar (table, SWT.NONE);
-				bar.setSelection (i);
-				TableEditor editor = new TableEditor (table);
-				editor.grabHorizontal = editor.grabVertical = true;
-				editor.setEditor (bar, item, 1);
-			}
-		}
-		table.getColumn (0).pack ();
-		table.getColumn (1).setWidth (128);
-		shell.pack ();
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch()) {
-				display.sleep();
-			}
-		}
-		display.dispose();
-	}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet15.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet15.java
deleted file mode 100644
index eafedc7..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet15.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
- 
-/*
- * Tree example snippet: create a tree
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet15 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setLayout(new FillLayout());
-	final Tree tree = new Tree (shell, SWT.BORDER);
-	for (int i=0; i<4; i++) {
-		TreeItem iItem = new TreeItem (tree, 0);
-		iItem.setText ("TreeItem (0) -" + i);
-		for (int j=0; j<4; j++) {
-			TreeItem jItem = new TreeItem (iItem, 0);
-			jItem.setText ("TreeItem (1) -" + j);
-			for (int k=0; k<4; k++) {
-				TreeItem kItem = new TreeItem (jItem, 0);
-				kItem.setText ("TreeItem (2) -" + k);
-				for (int l=0; l<4; l++) {
-					TreeItem lItem = new TreeItem (kItem, 0);
-					lItem.setText ("TreeItem (3) -" + l);
-				}
-			}
-		}
-	}
-	shell.setSize (200, 200);
-	shell.open ();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet150.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet150.java
deleted file mode 100644
index 53f12f0..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet150.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * CoolBar example snippet: create a coolbar (relayout when resized)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet150 {
-
-static int itemCount;
-static CoolItem createItem(CoolBar coolBar, int count) {
-    ToolBar toolBar = new ToolBar(coolBar, SWT.FLAT);
-    for (int i = 0; i < count; i++) {
-        ToolItem item = new ToolItem(toolBar, SWT.PUSH);
-        item.setText(itemCount++ +"");
-    }
-    toolBar.pack();
-    Point size = toolBar.getSize();
-    CoolItem item = new CoolItem(coolBar, SWT.NONE);
-    item.setControl(toolBar);
-    Point preferred = item.computeSize(size.x, size.y);
-    item.setPreferredSize(preferred);
-    return item;
-}
-
-public static void main(String[] args) {
-    Display display = new Display();
-    final Shell shell = new Shell(display);
-    CoolBar coolBar = new CoolBar(shell, SWT.NONE);
-    createItem(coolBar, 3);
-    createItem(coolBar, 2);
-    createItem(coolBar, 3);
-    createItem(coolBar, 4);
-    int style = SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL;
-    Text text = new Text(shell, style);
-    FormLayout layout = new FormLayout();
-    shell.setLayout(layout);
-    FormData coolData = new FormData();
-    coolData.left = new FormAttachment(0);
-    coolData.right = new FormAttachment(100);
-    coolData.top = new FormAttachment(0);
-    coolBar.setLayoutData(coolData);
-    coolBar.addListener(SWT.Resize, new Listener() {
-        public void handleEvent(Event event) {
-            shell.layout();
-        }
-    });
-    FormData textData = new FormData();
-    textData.left = new FormAttachment(0);
-    textData.right = new FormAttachment(100);
-    textData.top = new FormAttachment(coolBar);
-    textData.bottom = new FormAttachment(100);
-    text.setLayoutData(textData);
-    shell.open();
-    while (!shell.isDisposed()) {
-        if (!display.readAndDispatch()) display.sleep();
-    }
-    display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet151.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet151.java
deleted file mode 100644
index f9ab2de..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet151.java
+++ /dev/null
@@ -1,76 +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.swt.snippets;
-
-/*
- * Create a virtual table and add 1000 entries to it every 500 ms.
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */
-import java.util.*;
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet151 {
-
-static int[] data = new int[0];
-
-public static void main (String [] args) {
-	final Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setLayout(new FillLayout());
-	final Table table = new Table(shell, SWT.BORDER | SWT.VIRTUAL);
-	table.addListener(SWT.SetData, new Listener() {
-		public void handleEvent(Event e) {
-			TableItem item = (TableItem)e.item;
-			int index = table.indexOf(item);
-			item.setText("Item "+data[index]);
-		}
-	});
-	Thread thread = new Thread() {
-		public void run() {
-			int count = 0;
-			Random random = new Random();
-			while (count++ < 500) {
-				if (table.isDisposed()) return;
-				// add 10 random numbers to array and sort
-				int grow = 10;
-				int[] newData = new int[data.length + grow];
-				System.arraycopy(data, 0, newData, 0, data.length);
-				int index = data.length;
-				data = newData;
-				for (int j = 0; j < grow; j++) {
-					data[index++] = random.nextInt();
-				}
-				Arrays.sort(data);
-				display.syncExec(new Runnable() {
-					public void run() {
-						if (table.isDisposed()) return;
-						table.setItemCount(data.length);
-						table.clearAll();
-					}
-				});
-				try {Thread.sleep(500);} catch (Throwable t) {}
-			}
-		}
-	};
-	thread.start();
-	shell.open ();
-	while (!shell.isDisposed() || thread.isAlive()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet152.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet152.java
deleted file mode 100644
index 96a2d52..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet152.java
+++ /dev/null
@@ -1,97 +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.swt.snippets;
-
-/*
- * Control example snippet: update a status line when an item is armed
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet152 {
-
-public static void main(String[] args) {
-    Display display = new Display();
-    Shell shell = new Shell(display);
-    FormLayout layout = new FormLayout();
-    shell.setLayout(layout);
-    final Label label = new Label(shell, SWT.BORDER);
-    Listener armListener = new Listener() {
-        public void handleEvent(Event event) {
-            MenuItem item = (MenuItem) event.widget;
-            label.setText(item.getText());
-            label.update();
-        }
-    };
-    Listener showListener = new Listener() {
-        public void handleEvent(Event event) {
-            Menu menu = (Menu) event.widget;
-            MenuItem item = menu.getParentItem();
-            if (item != null) {
-                label.setText(item.getText());
-                label.update();
-            }
-        }
-    };
-    Listener hideListener = new Listener() {
-        public void handleEvent(Event event) {
-            label.setText("");
-            label.update();
-        }
-    };
-    FormData labelData = new FormData();
-    labelData.left = new FormAttachment(0);
-    labelData.right = new FormAttachment(100);
-    labelData.bottom = new FormAttachment(100);
-    label.setLayoutData(labelData);
-    Menu menuBar = new Menu(shell, SWT.BAR);
-    shell.setMenuBar(menuBar);
-    MenuItem fileItem = new MenuItem(menuBar, SWT.CASCADE);
-    fileItem.setText("File");
-    fileItem.addListener(SWT.Arm, armListener);
-    MenuItem editItem = new MenuItem(menuBar, SWT.CASCADE);
-    editItem.setText("Edit");
-    editItem.addListener(SWT.Arm, armListener);
-    Menu fileMenu = new Menu(shell, SWT.DROP_DOWN);
-    fileMenu.addListener(SWT.Hide, hideListener);
-    fileMenu.addListener(SWT.Show, showListener);
-    fileItem.setMenu(fileMenu);
-    String[] fileStrings = { "New", "Close", "Exit" };
-    for (int i = 0; i < fileStrings.length; i++) {
-        MenuItem item = new MenuItem(fileMenu, SWT.PUSH);
-        item.setText(fileStrings[i]);
-        item.addListener(SWT.Arm, armListener);
-    }
-    Menu editMenu = new Menu(shell, SWT.DROP_DOWN);
-    editMenu.addListener(SWT.Hide, hideListener);
-    editMenu.addListener(SWT.Show, showListener);
-    String[] editStrings = { "Cut", "Copy", "Paste" };
-    editItem.setMenu(editMenu);
-    for (int i = 0; i < editStrings.length; i++) {
-        MenuItem item = new MenuItem(editMenu, SWT.PUSH);
-        item.setText(editStrings[i]);
-        item.addListener(SWT.Arm, armListener);
-    }
-    shell.open();
-    while (!shell.isDisposed()) {
-        if (!display.readAndDispatch()) display.sleep();
-    }
-    display.dispose();
-}
-
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet153.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet153.java
deleted file mode 100644
index 5b6862f..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet153.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * ToolBar example snippet: update a status line when the pointer enters a ToolItem
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet153 {
-	
-static String statusText = "";
-public static void main(String[] args) {
-    final Display display = new Display();
-    Shell shell = new Shell(display);
-    shell.setBounds(10, 10, 200, 200);
-    final ToolBar bar = new ToolBar(shell, SWT.BORDER);
-    bar.setBounds(10, 10, 150, 50);
-    final Label statusLine = new Label(shell, SWT.BORDER);
-    statusLine.setBounds(10, 90, 150, 30);
-    new ToolItem(bar, SWT.NONE).setText("item 1");
-    new ToolItem(bar, SWT.NONE).setText("item 2");
-    new ToolItem(bar, SWT.NONE).setText("item 3");
-    bar.addMouseMoveListener(new MouseMoveListener() {
-        public void mouseMove(MouseEvent e) {
-            ToolItem item = bar.getItem(new Point(e.x, e.y));
-            String name = "";
-            if (item != null) {
-                name = item.getText();
-            }
-            if (!statusText.equals(name)) {
-                statusLine.setText(name);
-                statusText = name;
-            }
-        }
-    });
-    shell.open();
-    while (!shell.isDisposed()) {
-        if (!display.readAndDispatch()) display.sleep();
-    }
-    display.dispose();
-}
-
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet154.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet154.java
deleted file mode 100644
index f997ca0..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet154.java
+++ /dev/null
@@ -1,91 +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.swt.snippets;
- 
-/*
- * example snippet: embed a JTable in SWT (no flicker)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */
-import java.awt.BorderLayout;
-import java.awt.Frame;
-import java.awt.Panel;
-import javax.swing.*;
-import java.util.Vector;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.awt.SWT_AWT;
-
-public class Snippet154 {
-
-	public static void main(String[] args) {
-		final Display display = new Display();
-		final Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-
-		Composite composite = new Composite(shell, SWT.NO_BACKGROUND | SWT.EMBEDDED);
-		
-		/*
-		* Set a Windows specific AWT property that prevents heavyweight
-		* components from erasing their background. Note that this
-		* is a global property and cannot be scoped. It might not be
-		* suitable for your application.
-		*/
-		try {
-			System.setProperty("sun.awt.noerasebackground","true");
-		} catch (NoSuchMethodError error) {}
-
-		/* Create and setting up frame */
-		Frame frame = SWT_AWT.new_Frame(composite);
-		Panel panel = new Panel(new BorderLayout()) {
-			public void update(java.awt.Graphics g) {
-				/* Do not erase the background */ 
-				paint(g);
-			}
-		};
-		frame.add(panel);
-		JRootPane root = new JRootPane();
-		panel.add(root);
-		java.awt.Container contentPane = root.getContentPane();
-
-		/* Creating components */
-		int nrows = 1000, ncolumns = 10;
-		Vector rows = new Vector();
-		for (int i = 0; i < nrows; i++) {
-			Vector row = new Vector();
-			for (int j = 0; j < ncolumns; j++) {
-				row.addElement("Item " + i + "-" + j);
-			}
-			rows.addElement(row);
-		}
-		Vector columns = new Vector();
-		for (int i = 0; i < ncolumns; i++) {
-			columns.addElement("Column " + i);
-		}
-		JTable table = new JTable(rows, columns);
-		table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
-		table.createDefaultColumnsFromModel();
-		JScrollPane scrollPane = new JScrollPane(table);
-		contentPane.setLayout(new BorderLayout());
-		contentPane.add(scrollPane);
-		
-		shell.open();
-		while(!shell.isDisposed()) {
-			if (!display.readAndDispatch()) display.sleep();
-		}
-		display.dispose();
-	}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet155.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet155.java
deleted file mode 100644
index 1b3d8ed..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet155.java
+++ /dev/null
@@ -1,56 +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.swt.snippets;
-
-/*
- * example snippet: draw an X using AWT Graphics
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */
-import java.awt.Frame;
-import java.awt.Canvas;
-import java.awt.Graphics;
-import java.awt.Dimension;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.awt.SWT_AWT;
-
-public class Snippet155 {
-
-	public static void main(String[] args) {
-		final Display display = new Display();
-		final Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		Composite composite = new Composite(shell, SWT.EMBEDDED);
-		
-		/* Draw an X using AWT */
-		Frame frame = SWT_AWT.new_Frame(composite);
-		Canvas canvas = new Canvas() {
-			public void paint (Graphics g) {
-				Dimension d = getSize();
-				g.drawLine(0, 0, d.width, d.height);
-				g.drawLine(d.width, 0, 0, d.height);
-			}
-		};
-		frame.add(canvas);
-
-		shell.open();
-		while(!shell.isDisposed()) {
-			if (!display.readAndDispatch()) display.sleep();
-		}
-		display.dispose();
-	}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet156.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet156.java
deleted file mode 100644
index 9710946..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet156.java
+++ /dev/null
@@ -1,201 +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.swt.snippets;
-
-/*
- * example snippet: convert between SWT Image and AWT BufferedImage
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import java.awt.Frame;
-import java.awt.Graphics;
-import java.awt.Insets;
-import java.awt.image.BufferedImage;
-import java.awt.image.ColorModel;
-import java.awt.image.DirectColorModel;
-import java.awt.image.IndexColorModel;
-import java.awt.image.WritableRaster;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.graphics.*;
-
-public class Snippet156 {
-	
-static BufferedImage convertToAWT(ImageData data) {
-	ColorModel colorModel = null;
-	PaletteData palette = data.palette;
-	if (palette.isDirect) {
-		colorModel = new DirectColorModel(data.depth, palette.redMask, palette.greenMask, palette.blueMask);
-		BufferedImage bufferedImage = new BufferedImage(colorModel, colorModel.createCompatibleWritableRaster(data.width, data.height), false, null);
-		WritableRaster raster = bufferedImage.getRaster();
-		int[] pixelArray = new int[3];
-		for (int y = 0; y < data.height; y++) {
-			for (int x = 0; x < data.width; x++) {
-				int pixel = data.getPixel(x, y);
-				RGB rgb = palette.getRGB(pixel);
-				pixelArray[0] = rgb.red;
-				pixelArray[1] = rgb.green;
-				pixelArray[2] = rgb.blue;
-				raster.setPixels(x, y, 1, 1, pixelArray);
-			}
-		}
-		return bufferedImage;
-	} else {
-		RGB[] rgbs = palette.getRGBs();
-		byte[] red = new byte[rgbs.length];
-		byte[] green = new byte[rgbs.length];
-		byte[] blue = new byte[rgbs.length];
-		for (int i = 0; i < rgbs.length; i++) {
-			RGB rgb = rgbs[i];
-			red[i] = (byte)rgb.red;
-			green[i] = (byte)rgb.green;
-			blue[i] = (byte)rgb.blue;
-		}
-		if (data.transparentPixel != -1) {
-			colorModel = new IndexColorModel(data.depth, rgbs.length, red, green, blue, data.transparentPixel);
-		} else {
-			colorModel = new IndexColorModel(data.depth, rgbs.length, red, green, blue);
-		}		
-		BufferedImage bufferedImage = new BufferedImage(colorModel, colorModel.createCompatibleWritableRaster(data.width, data.height), false, null);
-		WritableRaster raster = bufferedImage.getRaster();
-		int[] pixelArray = new int[1];
-		for (int y = 0; y < data.height; y++) {
-			for (int x = 0; x < data.width; x++) {
-				int pixel = data.getPixel(x, y);
-				pixelArray[0] = pixel;
-				raster.setPixel(x, y, pixelArray);
-			}
-		}
-		return bufferedImage;
-	}
-}
-
-static ImageData convertToSWT(BufferedImage bufferedImage) {
-	if (bufferedImage.getColorModel() instanceof DirectColorModel) {
-		DirectColorModel colorModel = (DirectColorModel)bufferedImage.getColorModel();
-		PaletteData palette = new PaletteData(colorModel.getRedMask(), colorModel.getGreenMask(), colorModel.getBlueMask());
-		ImageData data = new ImageData(bufferedImage.getWidth(), bufferedImage.getHeight(), colorModel.getPixelSize(), palette);
-		WritableRaster raster = bufferedImage.getRaster();
-		int[] pixelArray = new int[3];
-		for (int y = 0; y < data.height; y++) {
-			for (int x = 0; x < data.width; x++) {
-				raster.getPixel(x, y, pixelArray);
-				int pixel = palette.getPixel(new RGB(pixelArray[0], pixelArray[1], pixelArray[2]));
-				data.setPixel(x, y, pixel);
-			}
-		}		
-		return data;		
-	} else if (bufferedImage.getColorModel() instanceof IndexColorModel) {
-		IndexColorModel colorModel = (IndexColorModel)bufferedImage.getColorModel();
-		int size = colorModel.getMapSize();
-		byte[] reds = new byte[size];
-		byte[] greens = new byte[size];
-		byte[] blues = new byte[size];
-		colorModel.getReds(reds);
-		colorModel.getGreens(greens);
-		colorModel.getBlues(blues);
-		RGB[] rgbs = new RGB[size];
-		for (int i = 0; i < rgbs.length; i++) {
-			rgbs[i] = new RGB(reds[i] & 0xFF, greens[i] & 0xFF, blues[i] & 0xFF);
-		}
-		PaletteData palette = new PaletteData(rgbs);
-		ImageData data = new ImageData(bufferedImage.getWidth(), bufferedImage.getHeight(), colorModel.getPixelSize(), palette);
-		data.transparentPixel = colorModel.getTransparentPixel();
-		WritableRaster raster = bufferedImage.getRaster();
-		int[] pixelArray = new int[1];
-		for (int y = 0; y < data.height; y++) {
-			for (int x = 0; x < data.width; x++) {
-				raster.getPixel(x, y, pixelArray);
-				data.setPixel(x, y, pixelArray[0]);
-			}
-		}
-		return data;
-	}
-	return null;
-}
-
-static ImageData createSampleImage(Display display) {
-	Image image = new Image(display, 100, 100);
-	Rectangle bounds = image.getBounds();
-	GC gc = new GC(image);
-	gc.setBackground(display.getSystemColor(SWT.COLOR_BLUE));
-	gc.fillRectangle(bounds);
-	gc.setBackground(display.getSystemColor(SWT.COLOR_GREEN));
-	gc.fillOval(0, 0, bounds.width, bounds.height);
-	gc.setForeground(display.getSystemColor(SWT.COLOR_RED));
-	gc.drawLine(0, 0, bounds.width, bounds.height);
-	gc.drawLine(bounds.width, 0, 0, bounds.height);
-	gc.dispose();
-	ImageData data = image.getImageData();
-	image.dispose();
-	return data;
-}
-
-public static void main(String[] args) {
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setText("SWT Image");
-	ImageData data;
-	if (args.length > 0) {
-		String fileName = args[0];
-		data = new ImageData(fileName);
-	} else {
-		data = createSampleImage(display);
-	}
-	final Image swtImage = new Image(display, data);
-	final BufferedImage awtImage = convertToAWT(data);
-	final Image swtImage2 = new Image(display, convertToSWT(awtImage));
-	shell.addListener(SWT.Paint, new Listener() {
-		public void handleEvent(Event e) {
-			int y = 10;
-			if (swtImage != null) {
-				e.gc.drawImage(swtImage, 10, y);
-				y += swtImage.getBounds().height + 10;
-			}
-			if (swtImage2 != null) {
-				e.gc.drawImage(swtImage2, 10, y);
-			}
-		}
-	});
-	Frame frame = new Frame() {
-		public void paint(Graphics g) {
-			Insets insets = getInsets();
-			if (awtImage != null) {
-				g.drawImage(awtImage, 10 + insets.left, 10 + insets.top, null);
-			}
-		}
-	};
-	frame.setTitle("AWT Image");
-	shell.setLocation(50, 50);
-	Rectangle bounds = swtImage.getBounds();
-	shell.setSize(bounds.width + 50, bounds.height * 2 + 100);
-	Point size = shell.getSize();
-	Point location = shell.getLocation();
-	Insets insets = frame.getInsets();
-	frame.setLocation(location.x + size.x + 10, location.y);
-	frame.setSize(size.x - (insets.left + insets.right), size.y - (insets.top + insets.bottom));
-	frame.setVisible(true);	
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch()) display.sleep();
-	}
-	if (swtImage != null) swtImage.dispose();
-	if (swtImage2 != null) swtImage.dispose();
-	frame.dispose();
-	display.dispose();
-	/* Note: If you are using JDK 1.3.x, you need to use System.exit(0) at the end of your program to exit AWT.
-	 * This is because in 1.3.x, AWT does not exit when the frame is disposed, because the AWT thread is not a daemon.
-	 * This was fixed in JDK 1.4.x with the addition of the AWT Shutdown thread.
-	 */
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet157.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet157.java
deleted file mode 100644
index de1cdf5..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet157.java
+++ /dev/null
@@ -1,73 +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.swt.snippets;
-
-/*
- * example snippet: Embed Word in an applet (win32 only)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */
-	
-import java.applet.*;
-	 
-public class Snippet157 extends Applet {
-	
-	org.eclipse.swt.widgets.Display display;
-	org.eclipse.swt.widgets.Shell swtParent;
-	java.awt.Canvas awtParent;
-
-public void init () {
-	Thread thread = new Thread (new Runnable () {
-		public void run () {
-			setLayout(new java.awt.GridLayout (1, 1));
-			awtParent = new java.awt.Canvas ();
-			add (awtParent);
-			display = new org.eclipse.swt.widgets.Display ();
-			swtParent = org.eclipse.swt.awt.SWT_AWT.new_Shell (display, awtParent);
-			swtParent.setLayout (new org.eclipse.swt.layout.FillLayout ());
-			org.eclipse.swt.ole.win32.OleFrame frame = new org.eclipse.swt.ole.win32.OleFrame (swtParent, org.eclipse.swt.SWT.NONE);
-			org.eclipse.swt.ole.win32.OleClientSite site;
-			try {
-				site = new org.eclipse.swt.ole.win32.OleClientSite (frame, org.eclipse.swt.SWT.NONE, "Word.Document");
-			} catch (org.eclipse.swt.SWTException e) {
-				String str = "Create OleClientSite Error" + e.toString ();
-				System.out.println (str);
-				return;
-			}
-			setSize (500, 500);
-			validate ();
-			site.doVerb (org.eclipse.swt.ole.win32.OLE.OLEIVERB_SHOW);
-			
-			while (swtParent != null && !swtParent.isDisposed ()) {
-				if (!display.readAndDispatch ()) display.sleep ();		
-			}	
-		}
-	});
-	thread.start ();
-}
- public void stop (){
- 	if (display != null && !display.isDisposed ()){
- 		display.syncExec(new Runnable () {
- 			public void run () {
- 				if (swtParent != null && !swtParent.isDisposed ()) swtParent.dispose ();
- 				swtParent = null;
- 				display.dispose ();
- 				display = null;
- 			}
- 		});
- 		remove (awtParent);
- 		awtParent = null;
- 	}
- }
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet158.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet158.java
deleted file mode 100644
index 2379fdf..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet158.java
+++ /dev/null
@@ -1,127 +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.swt.snippets;
- 
-/*
- * Drag and Drop example snippet: determine native data types available (motif only)
- * NOTE: This snippet uses internal SWT packages that are
- * subject to change without notice.
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.dnd.*;
-import org.eclipse.swt.internal.*;
-import org.eclipse.swt.internal.motif.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet158 extends ByteArrayTransfer {
-
-private static Snippet158 _instance = new Snippet158();
-private int[] ids;
-private String[] names;
-	
-public static void main(String[] args) {
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setLayout(new FillLayout());
-	final Table control = new Table(shell, SWT.NONE);
-	TableItem item = new TableItem(control, SWT.NONE);
-	item.setText("Drag data over this site to see the native transfer type.");
-	DropTarget target = new DropTarget(control, DND.DROP_DEFAULT | DND.DROP_COPY | DND.DROP_LINK | DND.DROP_MOVE);
-	target.setTransfer(new Transfer[] {Snippet158.getInstance()});
-	target.addDropListener(new DropTargetAdapter() {
-		public void dragEnter(DropTargetEvent event) {			
-			String ops = "";
-			if ((event.operations & DND.DROP_COPY) != 0) ops += "Copy;";
-			if ((event.operations & DND.DROP_MOVE) != 0) ops += "Move;";
-			if ((event.operations & DND.DROP_LINK) != 0) ops += "Link;";
-			control.removeAll();
-			TableItem item1 = new TableItem(control,SWT.NONE);
-			item1.setText("Allowed Operations are "+ops);
-			
-			if (event.detail == DND.DROP_DEFAULT) {
-				if ((event.operations & DND.DROP_COPY) != 0) {
-					event.detail = DND.DROP_COPY;
-				} else if ((event.operations & DND.DROP_LINK) != 0) {
-					event.detail = DND.DROP_LINK;
-				} else if ((event.operations & DND.DROP_MOVE) != 0) {
-					event.detail = DND.DROP_MOVE;
-				}
-			}
-			
-			TransferData[] data = event.dataTypes;
-			for (int i = 0; i < data.length; i++) {
-				int id = data[i].type;
-				String name = getNameFromId(id);
-				TableItem item2 = new TableItem(control,SWT.NONE);
-				item2.setText("Data type is "+id+" "+name);
-			}
-		}
-	});
-	
-	shell.setSize(400, 400);
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	display.dispose();
-}
-
-public static Snippet158 getInstance () {
-	return _instance;
-}
-Snippet158() {
-}
-public void javaToNative (Object object, TransferData transferData) {
-}
-public Object nativeToJava(TransferData transferData){
-	return "Hello World";
-}
-protected String[] getTypeNames(){
-	return names;
-}
-static int shellHandle;
-protected int[] getTypeIds(){
-	if (ids == null) {
-		Display display = Display.getCurrent();
-		int widgetClass = OS.topLevelShellWidgetClass ();
-		shellHandle = OS.XtAppCreateShell (null, null, widgetClass, display.xDisplay, null, 0);
-		OS.XtSetMappedWhenManaged (shellHandle, false);
-		OS.XtRealizeWidget (shellHandle);
-		
-		ids = new int[840];
-		names = new String[840];
-		for (int i = 0; i < ids.length; i++) {
-			ids[i] = i+i;
-			names[i] = getNameFromId(i+1);
-		}
-	}
-	return ids;
-}
-static String getNameFromId(int id) {
-	int xDisplay = OS.XtDisplay (shellHandle);
-	int ptr = 0;
-	try {
-		ptr = OS.XmGetAtomName(xDisplay, id);
-	} catch (Throwable t) {
-	}
-	if (ptr == 0) return "invalid "+id;
-	int length = OS.strlen(ptr);
-	byte[] nameBuf = new byte[length];
-	OS.memmove(nameBuf, ptr, length);
-	OS.XFree(ptr);
-	return new String(Converter.mbcsToWcs(null, nameBuf)).toLowerCase();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet159.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet159.java
deleted file mode 100644
index a1932bc..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet159.java
+++ /dev/null
@@ -1,68 +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.swt.snippets;
-
-/*
- * Browser example snippet: modify HTML title tag
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.1
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.browser.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet159 {
-	public static void main(String [] args) {
-		final String newTitle = "New Value for Title";
-		Display display = new Display();
-		final Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		final Browser browser;
-		try {
-			browser = new Browser(shell, SWT.NONE);
-		} catch (SWTError e) {
-			System.out.println("Could not instantiate Browser: " + e.getMessage());
-			return;
-		}
-		browser.addTitleListener(new TitleListener() {
-			public void changed(TitleEvent event) {
-				System.out.println("TitleEvent: "+event.title);
-				shell.setText(event.title);
-			}
-		});
-		browser.addProgressListener(new ProgressListener() {
-			public void changed(ProgressEvent event) {
-			}
-			public void completed(ProgressEvent event) {
-				/* Set HTML title tag using JavaScript and DOM when page has been loaded */
-				boolean result = browser.execute("document.title='"+newTitle+"'");
-				if (!result) {
-					/* Script may fail or may not be supported on certain platforms. */
-					System.out.println("Script was not executed.");
-				}
-			}
-		});
-		/* Load an HTML document */
-		browser.setUrl("http://www.eclipse.org");
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		display.dispose();
-	}
-}
-
-
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet16.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet16.java
deleted file mode 100644
index 7c6ca33..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet16.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
- 
-/*
- * Display example snippet: create one repeating timer (every 500 ms)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet16 {
-
-public static void main (String [] args) {
-	final Display display = new Display ();
-	final Shell shell = new Shell (display);
-	final int time = 500;
-	Runnable timer = new Runnable () {
-		public void run () {
-			Point point = display.getCursorLocation ();
-			Rectangle rect = shell.getBounds ();
-			if (rect.contains (point)) {
-				System.out.println ("In");
-			} else {
-				System.out.println ("Out");
-			}
-			display.timerExec (time, this);
-		}
-	};
-	display.timerExec (time, timer);
-	shell.setSize (200, 200);
-	shell.open ();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();	
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet160.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet160.java
deleted file mode 100644
index 4f5ba2b..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet160.java
+++ /dev/null
@@ -1,76 +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.swt.snippets;
-
-/*
- * Browser example snippet: query DOM node value
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.1
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.browser.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet160 {
-	public static void main(String [] args) {
-		final String html = "<html><title>Snippet</title><body><p id='myid'>Best Friends</p><p id='myid2'>Cat and Dog</p></body></html>";
-		Display display = new Display();
-		final Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		final Browser browser;
-		try {
-			browser = new Browser(shell, SWT.NONE);
-		} catch (SWTError e) {
-			System.out.println("Could not instantiate Browser: " + e.getMessage());
-			return;
-		}
-		browser.addStatusTextListener(new StatusTextListener() {
-			public void changed(StatusTextEvent event) {
-				browser.setData("query", event.text);
-			}
-		});
-		browser.addProgressListener(new ProgressListener() {
-			public void changed(ProgressEvent event) {
-			}
-			public void completed(ProgressEvent event) {
-				/* 
-				 * Use JavaScript to query the desired node content through the Document Object Model
-				 * 
-				 * Assign result to the window property status to pass the result to the StatusTextListener
-				 * This trick is required since <code>execute</code> does not return the <code>String</code>
-				 * directly.
-				 */
-				boolean result = browser.execute("window.status=document.getElementById('myid').childNodes[0].nodeValue;");
-				if (!result) {
-					/* Script may fail or may not be supported on certain platforms. */
-					System.out.println("Script was not executed.");
-					return;
-				}
-				String value = (String)browser.getData("query");
-				System.out.println("Node value: "+value);
-			}
-		});
-		/* Load an HTML document */
-		browser.setText(html);
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		display.dispose();
-	}
-}
-
-
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet161.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet161.java
deleted file mode 100644
index 9a43d89..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet161.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.swt.snippets;
-
-/*
- * Browser example snippet: modify DOM (executing javascript)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.1
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.browser.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet161 {
-	public static void main(String [] args) {
-		final String html = "<html><title>Snippet</title><body><p id='myid'>Best Friends</p><p id='myid2'>Cat and Dog</p></body></html>";
-		Display display = new Display();
-		final Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		final Browser browser;
-		try {
-			browser = new Browser(shell, SWT.BORDER);
-		} catch (SWTError e) {
-			System.out.println("Could not instantiate Browser: " + e.getMessage());
-			return;
-		}
-		Composite comp = new Composite(shell, SWT.NONE);
-		comp.setLayout(new FillLayout(SWT.VERTICAL));
-		final Text text = new Text(comp, SWT.MULTI);
-		text.setText("var newNode = document.createElement('P'); \r\n"+
-				"var text = document.createTextNode('At least when I am around');\r\n"+
-				"newNode.appendChild(text);\r\n"+
-				"document.getElementById('myid').appendChild(newNode);\r\n"+
-				"\r\n"+
-				"document.bgColor='yellow';");
-		final Button button = new Button(comp, SWT.PUSH);
-		button.setText("Execute Script");
-		button.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event event) {
-				boolean result = browser.execute(text.getText());
-				if (!result) {
-					/* Script may fail or may not be supported on certain platforms. */
-					System.out.println("Script was not executed.");
-				}
-			}
-		});
-		browser.setText(html);
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		display.dispose();
-	}
-}
-
-
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet162.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet162.java
deleted file mode 100644
index 92d286a..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet162.java
+++ /dev/null
@@ -1,132 +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.swt.snippets;
-
-/*
- * Adding an accessible listener to provide state information
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.accessibility.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet162 {
-
-final static String STATE = "CheckedIndices";
-
-public static void main (String [] args) {
-	final Display display = new Display ();
-	Image checkedImage = getCheckedImage (display);
-	Image uncheckedImage = getUncheckedImage (display);
-	Shell shell = new Shell (display);
-	shell.setLayout (new FillLayout ());
-	final Table table = new Table (shell, SWT.BORDER);
-	TableColumn column1 = new TableColumn (table, SWT.NONE);
-	TableColumn column2 = new TableColumn (table, SWT.NONE);
-	TableColumn column3 = new TableColumn (table, SWT.NONE);
-	TableItem item1 = new TableItem (table, SWT.NONE);
-	item1.setText (new String [] {"first item", "a", "b"});
-	item1.setImage (1, uncheckedImage);
-	item1.setImage (2, uncheckedImage);
-	item1.setData (STATE, null);
-	TableItem item2 = new TableItem (table, SWT.NONE);
-	item2.setText (new String [] {"second item", "c", "d"});
-	item2.setImage (1, uncheckedImage);
-	item2.setImage (2, checkedImage);
-	item2.setData (STATE, new int [] {2});
-	TableItem item3 = new TableItem (table, SWT.NONE);
-	item3.setText (new String [] {"third", "e", "f"});
-	item3.setImage (1, checkedImage);
-	item3.setImage (2, checkedImage);
-	item3.setData (STATE, new int [] {1, 2});
-	column1.pack ();
-	column2.pack ();
-	column3.pack ();
-	Accessible accessible = table.getAccessible ();
-	accessible.addAccessibleListener (new AccessibleAdapter () {
-		public void getName (AccessibleEvent e) {
-			super.getName (e);
-			if (e.childID >= 0 && e.childID < table.getItemCount ()) {
-				TableItem item = table.getItem (e.childID);
-				Point pt = display.getCursorLocation ();
-				pt = display.map (null, table, pt);
-				for (int i = 0; i < table.getColumnCount (); i++) {
-					if (item.getBounds (i).contains (pt)) {
-						int [] data = (int []) item.getData (STATE);
-						boolean checked = false;
-						if (data != null) {
-							for (int j = 0; j < data.length; j++) {
-								if (data [j] == i) {
-									checked = true;
-									break;
-								}
-							}
-						}
-						e.result = item.getText (i) + " " + (checked ? "checked" : "unchecked");
-						break;
-					}
-				}
-			}
-		}
-	});
-	accessible.addAccessibleControlListener (new AccessibleControlAdapter () {
-		public void getState (AccessibleControlEvent e) {
-			super.getState (e);
-			if (e.childID >= 0 && e.childID < table.getItemCount ()) {
-				TableItem item = table.getItem (e.childID);
-				int [] data = (int []) item.getData (STATE);
-				if (data != null) {
-					Point pt = display.getCursorLocation ();
-					pt = display.map (null, table, pt);
-					for (int i = 0; i < data.length; i++) {
-						if (item.getBounds (data [i]).contains (pt)) {
-							e.detail |= ACC.STATE_CHECKED;
-							break;
-						}
-					}
-				}
-			}
-		}
-	});
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	checkedImage.dispose ();
-	uncheckedImage.dispose ();
-	display.dispose ();
-}
-
-static Image getCheckedImage (Display display) {
-	Image image = new Image (display, 16, 16);
-	GC gc = new GC (image);
-	gc.setBackground (display.getSystemColor (SWT.COLOR_YELLOW));
-	gc.fillOval (0, 0, 16, 16);
-	gc.setForeground (display.getSystemColor (SWT.COLOR_DARK_GREEN));
-	gc.drawLine (0, 0, 16, 16);
-	gc.drawLine (16, 0, 0, 16);
-	gc.dispose ();
-	return image;
-}
-
-static Image getUncheckedImage (Display display) {
-	Image image = new Image (display, 16, 16);
-	GC gc = new GC (image);
-	gc.setBackground (display.getSystemColor (SWT.COLOR_YELLOW));
-	gc.fillOval (0, 0, 16, 16);
-	gc.dispose ();
-	return image;
-}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet163.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet163.java
deleted file mode 100644
index f97fd4b..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet163.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.swt.snippets;
-
-/*
- * Setting the font style, foreground and background colors of StyledText
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet163 {
-
-public static void main(String[] args) {
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setLayout(new FillLayout());
-	StyledText text = new StyledText (shell, SWT.BORDER);
-	text.setText("0123456789 ABCDEFGHIJKLM NOPQRSTUVWXYZ");
-	// make 0123456789 appear bold
-	StyleRange style1 = new StyleRange();
-	style1.start = 0;
-	style1.length = 10;
-	style1.fontStyle = SWT.BOLD;
-	text.setStyleRange(style1);
-	// make ABCDEFGHIJKLM have a red font
-	StyleRange style2 = new StyleRange();
-	style2.start = 11;
-	style2.length = 13;
-	style2.foreground = display.getSystemColor(SWT.COLOR_RED);
-	text.setStyleRange(style2);
-	// make NOPQRSTUVWXYZ have a blue background
-	StyleRange style3 = new StyleRange();
-	style3.start = 25;
-	style3.length = 13;
-	style3.background = display.getSystemColor(SWT.COLOR_BLUE);
-	text.setStyleRange(style3);
-	
-	shell.pack();
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	display.dispose();
-}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet164.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet164.java
deleted file mode 100644
index 2f945f4..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet164.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Override the text that is spoken for a native Button.
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.accessibility.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet164 {
-
-public static void main(String[] args) {
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setBounds(10, 10, 200, 200);
-
-	Button button1 = new Button (shell, SWT.PUSH);
-	button1.setText("&Typical button");
-	button1.setBounds(10,10,180,30);
-	Button button2 = new Button (shell, SWT.PUSH);
-	button2.setText("&Overidden button");
-	button2.setBounds(10,50,180,30);
-	button2.getAccessible().addAccessibleListener(new AccessibleAdapter() {
-		public void getName(AccessibleEvent e) {
-			e.result = "Speak this instead of the button text";
-		}
-	});
-	
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch()) display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet165.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet165.java
deleted file mode 100644
index b5cb18b..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet165.java
+++ /dev/null
@@ -1,81 +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.swt.snippets;
-
-/*
- * Create a CTabFolder with min and max buttons, as well as close button and 
- * image only on selected tab.
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet165 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Image image = new Image(display, 16, 16);
-	GC gc = new GC(image);
-	gc.setBackground(display.getSystemColor(SWT.COLOR_BLUE));
-	gc.fillRectangle(0, 0, 16, 16);
-	gc.setBackground(display.getSystemColor(SWT.COLOR_YELLOW));
-	gc.fillRectangle(3, 3, 10, 10);
-	gc.dispose();
-	final Shell shell = new Shell (display);
-	shell.setLayout(new GridLayout());
-	final CTabFolder folder = new CTabFolder(shell, SWT.BORDER);
-	folder.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
-	folder.setSimple(false);
-	folder.setUnselectedImageVisible(false);
-	folder.setUnselectedCloseVisible(false);
-	for (int i = 0; i < 8; i++) {
-		CTabItem item = new CTabItem(folder, SWT.CLOSE);
-		item.setText("Item "+i);
-		item.setImage(image);
-		Text text = new Text(folder, SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL);
-		text.setText("Text for item "+i+"\n\none, two, three\n\nabcdefghijklmnop");
-		item.setControl(text);
-	}
-	folder.setMinimizeVisible(true);
-	folder.setMaximizeVisible(true);
-	folder.addCTabFolder2Listener(new CTabFolder2Adapter() {
-		public void minimize(CTabFolderEvent event) {
-			folder.setMinimized(true);
-			shell.layout(true);
-		}
-		public void maximize(CTabFolderEvent event) {
-			folder.setMaximized(true);
-			folder.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
-			shell.layout(true);
-		}
-		public void restore(CTabFolderEvent event) {
-			folder.setMinimized(false);
-			folder.setMaximized(false);
-			folder.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
-			shell.layout(true);
-		}
-	});
-	shell.setSize(300, 300);
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	image.dispose();
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet166.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet166.java
deleted file mode 100644
index 14727f0..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet166.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.swt.snippets;
-
-/*
- * Create a ScrolledComposite with wrapping content.
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet166 {
-
-public static void main(String[] args) {
-	Display display = new Display();
-	Image image1 = display.getSystemImage(SWT.ICON_WORKING);
-	Image image2 = display.getSystemImage(SWT.ICON_QUESTION);
-	Image image3 = display.getSystemImage(SWT.ICON_ERROR);
-	
-	Shell shell = new Shell(display);
-	shell.setLayout(new FillLayout());
-	
-	final ScrolledComposite scrollComposite = new ScrolledComposite(shell, SWT.V_SCROLL | SWT.BORDER);
-
-	final Composite parent = new Composite(scrollComposite, SWT.NONE);
-	for(int i = 0; i <= 50; i++) {
-		Label label = new Label(parent, SWT.NONE);
-		if (i % 3 == 0) label.setImage(image1);
-		if (i % 3 == 1) label.setImage(image2);
-		if (i % 3 == 2) label.setImage(image3);
-	}
-	RowLayout layout = new RowLayout(SWT.HORIZONTAL);
-	layout.wrap = true;
-	parent.setLayout(layout);
-	
-	scrollComposite.setContent(parent);
-	scrollComposite.setExpandVertical(true);
-	scrollComposite.setExpandHorizontal(true);
-	scrollComposite.addControlListener(new ControlAdapter() {
-		public void controlResized(ControlEvent e) {
-			Rectangle r = scrollComposite.getClientArea();
-			scrollComposite.setMinSize(parent.computeSize(r.width, SWT.DEFAULT));
-		}
-	});
-
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch()) {
-			display.sleep();
-		}
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet167.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet167.java
deleted file mode 100644
index 9b6211b..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet167.java
+++ /dev/null
@@ -1,75 +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.swt.snippets;
-
-/*
- * Create two ScrolledComposites that scroll in tandem.
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet167 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setLayout(new FillLayout());
-
-	final ScrolledComposite sc1 = new ScrolledComposite (shell, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
-	Button button1 = new Button (sc1, SWT.PUSH);
-	button1.setText ("Button 1");
-	button1.setSize (400, 300);
-	sc1.setContent (button1);
-
-	final ScrolledComposite sc2 = new ScrolledComposite (shell, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
-	Button button2 = new Button(sc2, SWT.PUSH);
-	button2.setText ("Button 2");
-	button2.setSize (300, 400);
-	sc2.setContent (button2);
-
-	final ScrollBar vBar1 = sc1.getVerticalBar ();
-	final ScrollBar vBar2 = sc2.getVerticalBar ();
-	final ScrollBar hBar1 = sc1.getHorizontalBar ();
-	final ScrollBar hBar2 = sc2.getHorizontalBar ();
-	SelectionListener listener1 = new SelectionAdapter () {
-		public void widgetSelected (SelectionEvent e) {
-			int x =  hBar1.getSelection() * (hBar2.getMaximum() - hBar2.getThumb()) / Math.max(1, hBar1.getMaximum() - hBar1.getThumb());
-			int y =  vBar1.getSelection() * (vBar2.getMaximum() - vBar2.getThumb()) / Math.max(1, vBar1.getMaximum() - vBar1.getThumb());
-			sc2.setOrigin (x, y);
-		}
-	};
-	SelectionListener listener2 = new SelectionAdapter () {
-		public void widgetSelected (SelectionEvent e) {
-			int x =  hBar2.getSelection() * (hBar1.getMaximum() - hBar1.getThumb()) / Math.max(1, hBar2.getMaximum() - hBar2.getThumb());
-			int y =  vBar2.getSelection() * (vBar1.getMaximum() - vBar1.getThumb()) / Math.max(1, vBar2.getMaximum() - vBar2.getThumb());
-			sc1.setOrigin (x, y);
-		}
-	};
-	vBar1.addSelectionListener (listener1);
-	hBar1.addSelectionListener (listener1);
-	vBar2.addSelectionListener (listener2);
-	hBar2.addSelectionListener (listener2);
-
-	shell.setSize (400, 300);
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet168.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet168.java
deleted file mode 100644
index e74245e..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet168.java
+++ /dev/null
@@ -1,57 +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.swt.snippets;
-
-/*
- * Draw lines and polygons with different cap and join styles
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.1
- */
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet168 {
-
-public static void main(String[] args) {
-	final Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.addListener(SWT.Paint, new Listener() {
-		public void handleEvent(Event event) {
-			int x = 20, y = 20, w = 120, h = 60;
-			GC gc = event.gc;
-			gc.setForeground(display.getSystemColor(SWT.COLOR_BLUE));
-			gc.setLineWidth(10);
-			int[] caps = {SWT.CAP_FLAT, SWT.CAP_ROUND, SWT.CAP_SQUARE};
-			for (int i = 0; i < caps.length; i++) {
-				gc.setLineCap(caps[i]);
-				gc.drawLine(x, y, x + w, y);
-				y += 20;
-			}
-			int[] joins = {SWT.JOIN_BEVEL, SWT.JOIN_MITER, SWT.JOIN_ROUND};
-			for (int i = 0; i < joins.length; i++) {
-				gc.setLineJoin(joins[i]);
-				gc.drawPolygon(new int[] {x, y, x + w/2, y + h, x + w, y});
-				y += h + 20;
-			}
-		}
-	});
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch()) display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet169.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet169.java
deleted file mode 100644
index c3da321..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet169.java
+++ /dev/null
@@ -1,54 +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.swt.snippets;
-
-/*
- * Make a toggle button have radio behavior
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet169 {
-public static void main (String [] args) {
-	Display display = new Display ();
-	final Shell shell = new Shell (display);
-	shell.setLayout (new FillLayout ());
-	Listener listener = new Listener () {
-		public void handleEvent (Event e) {
-			Control [] children = shell.getChildren ();
-			for (int i=0; i<children.length; i++) {
-				Control child = children [i];
-				if (e.widget != child && child instanceof Button && (child.getStyle () & SWT.TOGGLE) != 0) {
-					((Button) child).setSelection (false);
-				}
-			}
-			((Button) e.widget).setSelection (true);
-		}
-	};
-	for (int i=0; i<20; i++) {
-		Button button = new Button (shell, SWT.TOGGLE);
-		button.setText ("B" + i);
-		button.addListener (SWT.Selection, listener);
-		if (i == 0) button.setSelection (true);
-	}
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet17.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet17.java
deleted file mode 100644
index f0ff83b..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet17.java
+++ /dev/null
@@ -1,50 +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.swt.snippets;
-
-/*
- * Slider example snippet: print scroll event details
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet17 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	Slider slider = new Slider (shell, SWT.HORIZONTAL);
-	slider.setBounds (10, 10, 200, 32);
-	slider.addListener (SWT.Selection, new Listener () {
-		public void handleEvent (Event event) {
-			String string = "SWT.NONE";
-			switch (event.detail) {
-				case SWT.DRAG: string = "SWT.DRAG"; break;
-				case SWT.HOME: string = "SWT.HOME"; break;
-				case SWT.END: string = "SWT.END"; break;
-				case SWT.ARROW_DOWN: string = "SWT.ARROW_DOWN"; break;
-				case SWT.ARROW_UP: string = "SWT.ARROW_UP"; break;
-				case SWT.PAGE_DOWN: string = "SWT.PAGE_DOWN"; break;
-				case SWT.PAGE_UP: string = "SWT.PAGE_UP"; break;
-			}
-			System.out.println ("Scroll detail -> " + string);
-		}
-	});
-	shell.open ();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet170.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet170.java
deleted file mode 100644
index 3bdc3b9..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet170.java
+++ /dev/null
@@ -1,63 +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.swt.snippets;
-
-/*
- * Tree example snippet: Create a Tree with columns
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.1
- */
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet170 {
-	public static void main(String[] args) {
-		Display display = new Display();
-		final Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		Tree tree = new Tree(shell, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
-		tree.setHeaderVisible(true);
-		TreeColumn column1 = new TreeColumn(tree, SWT.LEFT);
-		column1.setText("Column 1");
-		column1.setWidth(200);
-		TreeColumn column2 = new TreeColumn(tree, SWT.CENTER);
-		column2.setText("Column 2");
-		column2.setWidth(200);
-		TreeColumn column3 = new TreeColumn(tree, SWT.RIGHT);
-		column3.setText("Column 3");
-		column3.setWidth(200);
-		for (int i = 0; i < 4; i++) {
-			TreeItem item = new TreeItem(tree, SWT.NONE);
-			item.setText(new String[] { "item " + i, "abc", "defghi" });
-			for (int j = 0; j < 4; j++) {
-				TreeItem subItem = new TreeItem(item, SWT.NONE);
-				subItem.setText(new String[] { "subitem " + j, "jklmnop", "qrs" });
-				for (int k = 0; k < 4; k++) {
-					TreeItem subsubItem = new TreeItem(subItem, SWT.NONE);
-					subsubItem.setText(new String[] { "subsubitem " + k, "tuv", "wxyz" });
-				}
-			}
-		}
-		shell.pack();
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch()) {
-				display.sleep();
-			}
-		}
-		display.dispose();
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet171.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet171.java
deleted file mode 100644
index 797baec..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet171.java
+++ /dev/null
@@ -1,290 +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.swt.snippets;
-
-/*
- * Drag and Drop example snippet: define data transfer types that subclass each
- * other
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.1
- */
-import java.io.*;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.dnd.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet171 {
-
-/*
- * The data being transferred is an <bold>array of type MyType</bold> where
- * MyType is define as:
- */
-static class MyType {
-	String fileName;
-	long fileLength;
-	long lastModified;
-}
-
-static class MyTransfer extends ByteArrayTransfer {
-
-	private static final String MYTYPENAME = "MytypeTransfer";
-	private static final int MYTYPEID = registerType(MYTYPENAME);
-	private static MyTransfer _instance = new MyTransfer();
-
-	public static Transfer getInstance() {
-		return _instance;
-	}
-
-	byte[] javaToByteArray(Object object) {
-		MyType data = (MyType) object;
-		try {
-			ByteArrayOutputStream out = new ByteArrayOutputStream();
-			DataOutputStream writeOut = new DataOutputStream(out);
-			byte[] buffer = data.fileName.getBytes();
-			writeOut.writeInt(buffer.length);
-			writeOut.write(buffer);
-			writeOut.writeLong(data.fileLength);
-			writeOut.writeLong(data.lastModified);
-			buffer = out.toByteArray();
-			writeOut.close();
-			return buffer;
-		} catch (IOException e) {
-		}
-		return null;
-	}
-
-	Object byteArrayToJava(byte[] bytes) {
-		MyType data = new MyType();
-		try {
-			ByteArrayInputStream in = new ByteArrayInputStream(bytes);
-			DataInputStream readIn = new DataInputStream(in);
-			int size = readIn.readInt();
-			byte[] buffer = new byte[size];
-			readIn.read(buffer);
-			data.fileName = new String(buffer);
-			data.fileLength = readIn.readLong();
-			data.lastModified = readIn.readLong();
-			readIn.close();
-		} catch (IOException ex) {
-			return null;
-		}
-		return data;
-	}
-
-	public void javaToNative(Object object, TransferData transferData) {
-		if (!checkMyType(object) || !isSupportedType(transferData)) {
-			DND.error(DND.ERROR_INVALID_DATA);
-		}
-		byte[] buffer = javaToByteArray(object);
-		super.javaToNative(buffer, transferData);
-	}
-
-	public Object nativeToJava(TransferData transferData) {
-		if (isSupportedType(transferData)) {
-			byte[] buffer = (byte[]) super.nativeToJava(transferData);
-			if (buffer == null)
-				return null;
-			return byteArrayToJava(buffer);
-		}
-		return null;
-	}
-
-	protected String[] getTypeNames() {
-		return new String[] { MYTYPENAME };
-	}
-
-	protected int[] getTypeIds() {
-		return new int[] { MYTYPEID };
-	}
-
-	boolean checkMyType(Object object) {
-		return object != null && object instanceof MyType;
-	}
-
-	protected boolean validate(Object object) {
-		return checkMyType(object);
-	}
-}
-
-/*
- * The data being transferred is an <bold>array of type MyType2</bold>
- * where MyType2 is define as:
- */
-static class MyType2 extends MyType {
-	String version;
-}
-
-static class MyTransfer2 extends MyTransfer {
-
-	private static final String MYTYPE2NAME = "Mytype2Transfer";
-	private static final int MYTYPE2ID = registerType(MYTYPE2NAME);
-	private static MyTransfer _instance = new MyTransfer2();
-
-	public static Transfer getInstance() {
-		return _instance;
-	}
-
-	protected String[] getTypeNames() {
-		return new String[] { MYTYPE2NAME };
-	}
-
-	protected int[] getTypeIds() {
-		return new int[] { MYTYPE2ID };
-	}
-
-	byte[] javaToByteArray(Object object) {
-		MyType2 data = (MyType2) object;
-		try {
-			ByteArrayOutputStream out = new ByteArrayOutputStream();
-			DataOutputStream writeOut = new DataOutputStream(out);
-			byte[] buffer = data.fileName.getBytes();
-			writeOut.writeInt(buffer.length);
-			writeOut.write(buffer);
-			writeOut.writeLong(data.fileLength);
-			writeOut.writeLong(data.lastModified);
-			buffer = data.version.getBytes();
-			writeOut.writeInt(buffer.length);
-			writeOut.write(buffer);
-			buffer = out.toByteArray();
-			writeOut.close();
-			return buffer;
-		} catch (IOException e) {
-		}
-		return null;
-	}
-
-	Object byteArrayToJava(byte[] bytes) {
-		MyType2 data = new MyType2();
-		try {
-			ByteArrayInputStream in = new ByteArrayInputStream(bytes);
-			DataInputStream readIn = new DataInputStream(in);
-			int size = readIn.readInt();
-			byte[] buffer = new byte[size];
-			readIn.read(buffer);
-			data.fileName = new String(buffer);
-			data.fileLength = readIn.readLong();
-			data.lastModified = readIn.readLong();
-			size = readIn.readInt();
-			buffer = new byte[size];
-			readIn.read(buffer);
-			data.version = new String(buffer);
-			readIn.close();
-		} catch (IOException ex) {
-			return null;
-		}
-		return data;
-	}
-
-	public void javaToNative(Object object, TransferData transferData) {
-		if (!checkMyType2(object)) {
-			DND.error(DND.ERROR_INVALID_DATA);
-		}
-		super.javaToNative(object, transferData);
-	}
-
-	boolean checkMyType2(Object object) {
-		if (!checkMyType(object))
-			return false;
-		return object != null && object instanceof MyType2;
-	}
-
-	protected boolean validate(Object object) {
-		return checkMyType2(object);
-	}
-}
-
-public static void main(String[] args) {
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setLayout(new FillLayout());
-	final Label label1 = new Label(shell, SWT.BORDER | SWT.WRAP);
-	label1.setText("Drag Source for MyData and MyData2");
-	final Label label2 = new Label(shell, SWT.BORDER | SWT.WRAP);
-	label2.setText("Drop Target for MyData");
-	final Label label3 = new Label(shell, SWT.BORDER | SWT.WRAP);
-	label3.setText("Drop Target for MyData2");
-
-	DragSource source = new DragSource(label1, DND.DROP_COPY);
-	source.setTransfer(new Transfer[] { MyTransfer.getInstance(),
-			MyTransfer2.getInstance() });
-	source.addDragListener(new DragSourceAdapter() {
-		public void dragSetData(DragSourceEvent event) {
-			MyType2 myType = new MyType2();
-			myType.fileName = "C:\\abc.txt";
-			myType.fileLength = 1000;
-			myType.lastModified = 12312313;
-			myType.version = "version 2";
-			event.data = myType;
-		}
-	});
-	DropTarget targetMyType = new DropTarget(label2, DND.DROP_COPY | DND.DROP_DEFAULT);
-	targetMyType.setTransfer(new Transfer[] { MyTransfer.getInstance() });
-	targetMyType.addDropListener(new DropTargetAdapter() {
-		public void dragEnter(DropTargetEvent event) {
-			if (event.detail == DND.DROP_DEFAULT)
-				event.detail = DND.DROP_COPY;
-		}
-
-		public void dragOperationChanged(DropTargetEvent event) {
-			if (event.detail == DND.DROP_DEFAULT)
-				event.detail = DND.DROP_COPY;
-		}
-
-		public void drop(DropTargetEvent event) {
-			if (event.data != null) {
-				MyType myType = (MyType) event.data;
-				if (myType != null) {
-					String string = "MyType: " + myType.fileName;
-					label2.setText(string);
-				}
-			}
-		}
-
-	});
-	DropTarget targetMyType2 = new DropTarget(label3, DND.DROP_COPY	| DND.DROP_DEFAULT);
-	targetMyType2.setTransfer(new Transfer[] { MyTransfer2.getInstance() });
-	targetMyType2.addDropListener(new DropTargetAdapter() {
-		public void dragEnter(DropTargetEvent event) {
-			if (event.detail == DND.DROP_DEFAULT)
-				event.detail = DND.DROP_COPY;
-		}
-
-		public void dragOperationChanged(DropTargetEvent event) {
-			if (event.detail == DND.DROP_DEFAULT)
-				event.detail = DND.DROP_COPY;
-		}
-
-		public void drop(DropTargetEvent event) {
-			if (event.data != null) {
-				MyType2 myType = (MyType2) event.data;
-				if (myType != null) {
-					String string = "MyType2: " + myType.fileName + ":"
-							+ myType.version;
-					label3.setText(string);
-				}
-			}
-		}
-
-	});
-	shell.setSize(300, 200);
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	display.dispose();
-}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet172.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet172.java
deleted file mode 100644
index 671eff6..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet172.java
+++ /dev/null
@@ -1,88 +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.swt.snippets;
-
-/*
- * GridLayout snippet: align widgets in a GridLayout
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet172 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	GridLayout layout = new GridLayout(4, false);
-	shell.setLayout(layout);
-	
-	Button b = new Button(shell, SWT.PUSH);
-	b.setText("LEFT, TOP");
-	b.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, true, true, 1, 1));
-	b = new Button(shell, SWT.PUSH);
-	b.setText("LEFT, CENTER");
-	b.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, true, true, 1, 1));
-	b = new Button(shell, SWT.PUSH);
-	b.setText("LEFT, BOTTOM");
-	b.setLayoutData(new GridData(SWT.LEFT, SWT.BOTTOM, true, true, 1, 1));
-	b = new Button(shell, SWT.PUSH);
-	b.setText("LEFT, FILL");
-	b.setLayoutData(new GridData(SWT.LEFT, SWT.FILL, true, true, 1, 1));
-	b = new Button(shell, SWT.PUSH);
-	b.setText("CENTER, TOP");
-	b.setLayoutData(new GridData(SWT.CENTER, SWT.TOP, true, true, 1, 1));
-	b = new Button(shell, SWT.PUSH);
-	b.setText("CENTER, CENTER");
-	b.setLayoutData(new GridData(SWT.CENTER, SWT.CENTER, true, true, 1, 1));
-	b = new Button(shell, SWT.PUSH);
-	b.setText("CENTER, BOTTOM");
-	b.setLayoutData(new GridData(SWT.CENTER, SWT.BOTTOM, true, true, 1, 1));
-	b = new Button(shell, SWT.PUSH);
-	b.setText("CENTER, FILL");
-	b.setLayoutData(new GridData(SWT.CENTER, SWT.FILL, true, true, 1, 1));
-	b = new Button(shell, SWT.PUSH);
-	b.setText("RIGHT, TOP");
-	b.setLayoutData(new GridData(SWT.RIGHT, SWT.TOP, true, true, 1, 1));
-	b = new Button(shell, SWT.PUSH);
-	b.setText("RIGHT, CENTER");
-	b.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, true, true, 1, 1));
-	b = new Button(shell, SWT.PUSH);
-	b.setText("RIGHT, BOTTOM");
-	b.setLayoutData(new GridData(SWT.RIGHT, SWT.BOTTOM, true, true, 1, 1));
-	b = new Button(shell, SWT.PUSH);
-	b.setText("RIGHT, FILL");
-	b.setLayoutData(new GridData(SWT.RIGHT, SWT.FILL, true, true, 1, 1));
-	b = new Button(shell, SWT.PUSH);
-	b.setText("FILL, TOP");
-	b.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, true, 1, 1));
-	b = new Button(shell, SWT.PUSH);
-	b.setText("FILL, CENTER");
-	b.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, true, 1, 1));
-	b = new Button(shell, SWT.PUSH);
-	b.setText("FILL, BOTTOM");
-	b.setLayoutData(new GridData(SWT.FILL, SWT.BOTTOM, true, true, 1, 1));
-	b = new Button(shell, SWT.PUSH);
-	b.setText("FILL, FILL");
-	b.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
-	
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet173.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet173.java
deleted file mode 100644
index f5f7ee4..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet173.java
+++ /dev/null
@@ -1,99 +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.swt.snippets;
-
-/*
- * Browser snippet: bring up a browser with pop-up blocker
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.1
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.browser.*;
-
-public class Snippet173 {
-
-public static void main(String[] args) {
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setText("Main Window");
-	shell.setLayout(new FillLayout());
-	final Browser browser;
-	try {
-		browser = new Browser(shell, SWT.NONE);
-	} catch (SWTError e) {
-		System.out.println("Could not instantiate Browser: " + e.getMessage());
-		return;
-	}
-	initialize(display, browser);
-	shell.open();
-	/* any website with popups */
-	browser.setUrl("http://www.cnn.com");
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-		}
-		display.dispose();
-	}
-
-/* register WindowEvent listeners */
-static void initialize(final Display display, Browser browser) {
-	browser.addOpenWindowListener(new OpenWindowListener() {
-		public void open(WindowEvent event) {
-			Shell shell = new Shell(display);
-			shell.setText("New Window");
-			shell.setLayout(new FillLayout());
-			Browser browser = new Browser(shell, SWT.NONE);
-			initialize(display, browser);
-			event.browser = browser;
-		}
-	});
-	browser.addVisibilityWindowListener(new VisibilityWindowListener() {
-		public void hide(WindowEvent event) {
-			Browser browser = (Browser)event.widget;
-			Shell shell = browser.getShell();
-			shell.setVisible(false);
-		}
-		public void show(WindowEvent event) {
-			Browser browser = (Browser)event.widget;
-			final Shell shell = browser.getShell();
-			/* popup blocker - ignore windows with no style */
-			if (!event.addressBar && !event.menuBar && !event.statusBar && !event.toolBar) {
-				System.out.println("Popup blocked.");
-				event.display.asyncExec(new Runnable() {
-					public void run() {
-						shell.close();
-					}
-				});
-				return;
-			}
-			if (event.location != null) shell.setLocation(event.location);
-			if (event.size != null) {
-				Point size = event.size;
-				shell.setSize(shell.computeSize(size.x, size.y));
-			}
-			shell.open();
-		}
-	});
-	browser.addCloseWindowListener(new CloseWindowListener() {
-		public void close(WindowEvent event) {
-			Browser browser = (Browser)event.widget;
-			Shell shell = browser.getShell();
-			shell.close();
-		}
-	});
-}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet174.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet174.java
deleted file mode 100644
index 7ced2f7..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet174.java
+++ /dev/null
@@ -1,101 +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:
- *     Sebastian Davids - initial implementation
- *     IBM Corporation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * SWT OpenGL snippet: draw a square
- * 
- * This snippet requires the experimental org.eclipse.swt.opengl plugin, which
- * is not included in SWT by default and should only be used with versions of
- * SWT prior to 3.2.  For information on using OpenGL in SWT see
- * http://www.eclipse.org/swt/opengl/ .
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */
-import org.eclipse.opengl.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.opengl.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet174 {
-
-public static void main(String[] args) {
-    Display display = new Display();
-    Shell shell = new Shell(display);
-    shell.setText("OpenGL in SWT");
-    shell.setLayout(new FillLayout());
-    GLData data = new GLData();
-    data.doubleBuffer = true;
-    final GLCanvas canvas = new GLCanvas(shell, SWT.NO_BACKGROUND, data);
-    canvas.addControlListener(new ControlAdapter() {
-        public void controlResized(ControlEvent e) {
-            resize(canvas);
-        }
-    });
-    init(canvas);
-    new Runnable() {
-        public void run() {
-            if (canvas.isDisposed()) return;
-            render();
-            canvas.swapBuffers();
-            canvas.getDisplay().timerExec(50, this);
-        }
-    }.run();
-    shell.open();
-    while (!shell.isDisposed()) {
-        if (!display.readAndDispatch()) display.sleep();
-    }
-    display.dispose();
-}
-
-static void init(GLCanvas canvas) {
-    canvas.setCurrent();
-    resize(canvas);
-    GL.glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
-    GL.glColor3f(0.0f, 0.0f, 0.0f);
-    GL.glClearDepth(1.0f);
-    GL.glEnable(GL.GL_DEPTH_TEST);
-    GL.glHint(GL.GL_PERSPECTIVE_CORRECTION_HINT, GL.GL_NICEST);
-}
-
-static void render() {
-    GL.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT);
-    GL.glLoadIdentity();
-    GL.glTranslatef(0.0f, 0.0f, -6.0f);
-    GL.glBegin(GL.GL_QUADS);
-    GL.glVertex3f(-1.0f, 1.0f, 0.0f);
-    GL.glVertex3f(1.0f, 1.0f, 0.0f);
-    GL.glVertex3f(1.0f, -1.0f, 0.0f);
-    GL.glVertex3f(-1.0f, -1.0f, 0.0f);
-    GL.glEnd();
-}
-
-static void resize(GLCanvas canvas) {
-    canvas.setCurrent();
-    Rectangle rect = canvas.getClientArea();
-    int width = rect.width;
-    int height = Math.max(rect.height, 1);
-    GL.glViewport(0, 0, width, height);
-    GL.glMatrixMode(GL.GL_PROJECTION);
-    GL.glLoadIdentity();
-    float aspect = (float) width / (float) height;
-    GLU.gluPerspective(45.0f, aspect, 0.5f, 400.0f);
-    GL.glMatrixMode(GL.GL_MODELVIEW);
-    GL.glLoadIdentity();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet175.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet175.java
deleted file mode 100644
index a4fc973..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet175.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.swt.snippets;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-/*
- * Exclude a widget from a GridLayout
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.1
- */
-
-public class Snippet175 {
-
-public static void main(String[] args) {
-
-	Display display = new Display();
-	final Shell shell = new Shell(display);
-	shell.setLayout(new GridLayout(3, false));
-
-	Button b = new Button(shell, SWT.PUSH);
-	b.setText("Button 0");
-
-	final Button bHidden = new Button(shell, SWT.PUSH);
-	bHidden.setText("Button 1");
-	GridData data = new GridData();
-	data.exclude = true;
-	data.horizontalSpan = 2;
-	data.horizontalAlignment = SWT.FILL;
-	bHidden.setLayoutData(data);
-
-	b = new Button(shell, SWT.PUSH);
-	b.setText("Button 2");
-	b = new Button(shell, SWT.PUSH);
-	b.setText("Button 3");
-	b = new Button(shell, SWT.PUSH);
-	b.setText("Button 4");
-
-	b = new Button(shell, SWT.CHECK);
-	b.setText("hide");
-	b.setSelection(true);
-	b.addListener(SWT.Selection, new Listener() {
-		public void handleEvent(Event e) {
-			Button b = (Button) e.widget;
-			GridData data = (GridData) bHidden.getLayoutData();
-			data.exclude = b.getSelection();
-			bHidden.setVisible(!data.exclude);
-			shell.layout(false);
-		}
-	});
-	shell.setSize(400, 400);
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet176.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet176.java
deleted file mode 100644
index f2af754..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet176.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.swt.snippets;
-
-/*
- * RowLayout snippet: align widgets in a row
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.1
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet176 {
-
-	public static void main(String[] args) {
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	RowLayout layout = new RowLayout(SWT.HORIZONTAL);
-	layout.wrap = true;
-	layout.fill = false;
-	layout.justify = true;
-	shell.setLayout(layout);
-
-	Button b = new Button(shell, SWT.PUSH);
-	b.setText("Button 1");
-	b = new Button(shell, SWT.PUSH);
-
-	b.setText("Button 2");
-
-	b = new Button(shell, SWT.PUSH);
-	b.setText("Button 3");
-
-	b = new Button(shell, SWT.PUSH);
-	b.setText("Not shown");
-	b.setVisible(false);
-	RowData data = new RowData();
-	data.exclude = true;
-	b.setLayoutData(data);
-
-	b = new Button(shell, SWT.PUSH);
-	b.setText("Button 200 high");
-	data = new RowData();
-	data.height = 200;
-	b.setLayoutData(data);
-
-	b = new Button(shell, SWT.PUSH);
-	b.setText("Button 200 wide");
-	data = new RowData();
-	data.width = 200;
-	b.setLayoutData(data);
-
-	shell.pack();
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet177.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet177.java
deleted file mode 100644
index e6a8eca..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet177.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.swt.snippets;
-
-/*
- * RowLayout snippet: align widgets in a column
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.1
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet177 {
-
-public static void main(String[] args) {
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	RowLayout layout = new RowLayout(SWT.VERTICAL);
-	layout.wrap = true;
-	layout.fill = true;
-	layout.justify = false;
-	shell.setLayout(layout);
-
-	Button b = new Button(shell, SWT.PUSH);
-	b.setText("Button 1");
-	b = new Button(shell, SWT.PUSH);
-
-	b.setText("Button 2");
-
-	b = new Button(shell, SWT.PUSH);
-	b.setText("Button 3");
-
-	b = new Button(shell, SWT.PUSH);
-	b.setText("Not shown");
-	b.setVisible(false);
-	RowData data = new RowData();
-	data.exclude = true;
-	b.setLayoutData(data);
-
-	b = new Button(shell, SWT.PUSH);
-	b.setText("Button 200 high");
-	data = new RowData();
-	data.height = 200;
-	b.setLayoutData(data);
-
-	b = new Button(shell, SWT.PUSH);
-	b.setText("Button 200 wide");
-	data = new RowData();
-	data.width = 200;
-	b.setLayoutData(data);
-
-	shell.pack();
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet178.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet178.java
deleted file mode 100644
index 30754bc..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet178.java
+++ /dev/null
@@ -1,131 +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.swt.snippets;
-
-/*
- * How to access About, Preferences and Quit menus on carbon.
- * NOTE: This snippet uses internal SWT packages that are
- * subject to change without notice.
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-
-import org.eclipse.swt.internal.*;
-import org.eclipse.swt.internal.carbon.*;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet178 {
-
-	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';
-
-public static void main(String[] arg) {
-	Display.setAppName("AppMenu"); // sets name in Dock
-	Display display = new Display();
-	hookApplicationMenu(display, "About AppMenu");
-	Shell shell = new Shell(display);
-	shell.setText("Main Window");
-	shell.open();
-	while (!shell.isDisposed())
-		if (!display.readAndDispatch())
-			display.sleep();
-
-	display.dispose();
-}
-
-static void hookApplicationMenu(Display display, final String aboutName) {
-	// Callback target
-	Object target = new Object() {
-		int commandProc(int nextHandler, int theEvent, int userData) {
-			if (OS.GetEventKind(theEvent) == OS.kEventProcessCommand) {
-				HICommand command = new HICommand();
-				OS.GetEventParameter(theEvent, OS.kEventParamDirectObject,
-						OS.typeHICommand, null, HICommand.sizeof, null,
-						command);
-				switch (command.commandID) {
-				case kHICommandPreferences:
-					return handleCommand("Preferences"); //$NON-NLS-1$
-				case kHICommandAbout:
-					return handleCommand(aboutName);
-				default:
-					break;
-				}
-			}
-			return OS.eventNotHandledErr;
-		}
-
-		int handleCommand(String command) {
-			Shell shell = new Shell();
-			MessageBox preferences = new MessageBox(shell, SWT.ICON_WARNING);
-			preferences.setText(command);
-			preferences.open();
-			shell.dispose();
-			return OS.noErr;
-		}
-	};
-
-	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 ... 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 = aboutName.length();
-		char buffer[] = new char[l];
-		aboutName.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();
-		}
-	});
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet179.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet179.java
deleted file mode 100644
index 13805f8..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet179.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.swt.snippets;
-
-/*
- * Text example snippet: verify input (format for date)
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import java.util.*;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet179 {
-
-public static void main(String[] args) {
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setLayout(new GridLayout());
-	final Text text = new Text(shell, SWT.BORDER);
-	text.setText("YYYY/MM/DD");;	
-	final Calendar calendar = Calendar.getInstance();
-	text.addListener(SWT.Verify, new Listener() {
-		boolean ignore;
-		public void handleEvent(Event e) {
-			if (ignore) return;
-			e.doit = false;
-			StringBuffer buffer = new StringBuffer(e.text);
-			char[] chars = new char[buffer.length()];
-			buffer.getChars(0, chars.length, chars, 0);
-			if (e.character == '\b') {
-				for (int i = e.start; i < e.end; i++) {
-					switch (i) {
-						case 0: /* [Y]YYY */
-						case 1: /* Y[Y]YY */
-						case 2: /* YY[Y]Y */
-						case 3: /* YYY[Y] */ {
-							buffer.append('Y'); 	break;
-						}
-						case 5: /* [M]M*/
-						case 6: /* M[M] */{
-							buffer.append('M'); break;
-						}
-						case 8: /* [D]D */
-						case 9: /* D[D] */ {
-							buffer.append('D'); break;
-						}
-						case 4: /* YYYY[/]MM */
-						case 7: /* MM[/]DD */ {
-							buffer.append('/'); break;
-						}
-						default:
-							return;
-					}
-				}
-				text.setSelection(e.start, e.start + buffer.length());
-				ignore = true;
-				text.insert(buffer.toString());
-				ignore = false;
-				text.setSelection(e.start, e.start);
-				return;
-			}
-		
-			int start = e.start;
-			if (start > 9) return;
-			int index = 0;
-			for (int i = 0; i < chars.length; i++) {
-				if (start + index == 4 || start + index == 7) {
-					if (chars[i] == '/') {
-						index++;
-						continue;
-					}
-					buffer.insert(index++, '/');
-				}
-				if (chars[i] < '0' || '9' < chars[i]) return;
-				if (start + index == 5 &&  '1' < chars[i]) return; /* [M]M */
-				if (start + index == 8 &&  '3' < chars[i]) return; /* [D]D */
-				index++;
-			}
-			String newText = buffer.toString();
-			int length = newText.length();
-			StringBuffer date = new StringBuffer(text.getText());
-			date.replace(e.start, e.start + length, newText);
-			calendar.set(Calendar.YEAR, 1901);
-			calendar.set(Calendar.MONTH, Calendar.JANUARY);
-			calendar.set(Calendar.DATE, 1);
-			String yyyy = date.substring(0, 4);
-			if (yyyy.indexOf('Y') == -1) {
-				int year = Integer.parseInt(yyyy);
-				calendar.set(Calendar.YEAR, year);
-			}
-			String mm = date.substring(5, 7);
-			if (mm.indexOf('M') == -1) {
-				int month =  Integer.parseInt(mm) - 1;
-				int maxMonth = calendar.getActualMaximum(Calendar.MONTH);
-				if (0 > month || month > maxMonth) return;
-				calendar.set(Calendar.MONTH, month);
-			}
-			String dd = date.substring(8,10);
-			if (dd.indexOf('D') == -1) {
-				int day = Integer.parseInt(dd);
-				int maxDay = calendar.getActualMaximum(Calendar.DATE);
-				if (1 > day || day > maxDay) return;
-				calendar.set(Calendar.DATE, day);
-			} else {
-				if (calendar.get(Calendar.MONTH)  == Calendar.FEBRUARY) {
-					char firstChar = date.charAt(8);
-					if (firstChar != 'D' && '2' < firstChar) return;
-				}
-			}
-			text.setSelection(e.start, e.start + length);
-			ignore = true;
-			text.insert(newText);
-			ignore = false;
-		}
-	});
-	shell.pack();
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet18.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet18.java
deleted file mode 100644
index 808bfb9..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet18.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * ToolBar example snippet: create a tool bar (text)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet18 {
-
-public static void main (String [] args) {
-	Shell shell = new Shell ();
-	ToolBar bar = new ToolBar (shell, SWT.BORDER);
-	for (int i=0; i<8; i++) {
-		ToolItem item = new ToolItem (bar, SWT.PUSH);
-		item.setText ("Item " + i);
-	}
-	bar.pack ();
-	shell.open ();
-	Display display = shell.getDisplay ();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-} 
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet180.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet180.java
deleted file mode 100644
index 0e7f31c..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet180.java
+++ /dev/null
@@ -1,63 +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.swt.snippets;
-
-/*
- * Create a non-rectangular shell to simulate transparency
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet180 {
-
-public static void main(String[] args) {
-	Display display = new Display();
-	final Image image = display.getSystemImage(SWT.ICON_WARNING);
-	//Shell must be created with style SWT.NO_TRIM
-	final Shell shell = new Shell(display, SWT.NO_TRIM | SWT.ON_TOP);
-	shell.setBackground(display.getSystemColor(SWT.COLOR_RED));
-	//define a region 
-	Region region = new Region();
-	Rectangle pixel = new Rectangle(0, 0, 1, 1);
-	for (int y = 0; y < 200; y+=2) {
-			for (int x = 0; x < 200; x+=2) {
-				pixel.x = x;
-				pixel.y = y;
-				region.add(pixel);
-			}
-		}
-	//define the shape of the shell using setRegion
-	shell.setRegion(region);
-	Rectangle size = region.getBounds();
-	shell.setSize(size.width, size.height);
-	shell.addPaintListener(new PaintListener() {
-		public void paintControl(PaintEvent e) {
-			Rectangle bounds = image.getBounds();
-			Point size = shell.getSize();
-			e.gc.drawImage(image, 0, 0, bounds.width, bounds.height, 10, 10, size.x-20, size.y-20);
-		}
-	});
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	region.dispose();
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet181.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet181.java
deleted file mode 100644
index 2dd1588..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet181.java
+++ /dev/null
@@ -1,81 +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.swt.snippets;
-
-/*
- * Allow user to reorder columns and reorder columns programmatically.
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.1
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet181 {
-
-	public static void main(String[] args) {
-		Display display = new Display();
-		Shell shell = new Shell(display);
-		shell.setLayout(new RowLayout(SWT.HORIZONTAL));
-		final Table table = new Table(shell, SWT.BORDER | SWT.CHECK);
-		table.setLayoutData(new RowData(-1, 300));
-		table.setHeaderVisible(true);
-		TableColumn column = new TableColumn(table, SWT.LEFT);
-		column.setText("Column 0");
-		column = new TableColumn(table, SWT.CENTER);
-		column.setText("Column 1");
-		column = new TableColumn(table, SWT.CENTER);
-		column.setText("Column 2");
-		column = new TableColumn(table, SWT.CENTER);
-		column.setText("Column 3");
-		column = new TableColumn(table, SWT.CENTER);
-		column.setText("Column 4");
-		for (int i = 0; i < 100; i++) {
-			TableItem item = new TableItem(table, SWT.NONE);
-			String[] text = new String[]{i+" 0", i+" 1", i+" 2", i+" 3", i+" 4"};
-			item.setText(text);
-		}
-		Listener listener = new Listener() {
-			public void handleEvent(Event e) {
-				System.out.println("Move "+e.widget);
-			}
-		};
-		TableColumn[] columns = table.getColumns();
-		for (int i = 0; i < columns.length; i++) {
-			columns[i].pack();
-			columns[i].setMoveable(true);
-			columns[i].addListener(SWT.Move, listener);
-		}
-		Button b = new Button(shell, SWT.PUSH);
-		b.setText("invert column order");
-		b.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				int[] order = table.getColumnOrder();
-				for (int i = 0; i < order.length / 2; i++) {
-					int temp = order[i];
-					order[i] = order[order.length - i - 1];
-					order[order.length - i - 1] = temp;
-				}
-				table.setColumnOrder(order);
-			}
-		});
-		shell.pack();
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		display.dispose();
-	}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet182.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet182.java
deleted file mode 100644
index f710f21..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet182.java
+++ /dev/null
@@ -1,40 +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.swt.snippets;
-
-/*
- * Link example snippet: create a link widget
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.1
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet182 {
-
-	public static void main(String[] args) {
-		Display display = new Display();
-		Shell shell = new Shell(display);
-		Link link = new Link(shell, SWT.BORDER);
-		link.setText("This a very simple <A>link</A> widget.");
-		link.setSize(140, 40);
-		shell.pack ();
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		display.dispose();
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet183.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet183.java
deleted file mode 100644
index 88c5a1e..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet183.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.swt.snippets;
-
-/*
- * Link example snippet: detect selection events in a link widget
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.1
- */
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet183 {
-	
-	public static void main(String[] args) {
-		Display display = new Display();
-		Shell shell = new Shell(display);
-		Link link = new Link(shell, SWT.NONE);
-		String text = "The SWT component is designed to provide <a>efficient</a>, <a>portable</a> <a href=\"native\">access to the user-interface facilities of the operating systems</a> on which it is implemented.";
-		link.setText(text);
-		link.setSize(400, 400);
-		link.addListener (SWT.Selection, new Listener () {
-			public void handleEvent(Event event) {
-				System.out.println("Selection: " + event.text);
-			}
-		});
-		shell.pack ();
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		display.dispose();
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet184.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet184.java
deleted file mode 100644
index 331895a..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet184.java
+++ /dev/null
@@ -1,44 +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.swt.snippets;
-
-/*
- * Spinner example snippet: create and initialize a spinner widget
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.1
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet184 {
-
-	public static void main(String[] args) {
-		Display display = new Display();
-		Shell shell = new Shell(display);
-		Spinner spinner = new Spinner (shell, SWT.BORDER);
-		spinner.setMinimum(0);
-		spinner.setMaximum(1000);
-		spinner.setSelection(500);
-		spinner.setIncrement(1);
-		spinner.setPageIncrement(100);
-		spinner.pack();
-		shell.pack();
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		display.dispose();
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet185.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet185.java
deleted file mode 100644
index d94d7c7..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet185.java
+++ /dev/null
@@ -1,122 +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.swt.snippets;
-
-/*
- * Make a dropped data type depend on a target item in table
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import java.io.*;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.dnd.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet185 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setLayout(new FillLayout());
-	Label label1 = new Label(shell, SWT.BORDER);
-	label1.setText("Drag Source");
-	final Table table = new Table(shell, SWT.BORDER);
-	for (int i = 0; i < 4; i++) {
-		TableItem item = new TableItem(table, SWT.NONE);
-		if (i % 2 == 0) item.setText("Drop a file");
-		if (i % 2 == 1) item.setText("Drop text");
-	}
-	DragSource dragSource = new DragSource(label1, DND.DROP_COPY);
-	dragSource.setTransfer(new Transfer[] {TextTransfer.getInstance(), FileTransfer.getInstance()});
-	dragSource.addDragListener(new DragSourceAdapter() {
-		public void dragSetData(DragSourceEvent event) {
-			if (FileTransfer.getInstance().isSupportedType(event.dataType)) {
-				File file = new File("temp");
-				event.data = new String[] {file.getAbsolutePath()};
-			}
-			if (TextTransfer.getInstance().isSupportedType(event.dataType)) {
-				event.data = "once upon a time";
-			}
-		} 
-	});
-	DropTarget dropTarget = new DropTarget(table, DND.DROP_COPY | DND.DROP_DEFAULT);
-	dropTarget.setTransfer(new Transfer[] {TextTransfer.getInstance(), FileTransfer.getInstance()});
-	dropTarget.addDropListener(new DropTargetAdapter() {
-		FileTransfer fileTransfer = FileTransfer.getInstance();
-		TextTransfer textTransfer = TextTransfer.getInstance();
-		public void dragEnter(DropTargetEvent event) {
-			if (event.detail == DND.DROP_DEFAULT) event.detail = DND.DROP_COPY;
-		}
-		public void dragOperationChanged(DropTargetEvent event) {
-			if (event.detail == DND.DROP_DEFAULT) event.detail = DND.DROP_COPY;
-		}
-		public void dragOver(DropTargetEvent event) {
-			event.detail = DND.DROP_NONE;
-			TableItem item = (TableItem)event.item;
-			if (item == null) return;
-			int itemIndex = table.indexOf(item);
-			if (itemIndex % 2 == 0) {
-				int index = 0;
-				while (index < event.dataTypes.length) {
-					if (fileTransfer.isSupportedType(event.dataTypes[index])) break;
-					index++;
-				}
-				if (index < event.dataTypes.length) {
-					event.currentDataType = event.dataTypes[index];
-					event.detail = DND.DROP_COPY;
-					return;
-				}
-			} else {
-				int index = 0;
-				while (index < event.dataTypes.length) {
-					if (textTransfer.isSupportedType(event.dataTypes[index])) break;
-					index++;
-				}
-				if (index < event.dataTypes.length) {
-					event.currentDataType = event.dataTypes[index];
-					event.detail = DND.DROP_COPY;
-					return;
-				}
-			}
-		}
-
-		public void drop(DropTargetEvent event) {
-			TableItem item = (TableItem)event.item;
-			if (item == null) {
-				event.detail = DND.DROP_NONE;
-				return;
-			}
-			if (fileTransfer.isSupportedType(event.currentDataType)) {
-				String[] files = (String[])event.data;
-				if (files != null && files.length > 0) {
-					item.setText(files[0]);
-				}
-			}
-			if (textTransfer.isSupportedType(event.currentDataType)) {
-				String text = (String)event.data;
-				if (text != null) {
-					item.setText(text);
-				}
-			}
-		}
-		
-	});
-	shell.setSize(300, 150);
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet186.html b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet186.html
deleted file mode 100644
index d9f8803..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet186.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<HTML>
-  <HEAD>
-    <TITLE>Post</TITLE>
-	<p>Test for Posting Data in IE</p>
-
-  </HEAD>
-
-  <BODY>
-    <FORM METHOD="post"
-       ACTION="http://host/cgi-bin/mas_form">
-    <INPUT TYPE="text" NAME="name"
-       SIZE=20 VALUE="Try it (post)">
- </FORM>
- 
-  </BODY>
-</HTML>
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet186.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet186.java
deleted file mode 100644
index 7602c2d..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet186.java
+++ /dev/null
@@ -1,202 +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.swt.snippets;
-
-/*
- * Reading and writing to a SAFEARRAY
- * 
- * This example reads from a PostData object in a BeforeNavigate2 event and
- * creates a PostData object in a call to Navigate (32-bit win32 only).
- * NOTE: This snippet uses internal SWT packages that are
- * subject to change without notice.
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.internal.win32.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.ole.win32.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet186 {
-
-static int CodePage = OS.GetACP();
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setLayout(new GridLayout(2, false));
-	
-	final Text text = new Text(shell, SWT.BORDER);
-	text.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
-	Button go = new Button(shell, SWT.PUSH);
-	go.setText("Go");
-	OleFrame oleFrame = new OleFrame(shell, SWT.NONE);
-	oleFrame.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1));
-	OleControlSite controlSite;
-	OleAutomation automation;
-	try {
-		controlSite = new OleControlSite(oleFrame, SWT.NONE, "Shell.Explorer");
-		automation = new OleAutomation(controlSite);
-		controlSite.doVerb(OLE.OLEIVERB_INPLACEACTIVATE);
-	} catch (SWTException ex) {
-		return;
-	}
-	
-	final OleAutomation auto = automation;
-	go.addListener(SWT.Selection, new Listener() {
-		public void handleEvent(Event e) {
-			String url = text.getText();
-			int[] rgdispid = auto.getIDsOfNames(new String[]{"Navigate", "URL"}); 
-			int dispIdMember = rgdispid[0];
-			Variant[] rgvarg = new Variant[1];
-			rgvarg[0] = new Variant(url);
-			int[] rgdispidNamedArgs = new int[1];
-			rgdispidNamedArgs[0] = rgdispid[1];
-			auto.invoke(dispIdMember, rgvarg, rgdispidNamedArgs);
-		}
-	});
-	
-	
-	// Read PostData whenever we navigate to a site that uses it
-	int BeforeNavigate2 = 0xfa;
-	controlSite.addEventListener(BeforeNavigate2, new OleListener() {
-		public void handleEvent(OleEvent event) {
-			Variant url = event.arguments[1];
-			Variant postData = event.arguments[4];
-			if (postData != null) {
-				System.out.println("PostData = "+readSafeArray(postData)+", URL = "+url.getString());
-			}
-		}
-	});
-	
-	// Navigate to this web site which uses post data to fill in the text field
-	// and put the string "hello world" into the text box
-	text.setText("file://"+Snippet186.class.getResource("Snippet186.html").getFile());
-	int[] rgdispid = automation.getIDsOfNames(new String[]{"Navigate", "URL", "PostData"}); 
-	int dispIdMember = rgdispid[0];	
-	Variant[] rgvarg = new Variant[2];
-	rgvarg[0] = new Variant(text.getText());
-	rgvarg[1] = writeSafeArray("hello world");
-	int[] rgdispidNamedArgs = new int[2];
-	rgdispidNamedArgs[0] = rgdispid[1];
-	rgdispidNamedArgs[1] = rgdispid[2];
-	automation.invoke(dispIdMember, rgvarg, rgdispidNamedArgs);
-		
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-
-// The following structs are accessed in the readSafeArray and writeSafeArray
-// functions:
-//
-// VARIANT:
-// 		short vt
-// 		short wReserved1
-// 		short wReserved2
-// 		short wReserved3
-// 		int parray
-//
-// SAFEARRAY:
-//      short cDims      // Count of dimensions in this array
-//      short fFeatures  // Flags used by the SafeArray
-//      int cbElements   // Size of an element of the array
-//      int cLocks       // Number of times the array has been locked without corresponding unlock
-//      int pvData       // Pointer to the data
-//      SAFEARRAYBOUND[] rgsabound // One bound for each dimension
-//
-// SAFEARRAYBOUND:
-//      int cElements    // the number of elements in the dimension
-//      int lLbound      // the lower bound of the dimension 
-
-static String readSafeArray(Variant variantByRef) {
-	// Read a safearray that contains data of 
-	// type VT_UI1 (unsigned shorts) which contains
-	// a text stream.
-    int pPostData = variantByRef.getByRef();
-    short[] vt_type = new short[1];
-    OS.MoveMemory(vt_type, pPostData, 2);
-    String result = null;
-    if (vt_type[0] == (short)(OLE.VT_BYREF | OLE.VT_VARIANT)) {
-        int[] pVariant = new int[1];
-        OS.MoveMemory(pVariant, pPostData + 8, 4);
-        vt_type = new short[1];
-        OS.MoveMemory(vt_type, pVariant[0], 2);
-        if (vt_type[0] == (short)(OLE.VT_ARRAY | OLE.VT_UI1)) {
-            int[] pSafearray = new int[1];
-            OS.MoveMemory(pSafearray, pVariant[0] + 8, 4);
-            short[] cDims = new short[1];
-            OS.MoveMemory(cDims, pSafearray[0], 2);
-            int[] pvData = new int[1];
-            OS.MoveMemory(pvData, pSafearray[0] + 12, 4);
-            int safearrayboundOffset = 0;
-            for (int i = 0; i < cDims[0]; i++) {
-                int[] cElements = new int[1];
-                OS.MoveMemory(cElements, pSafearray[0] + 16 + safearrayboundOffset, 4);
-                safearrayboundOffset += 8;
-                int cchWideChar = OS.MultiByteToWideChar (CodePage, OS.MB_PRECOMPOSED,  pvData[0], -1, null, 0);
-				if (cchWideChar == 0) return null;
-				char[] lpWideCharStr = new char [cchWideChar - 1];
-				OS.MultiByteToWideChar (CodePage, OS.MB_PRECOMPOSED,  pvData[0], -1, lpWideCharStr, lpWideCharStr.length);
-				result = new String(lpWideCharStr);
-            }
-        }
-    }
-    return result;
-}
-
-static Variant writeSafeArray (String string) {
-	// Create a one dimensional safearray containing two VT_UI1 values
-	// where VT_UI1 is an unsigned char
-	
-	// Define cDims, fFeatures and cbElements
-	short cDims = 1;
-	short FADF_FIXEDSIZE = 0x10;
-	short FADF_HAVEVARTYPE = 0x80;
-	short fFeatures = (short)(FADF_FIXEDSIZE | FADF_HAVEVARTYPE);
-	int cbElements = 1;
-	// Create a pointer and copy the data into it
-	int count = string.length();
-	char[] chars = new char[count + 1];
-	string.getChars(0, count, chars, 0);
-	int cchMultiByte = OS.WideCharToMultiByte(CodePage, 0, chars, -1, null, 0, null, null);
-	if (cchMultiByte == 0) return null;
-	int pvData = OS.GlobalAlloc(OS.GMEM_FIXED | OS.GMEM_ZEROINIT, cchMultiByte);
-	OS.WideCharToMultiByte(CodePage, 0, chars, -1, pvData, cchMultiByte, null, null);
-	int cElements1 = cchMultiByte;
-	int lLbound1 = 0;
-	// Create a safearray in memory
-	// 12 bytes for cDims, fFeatures and cbElements + 4 bytes for pvData + number of dimensions * (size of safearraybound)
-	int sizeofSafeArray = 12 + 4 + 1*8;
-	int pSafeArray = OS.GlobalAlloc(OS.GMEM_FIXED | OS.GMEM_ZEROINIT, sizeofSafeArray);
-	// Copy the data into the safe array
-	int offset = 0;
-	OS.MoveMemory(pSafeArray + offset, new short[] {cDims}, 2); offset += 2;
-	OS.MoveMemory(pSafeArray + offset, new short[] {fFeatures}, 2); offset += 2;
-	OS.MoveMemory(pSafeArray + offset, new int[] {cbElements}, 4); offset += 4;
-	OS.MoveMemory(pSafeArray + offset, new int[] {0}, 4); offset += 4;
-	OS.MoveMemory(pSafeArray + offset, new int[] {pvData}, 4); offset += 4;
-	OS.MoveMemory(pSafeArray + offset, new int[] {cElements1}, 4); offset += 4;
-	OS.MoveMemory(pSafeArray + offset, new int[] {lLbound1}, 4); offset += 4;
-	// Create a variant in memory to hold the safearray
-	int pVariant = OS.GlobalAlloc(OS.GMEM_FIXED | OS.GMEM_ZEROINIT, Variant.sizeof);
-	short vt = (short)(OLE.VT_ARRAY | OLE.VT_UI1);
-	OS.MoveMemory(pVariant, new short[] {vt}, 2);
-	OS.MoveMemory(pVariant + 8, new int[]{pSafeArray}, 4);
-	// Create a by ref variant
-	Variant variantByRef = new Variant(pVariant, (short)(OLE.VT_BYREF | OLE.VT_VARIANT));
-	return variantByRef;
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet187.html b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet187.html
deleted file mode 100644
index c9b2762..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet187.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<HTML>
-  <HEAD>
-    <TITLE>Evaluate</TITLE>
-	<p>Test for IE Script</p>
-    <SCRIPT>
-      function evaluate(x)
-      {
-         alert("hello")
-         return eval(x)
-      }
-   </SCRIPT>
-  </HEAD>
-
-  <BODY>
-  </BODY>
-</HTML>
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet187.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet187.java
deleted file mode 100644
index ccb0162..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet187.java
+++ /dev/null
@@ -1,100 +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.swt.snippets;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.ole.win32.*;
-import org.eclipse.swt.widgets.*;
-
-/*
- * Running a script within IE. (win32 only)
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-
-public class Snippet187 {
-	
-public static void main(String[] args) {
-	final Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setLayout(new FillLayout());
-	OleControlSite controlSite;
-	try {
-		OleFrame frame = new OleFrame(shell, SWT.NONE);
-		controlSite = new OleControlSite(frame, SWT.NONE, "Shell.Explorer");
-		controlSite.doVerb(OLE.OLEIVERB_INPLACEACTIVATE);
-	} catch (SWTError e) {
-		System.out.println("Unable to open activeX control");
-		return;
-	}
-	
-	// IWebBrowser
-	final OleAutomation webBrowser = new OleAutomation(controlSite);
-
-	// When the document is loaded, access the document object for the new page
-	// and evalute expression using Script.
-	int DownloadComplete = 104;
-	controlSite.addEventListener(DownloadComplete, new OleListener() {
-		public void handleEvent(OleEvent event) {
-			int[] htmlDocumentID = webBrowser.getIDsOfNames(new String[]{"Document"}); 
-			if (htmlDocumentID == null) return;
-			Variant pVarResult = webBrowser.getProperty(htmlDocumentID[0]);
-			if (pVarResult == null || pVarResult.getType() == 0) return;
-			//IHTMLDocument2
-			OleAutomation htmlDocument = null;
-			try {
-				htmlDocument = pVarResult.getAutomation();
-				pVarResult.dispose();
-	
-				int[] scriptID = htmlDocument.getIDsOfNames(new String[]{"Script"}); 
-				if (scriptID == null) return;
-				pVarResult = htmlDocument.getProperty(scriptID[0]);
-				if (pVarResult == null || pVarResult.getType() == 0) return;
-				OleAutomation htmlWindow = null;
-				try {
-					//IHTMLWindow2
-					htmlWindow = pVarResult.getAutomation();
-					pVarResult.dispose();
-					int[] evaluateID = htmlWindow.getIDsOfNames(new String[] {"evaluate"});
-					if (evaluateID == null) return;
-					String expression = "5+Math.sin(9)";
-					Variant[] rgvarg = new Variant[] {new Variant(expression)};
-					pVarResult = htmlWindow.invoke(evaluateID[0], rgvarg, null);
-					if (pVarResult == null || pVarResult.getType() == 0) return;
-					System.out.println(expression+" ="+pVarResult.getString());
-				} finally {
-					htmlWindow.dispose();
-				}
-			} finally {
-				htmlDocument.dispose();
-			}
-		}
-	});
-	
-	// Navigate to a web site
-	int[] ids = webBrowser.getIDsOfNames(new String[]{"Navigate", "URL"}); 
-	Variant[] rgvarg = new Variant[] {new Variant("http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet187.html")};
-	int[] rgdispidNamedArgs = new int[]{ids[1]};
-	webBrowser.invoke(ids[0], rgvarg, rgdispidNamedArgs);
-
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	//Remember to release OleAutomation Object
-	webBrowser.dispose();
-	display.dispose();
-	
-}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet188.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet188.java
deleted file mode 100644
index 13044c2..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet188.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.swt.snippets;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-/*
- * Scroll a widget into view on focus in
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */
-
-public class Snippet188 {
-	
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setLayout(new GridLayout());
-	final ScrolledComposite sc = new ScrolledComposite(shell, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
-	sc.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
-	Composite c = new Composite(sc, SWT.NONE);
-	c.setLayout(new GridLayout(10, true));
-	for (int i = 0 ; i < 300; i++) {
-		Button b = new Button(c, SWT.PUSH);
-		b.setText("Button "+i);
-	}
-	sc.setContent(c);
-	sc.setExpandHorizontal(true);
-	sc.setExpandVertical(true);
-	sc.setMinSize(c.computeSize(SWT.DEFAULT, SWT.DEFAULT));
-
-	Listener listener = new Listener() {
-		public void handleEvent(Event e) {
-			Control child = (Control)e.widget;
-			Rectangle bounds = child.getBounds();
-			Rectangle area = sc.getClientArea();
-			Point origin = sc.getOrigin();
-			if (origin.x > bounds.x) origin.x = Math.max(0, bounds.x);
-			if (origin.y > bounds.y) origin.y = Math.max(0, bounds.y);
-			if (origin.x + area.width < bounds.x + bounds.width) origin.x = Math.max(0, bounds.x + bounds.width - area.width);
-			if (origin.y + area.height < bounds.y + bounds.height) origin.y = Math.max(0, bounds.y + bounds.height - area.height);
-			sc.setOrigin(origin);
-		}
-	};
-	Control[] controls = c.getChildren();
-	for (int i = 0; i < controls.length; i++) {
-		controls[i].addListener(SWT.Activate, listener);
-	}
-
-	shell.setSize(300, 500);
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet189.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet189.java
deleted file mode 100644
index 54f30b2..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet189.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.swt.snippets;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-/*
- * Text with underline and strike through
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.1
- */
-
-public class Snippet189 {
-	
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setText("StyledText with underline and strike through");
-	shell.setLayout(new FillLayout());
-	StyledText text = new StyledText (shell, SWT.BORDER);
-	text.setText("0123456789 ABCDEFGHIJKLM NOPQRSTUVWXYZ");
-	// make 0123456789 appear underlined
-	StyleRange style1 = new StyleRange();
-	style1.start = 0;
-	style1.length = 10;
-	style1.underline = true;
-	text.setStyleRange(style1);
-	// make ABCDEFGHIJKLM have a strike through
-	StyleRange style2 = new StyleRange();
-	style2.start = 11;
-	style2.length = 13;
-	style2.strikeout = true;
-	text.setStyleRange(style2);
-	// make NOPQRSTUVWXYZ appear underlined and have a strike through
-	StyleRange style3 = new StyleRange();
-	style3.start = 25;
-	style3.length = 13;
-	style3.underline = true;
-	style3.strikeout = true;
-	text.setStyleRange(style3);
-	shell.pack();
-	shell.open();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet19.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet19.java
deleted file mode 100644
index be69169..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet19.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Text example snippet: verify input (only allow digits)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet19 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	Text text = new Text (shell, SWT.BORDER | SWT.V_SCROLL);
-	text.setBounds (10, 10, 200, 200);
-	text.addListener (SWT.Verify, new Listener () {
-		public void handleEvent (Event e) {
-			String string = e.text;
-			char [] chars = new char [string.length ()];
-			string.getChars (0, chars.length, chars, 0);
-			for (int i=0; i<chars.length; i++) {
-				if (!('0' <= chars [i] && chars [i] <= '9')) {
-					e.doit = false;
-					return;
-				}
-			}
-		}
-	});
-	shell.open ();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet190.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet190.java
deleted file mode 100644
index b9d71c4..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet190.java
+++ /dev/null
@@ -1,59 +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.swt.snippets;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-/*
- * Floating point values in Spinner
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.1
- */
-
-public class Snippet190 {
-	
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setText("Spinner with float values");
-	shell.setLayout(new GridLayout());
-	final Spinner spinner = new Spinner(shell, SWT.NONE);
-	// allow 3 decimal places
-	spinner.setDigits(3);
-	// set the minimum value to 0.001
-	spinner.setMinimum(1);
-	// set the maximum value to 20
-	spinner.setMaximum(20000);
-	// set the increment value to 0.010
-	spinner.setIncrement(10);
-	// set the seletion to 3.456
-	spinner.setSelection(3456);
-	spinner.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			int selection = spinner.getSelection();
-			int digits = spinner.getDigits();
-			System.out.println("Selection is "+(selection / Math.pow(10, digits)));
-		}
-	});
-	shell.setSize(200, 200);
-	shell.open();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet191.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet191.java
deleted file mode 100644
index 0fac1a6..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet191.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.swt.snippets;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-/*
- * Detect when the user scrolls a text control
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-
-public class Snippet191 {
-public static void main(String[] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setLayout (new FillLayout ());
-	final Text text = new Text (shell, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
-	for (int i=0; i<32; i++) {
-		text.append (i + "-This is a line of text in a widget-" + i + "\n");
-	}
-	text.setSelection (0);
-	Listener listener = new Listener () {
-		int lastIndex = text.getTopIndex ();
-		public void handleEvent (Event e) {
-			int index = text.getTopIndex ();
-			if (index != lastIndex) {
-				lastIndex = index;
-				System.out.println ("Scrolled, topIndex=" + index);
-			}
-		}
-	};
-	/* NOTE: Only detects scrolling by the user */
-	text.addListener (SWT.MouseDown, listener);
-	text.addListener (SWT.MouseMove, listener);
-	text.addListener (SWT.MouseUp, listener);
-	text.addListener (SWT.KeyDown, listener);
-	text.addListener (SWT.KeyUp, listener);
-	text.addListener (SWT.Resize, listener);
-	ScrollBar hBar = text.getHorizontalBar();
-	if (hBar != null) {
-		hBar.addListener (SWT.Selection, listener);
-	}
-	ScrollBar vBar = text.getVerticalBar();
-	if (vBar != null) {
-		vBar.addListener (SWT.Selection, listener);
-	}
-	shell.pack ();
-	Point size = shell.computeSize (SWT.DEFAULT, SWT.DEFAULT);
-	shell.setSize (size. x - 32, size.y / 2);
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet192.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet192.java
deleted file mode 100644
index 3d8d6d0..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet192.java
+++ /dev/null
@@ -1,104 +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.swt.snippets;
-
-import java.util.*;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-/*
- * Show a sort indicator in the column header
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */
-
-public class Snippet192 {
-public static void main(String[] args) {
-	// initialize data with keys and random values
-	int size = 100;
-	Random random = new Random();
-	final int[][] data = new int[size][];
-	for (int i = 0; i < data.length; i++) {
-		data[i] = new int[] {i, random.nextInt()};
-	}
-	// create a virtual table to display data
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setLayout(new FillLayout());
-	final Table table = new Table(shell, SWT.VIRTUAL);
-	table.setHeaderVisible(true);
-	table.setLinesVisible(true);
-	table.setItemCount(size);
-	final TableColumn column1 = new TableColumn(table, SWT.NONE);
-	column1.setText("Key");
-	column1.setWidth(200);
-	final TableColumn column2 = new TableColumn(table, SWT.NONE);
-	column2.setText("Value");
-	column2.setWidth(200);
-	table.addListener(SWT.SetData, new Listener() {
-		public void handleEvent(Event e) {
-			TableItem item = (TableItem) e.item;
-			int index = table.indexOf(item);
-			int[] datum = data[index];
-			item.setText(new String[] {Integer.toString(datum[0]),
-					Integer.toString(datum[1]) });
-		}
-	});
-	// Add sort indicator and sort data when column selected
-	Listener sortListener = new Listener() {
-		public void handleEvent(Event e) {
-			// determine new sort column and direction
-			TableColumn sortColumn = table.getSortColumn();
-			TableColumn currentColumn = (TableColumn) e.widget;
-			int dir = table.getSortDirection();
-			if (sortColumn == currentColumn) {
-				dir = dir == SWT.UP ? SWT.DOWN : SWT.UP;
-			} else {
-				table.setSortColumn(currentColumn);
-				dir = SWT.UP;
-			}
-			// sort the data based on column and direction
-			final int index = currentColumn == column1 ? 0 : 1;
-			final int direction = dir;
-			Arrays.sort(data, new Comparator() {
-				public int compare(Object arg0, Object arg1) {
-					int[] a = (int[]) arg0;
-					int[] b = (int[]) arg1;
-					if (a[index] == b[index]) return 0;
-					if (direction == SWT.UP) {
-						return a[index] < b[index] ? -1 : 1;
-					}
-					return a[index] < b[index] ? 1 : -1;
-				}
-			});
-			// update data displayed in table
-			table.setSortDirection(dir);
-			table.clearAll();
-		}
-	};
-	column1.addListener(SWT.Selection, sortListener);
-	column2.addListener(SWT.Selection, sortListener);
-	table.setSortColumn(column1);
-	table.setSortDirection(SWT.UP);
-	shell.setSize(shell.computeSize(SWT.DEFAULT, SWT.DEFAULT).x, 300);
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	display.dispose();
-}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet193.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet193.java
deleted file mode 100644
index ef0b65a..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet193.java
+++ /dev/null
@@ -1,91 +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.swt.snippets;
-
-/*
- * Tree example snippet: allow user to reorder columns by dragging and programmatically.
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet193 {
-
-	public static void main(String[] args) {
-		Display display = new Display();
-		Shell shell = new Shell(display);
-		shell.setLayout(new RowLayout(SWT.HORIZONTAL));
-		final Tree tree = new Tree(shell, SWT.BORDER | SWT.CHECK);
-		tree.setLayoutData(new RowData(-1, 300));
-		tree.setHeaderVisible(true);
-		TreeColumn column = new TreeColumn(tree, SWT.LEFT);
-		column.setText("Column 0");
-		column = new TreeColumn(tree, SWT.CENTER);
-		column.setText("Column 1");
-		column = new TreeColumn(tree, SWT.LEFT);
-		column.setText("Column 2");
-		column = new TreeColumn(tree, SWT.RIGHT);
-		column.setText("Column 3");
-		column = new TreeColumn(tree, SWT.CENTER);
-		column.setText("Column 4");
-		for (int i = 0; i < 5; i++) {
-			TreeItem item = new TreeItem(tree, SWT.NONE);
-			String[] text = new String[]{i+":0", i+":1", i+":2", i+":3", i+":4"};
-			item.setText(text);
-			for (int j = 0; j < 5; j++) {
-				TreeItem subItem = new TreeItem(item, SWT.NONE);
-				text = new String[]{i+","+j+":0", i+","+j+":1", i+","+j+":2", i+","+j+":3", i+","+j+":4"};
-				subItem.setText(text);
-				for (int k = 0; k < 5; k++) {
-					TreeItem subsubItem = new TreeItem(subItem, SWT.NONE);
-					text = new String[]{i+","+j+","+k+":0", i+","+j+","+k+":1", i+","+j+","+k+":2", i+","+j+","+k+":3", i+","+j+","+k+":4"};
-					subsubItem.setText(text);
-				}
-			}
-		}
-		Listener listener = new Listener() {
-			public void handleEvent(Event e) {
-				System.out.println("Move "+e.widget);
-			}
-		};
-		TreeColumn[] columns = tree.getColumns();
-		for (int i = 0; i < columns.length; i++) {
-			columns[i].setWidth(100);
-			columns[i].setMoveable(true);
-			columns[i].addListener(SWT.Move, listener);
-		}
-		Button b = new Button(shell, SWT.PUSH);
-		b.setText("invert column order");
-		b.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				int[] order = tree.getColumnOrder();
-				for (int i = 0; i < order.length / 2; i++) {
-					int temp = order[i];
-					order[i] = order[order.length - i - 1];
-					order[order.length - i - 1] = temp;
-				}
-				tree.setColumnOrder(order);
-			}
-		});
-		shell.pack();
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		display.dispose();
-	}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet194.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet194.java
deleted file mode 100644
index 046253f..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet194.java
+++ /dev/null
@@ -1,91 +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.swt.snippets;
-
-/*
- * Write an animated GIF to a file.
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet194 {
-	Display display;
-	Color white, red, green, blue;
-	PaletteData palette;
-	Font font;
-
-	public static void main(String[] args) {
-		new Snippet194().run();
-	}
-	
-	public void run() {
-		display = new Display();
-		RGB whiteRGB = new RGB(0xff, 0xff, 0xff);
-		RGB redRGB = new RGB(0xff, 0, 0);
-		RGB greenRGB = new RGB(0, 0xff, 0);
-		RGB blueRGB = new RGB(0, 0, 0xff);
-		palette = new PaletteData(new RGB[] {
-				whiteRGB,	// 0
-				redRGB,		// 1
-				greenRGB,	// 2
-				blueRGB });	// 3
-		white = new Color(display, whiteRGB);
-		red = new Color(display, redRGB);
-		green = new Color(display, greenRGB);
-		blue = new Color(display, blueRGB);
-		font = new Font(display, "Comic Sans MS", 24, SWT.BOLD);
-		
-		ImageData[] data = new ImageData[4];
-		data[0] = newFrame("",  white, false, 0, 0, 101, 55, SWT.DM_FILL_NONE, 40);
-		data[1] = newFrame("S", red,   true,  0, 0,  30, 55, SWT.DM_FILL_NONE, 40);
-		data[2] = newFrame("W", green, true, 28, 0,  39, 55, SWT.DM_FILL_NONE, 40);
-		data[3] = newFrame("T", blue,  true, 69, 0,  32, 55, SWT.DM_FILL_BACKGROUND, 200);
-		
-		ImageLoader loader = new ImageLoader();
-		loader.data = data;
-		loader.backgroundPixel = 0;
-		loader.logicalScreenHeight = data[0].height;
-		loader.logicalScreenWidth = data[0].width;
-		loader.repeatCount = 0; // run forever
-		loader.save("swt.gif", SWT.IMAGE_GIF);
-
-		white.dispose();
-		red.dispose();
-		green.dispose();
-		blue.dispose();
-		font.dispose();
-		display.dispose();
-	}
-
-	ImageData newFrame(String letter, Color color, boolean transparent, int x, int y, int width, int height, int disposalMethod, int delayTime) {
-		ImageData temp = new ImageData(width, height, 2, palette); // 4-color palette has depth 2
-		Image image = new Image(display, temp);
-		GC gc = new GC(image);
-		gc.setBackground(white);
-		gc.fillRectangle(0, 0, width, height);
-		gc.setForeground(color);
-		gc.setFont(font);
-		gc.drawString(letter, 5, 5);
-		gc.dispose();
-		ImageData frame = image.getImageData();
-		if (transparent) frame.transparentPixel = 0; // white
-		image.dispose();
-		frame.x = x;
-		frame.y = y;
-		frame.disposalMethod = disposalMethod;
-		frame.delayTime = delayTime;
-		return frame;
-	}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet195.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet195.java
deleted file mode 100644
index 82fcfc5..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet195.java
+++ /dev/null
@@ -1,134 +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.swt.snippets;
-
-/*
- * SWT OpenGL snippet: use LWJGL to draw to an SWT GLCanvas
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.opengl.GLCanvas;
-import org.eclipse.swt.opengl.GLData;
-import org.lwjgl.opengl.GL11;
-import org.lwjgl.opengl.GLContext;
-import org.lwjgl.opengl.glu.GLU;
-import org.lwjgl.LWJGLException;
-
-public class Snippet195 {
-	static void drawTorus(float r, float R, int nsides, int rings) {
-		float ringDelta = 2.0f * (float) Math.PI / rings;
-		float sideDelta = 2.0f * (float) Math.PI / nsides;
-		float theta = 0.0f, cosTheta = 1.0f, sinTheta = 0.0f;
-		for (int i = rings - 1; i >= 0; i--) {
-			float theta1 = theta + ringDelta;
-			float cosTheta1 = (float) Math.cos(theta1);
-			float sinTheta1 = (float) Math.sin(theta1);
-			GL11.glBegin(GL11.GL_QUAD_STRIP);
-			float phi = 0.0f;
-			for (int j = nsides; j >= 0; j--) {
-				phi += sideDelta;
-				float cosPhi = (float) Math.cos(phi);
-				float sinPhi = (float) Math.sin(phi);
-				float dist = R + r * cosPhi;
-				GL11.glNormal3f(cosTheta1 * cosPhi, -sinTheta1 * cosPhi, sinPhi);
-				GL11.glVertex3f(cosTheta1 * dist, -sinTheta1 * dist, r * sinPhi);
-				GL11.glNormal3f(cosTheta * cosPhi, -sinTheta * cosPhi, sinPhi);
-				GL11.glVertex3f(cosTheta * dist, -sinTheta * dist, r * sinPhi);
-			}
-			GL11.glEnd();
-			theta = theta1;
-			cosTheta = cosTheta1;
-			sinTheta = sinTheta1;
-		}
-	}
-
-	public static void main(String [] args) {
-		final Display display = new Display();
-		Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		Composite comp = new Composite(shell, SWT.NONE);
-		comp.setLayout(new FillLayout());
-		GLData data = new GLData ();
-		data.doubleBuffer = true;
-		final GLCanvas canvas = new GLCanvas(comp, SWT.NONE, data);
-
-		canvas.setCurrent();
-		try {
-			GLContext.useContext(canvas);
-		} catch(LWJGLException e) { e.printStackTrace(); }
-
-		canvas.addListener(SWT.Resize, new Listener() {
-			public void handleEvent(Event event) {
-				Rectangle bounds = canvas.getBounds();
-				float fAspect = (float) bounds.width / (float) bounds.height;
-				canvas.setCurrent();
-				try {
-					GLContext.useContext(canvas);
-				} catch(LWJGLException e) { e.printStackTrace(); }
-				GL11.glViewport(0, 0, bounds.width, bounds.height);
-				GL11.glMatrixMode(GL11.GL_PROJECTION);
-				GL11.glLoadIdentity();
-				GLU.gluPerspective(45.0f, fAspect, 0.5f, 400.0f);
-				GL11.glMatrixMode(GL11.GL_MODELVIEW);
-				GL11.glLoadIdentity();
-			}
-		});
-
-		GL11.glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
-		GL11.glColor3f(1.0f, 0.0f, 0.0f);
-		GL11.glHint(GL11.GL_PERSPECTIVE_CORRECTION_HINT, GL11.GL_NICEST);
-		GL11.glClearDepth(1.0);
-		GL11.glLineWidth(2);
-		GL11.glEnable(GL11.GL_DEPTH_TEST);
-
-		shell.setText("SWT/LWJGL Example");
-		shell.setSize(640, 480);
-		shell.open();
-
-		display.asyncExec(new Runnable() {
-			int rot = 0;
-			public void run() {
-				if (!canvas.isDisposed()) {
-					canvas.setCurrent();
-					try {
-						GLContext.useContext(canvas);
-					} catch(LWJGLException e) { e.printStackTrace(); }
-					GL11.glClear(GL11.GL_COLOR_BUFFER_BIT | GL11.GL_DEPTH_BUFFER_BIT);
-					GL11.glClearColor(.3f, .5f, .8f, 1.0f);
-					GL11.glLoadIdentity();
-					GL11.glTranslatef(0.0f, 0.0f, -10.0f);
-					float frot = rot;
-					GL11.glRotatef(0.15f * rot, 2.0f * frot, 10.0f * frot, 1.0f);
-					GL11.glRotatef(0.3f * rot, 3.0f * frot, 1.0f * frot, 1.0f);
-					rot++;
-					GL11.glPolygonMode(GL11.GL_FRONT_AND_BACK, GL11.GL_LINE);
-					GL11.glColor3f(0.9f, 0.9f, 0.9f);
-					drawTorus(1, 1.9f + ((float) Math.sin((0.004f * frot))), 15, 15);
-					canvas.swapBuffers();
-					display.asyncExec(this);
-				}
-			}
-		});
-
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		display.dispose();
-	}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet196.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet196.java
deleted file mode 100644
index 98081d4..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet196.java
+++ /dev/null
@@ -1,140 +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.swt.snippets;
-
-/*
- * Text example snippet: use a regular expression to verify input
- * In this case a phone number is used.
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import java.util.regex.*;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet196 {
-	/*
-	 * Phone numbers follow the rule [(][1-9][1-9][1-9][)][1-9][1-9][1-9][-][1-9][1-9][1-9][1-9]
-	 */
-	private static final String REGEX = "[(]\\d{3}[)]\\d{3}[-]\\d{4}";  //$NON-NLS-1$
-	private static final String template = "(###)###-####"; //$NON-NLS-1$
-	private static final String defaultText = "(000)000-0000"; //$NON-NLS-1$
-	
-	
-public static void main(String[] args) {
-	
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setLayout(new GridLayout());
-	final Text text = new Text(shell, SWT.BORDER);
-	Font font = new Font(display, "Courier New", 10, SWT.NONE); //$NON-NLS-1$
-	text.setFont(font);
-	text.setText(template);	
-	text.addListener(SWT.Verify, new Listener() {
-		//create the pattern for verification
-		Pattern pattern = Pattern.compile(REGEX);	
-		//ignore event when caused by inserting text inside event handler
-		boolean ignore;
-		public void handleEvent(Event e) {
-			if (ignore) return;
-			e.doit = false;
-			if (e.start > 13 || e.end > 14) return;
-			StringBuffer buffer = new StringBuffer(e.text);
-			
-			//handle backspace
-			if (e.character == '\b') {
-				for (int i = e.start; i < e.end; i++) {
-					// skip over separators
-					switch (i) {
-						case 0: 
-							if (e.start + 1 == e.end) {
-								return;
-							} else {
-								buffer.append('(');
-							}
-							break;
-						case 4:
-							if (e.start + 1 == e.end) {
-								buffer.append(new char [] {'#',')'});
-								e.start--;
-							} else {
-								buffer.append(')');
-							}
-							break;
-						case 8:
-							if (e.start + 1 == e.end) {
-								buffer.append(new char [] {'#','-'});
-								e.start--;
-							} else {
-								buffer.append('-');
-							}
-							break;
-						default: buffer.append('#');
-					}
-				}
-				text.setSelection(e.start, e.start + buffer.length());
-				ignore = true;
-				text.insert(buffer.toString());
-				ignore = false;
-				// move cursor backwards over separators
-				if (e.start == 5 || e.start == 9) e.start--;
-				text.setSelection(e.start, e.start);
-				return;
-			}
-			
-			StringBuffer newText = new StringBuffer(defaultText);
-			char[] chars = e.text.toCharArray();
-			int index = e.start - 1;
-			for (int i = 0; i < e.text.length(); i++) {
-				index++;
-				switch (index) {
-					case 0:
-						if (chars[i] == '(') continue;
-						index++;
-						break;
-					case 4:
-						if (chars[i] == ')') continue;
-						index++;
-						break;
-					case 8:
-						if (chars[i] == '-') continue;
-						index++;
-						break;
-				}
-				if (index >= newText.length()) return;
-				newText.setCharAt(index, chars[i]);
-			}
-			// if text is selected, do not paste beyond range of selection
-			if (e.start < e.end && index + 1 != e.end) return;
-			Matcher matcher = pattern.matcher(newText);
-			if (matcher.lookingAt()) {
-				text.setSelection(e.start, index + 1);
-				ignore = true;
-				text.insert(newText.substring(e.start, index + 1));
-				ignore = false;
-			}			
-		}
-	});
-		
-	shell.pack();
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	font.dispose();
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet197.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet197.java
deleted file mode 100644
index 3a609bc..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet197.java
+++ /dev/null
@@ -1,54 +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.swt.snippets;
-
-/*
- * Draw wrapped text using TextLayout
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet197 {
-	final static String longString = "The preferred size of a widget is the minimum size needed to show its content. In the case of a Composite, the preferred size is the smallest rectangle that contains all of its children. If children have been positioned by the application, the Composite computes its own preferred size based on the size and position of the children. If a Composite is using a layout class to position its children, it asks the Layout to compute the size of its clientArea, and then it adds in the trim to determine its preferred size.";
-public static void main(String[] args) {
-	Display display = new Display();
-	final Shell shell = new Shell(display);
-	final TextLayout layout = new TextLayout(display);
-	layout.setText(longString);
-	Listener listener = new Listener() {
-		public void handleEvent (Event event) {
-			switch (event.type) {
-			case SWT.Paint:
-				layout.draw(event.gc, 10, 10);
-				break;
-			case SWT.Resize:
-				layout.setWidth(shell.getSize().x - 20);
-				break;
-			}
-		}
-	};
-	shell.addListener(SWT.Paint, listener);
-	shell.addListener(SWT.Resize, listener);
-	shell.setSize(300, 300);
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet198.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet198.java
deleted file mode 100644
index 26621fd..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet198.java
+++ /dev/null
@@ -1,61 +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.swt.snippets;
-
-/*
- * Create a path from some text
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.1
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet198 {
-public static void main(String[] args) {
-	Display display = new Display();
-	FontData data = display.getSystemFont().getFontData()[0];
-	Font font = new Font(display, data.getName(), 96, SWT.BOLD | SWT.ITALIC);
-	final Color green = display.getSystemColor(SWT.COLOR_GREEN);
-	final Color blue = display.getSystemColor(SWT.COLOR_BLUE);
-	final Path path;
-	try {
-		path = new Path(display);
-		path.addString("SWT", 0, 0, font);
-	} catch (SWTException e) {
-		//Advanced Graphics not supported.  
-		//This new API requires the Cairo Vector engine on GTK and Motif and GDI+ on Windows.
-		System.out.println(e.getMessage());
-		return;
-	}
-	Shell shell = new Shell(display);
-	shell.addListener(SWT.Paint, new Listener() {
-		public void handleEvent(Event e) {			
-			GC gc = e.gc;
-			gc.setBackground(green);
-			gc.setForeground(blue);
-			gc.fillPath(path);
-			gc.drawPath(path);
-		}
-	});
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	path.dispose();
-	font.dispose();
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet199.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet199.java
deleted file mode 100644
index 4b6f831..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet199.java
+++ /dev/null
@@ -1,91 +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.swt.snippets;
-
-/*
- * Listen for events in Excel (win32 only)
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.ole.win32.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet199 {
-	static String IID_AppEvents = "{00024413-0000-0000-C000-000000000046}";
-	// Event ID
-	static int NewWorkbook            = 0x0000061d;
-	static int SheetSelectionChange   = 0x00000616;
-	static int SheetBeforeDoubleClick = 0x00000617;
-	static int SheetBeforeRightClick  = 0x00000618;
-	static int SheetActivate          = 0x00000619;
-	static int SheetDeactivate        = 0x0000061a;
-	static int SheetCalculate         = 0x0000061b;
-	static int SheetChange            = 0x0000061c;
-	static int WorkbookOpen           = 0x0000061f;
-	static int WorkbookActivate       = 0x00000620;
-	static int WorkbookDeactivate     = 0x00000621;
-	static int WorkbookBeforeClose    = 0x00000622;
-	static int WorkbookBeforeSave     = 0x00000623;
-	static int WorkbookBeforePrint    = 0x00000624;
-	static int WorkbookNewSheet       = 0x00000625;
-	static int WorkbookAddinInstall   = 0x00000626;
-	static int WorkbookAddinUninstall = 0x00000627;
-	static int WindowResize           = 0x00000612;
-	static int WindowActivate         = 0x00000614;
-	static int WindowDeactivate       = 0x00000615;
-	static int SheetFollowHyperlink   = 0x0000073e;
-
- public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setLayout(new FillLayout());
-	OleControlSite controlSite;
-	try {
-		OleFrame frame = new OleFrame(shell, SWT.NONE);
-		controlSite = new OleControlSite(frame, SWT.NONE, "Excel.Sheet");
-		controlSite.doVerb(OLE.OLEIVERB_INPLACEACTIVATE);
-	} catch (SWTError e) {
-		System.out.println("Unable to open activeX control");
-		return;
-	}
-	shell.open();
-
-	OleAutomation excelSheet = new OleAutomation(controlSite);
-	int[] dispIDs = excelSheet.getIDsOfNames(new String[] {"Application"});
-	Variant pVarResult = excelSheet.getProperty(dispIDs[0]);
-	OleAutomation application = pVarResult.getAutomation();
-	pVarResult.dispose();
-	excelSheet.dispose();
-	
-	int eventID = SheetSelectionChange;
-	OleListener listener = new OleListener() {
-		public void handleEvent (OleEvent e) {
-			System.out.println("selection has changed");
-			// two arguments which must be released (row and column)
-			Variant[] args = e.arguments;
-			for (int i = 0; i < args.length; i++) {
-				System.out.println(args[i]);
-				args [i].dispose();
-			}
-		}
-	};
-	controlSite.addEventListener(application, IID_AppEvents, eventID, listener);
-	
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	application.dispose();
-	display.dispose ();
-}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet2.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet2.java
deleted file mode 100644
index 78e5bd6..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet2.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Table example snippet: sort a table by column
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-import java.text.*;
-import java.util.*;
-
-public class Snippet2 {
-
-public static void main (String [] args) {
-    Display display = new Display ();
-    Shell shell = new Shell (display);
-    shell.setLayout(new FillLayout());
-    final Table table = new Table(shell, SWT.BORDER);
-    table.setHeaderVisible(true);
-    final TableColumn column1 = new TableColumn(table, SWT.NONE);
-    column1.setText("Column 1");
-    final TableColumn column2 = new TableColumn(table, SWT.NONE);
-    column2.setText("Column 2");
-    TableItem item = new TableItem(table, SWT.NONE);
-    item.setText(new String[] {"a", "3"});
-    item = new TableItem(table, SWT.NONE);
-    item.setText(new String[] {"b", "2"});
-    item = new TableItem(table, SWT.NONE);
-    item.setText(new String[] {"c", "1"});
-    column1.setWidth(100);
-    column2.setWidth(100);
-    Listener sortListener = new Listener() {
-        public void handleEvent(Event e) {
-            TableItem[] items = table.getItems();
-            Collator collator = Collator.getInstance(Locale.getDefault());
-            TableColumn column = (TableColumn)e.widget;
-            int index = column == column1 ? 0 : 1;
-            for (int i = 1; i < items.length; i++) {
-                String value1 = items[i].getText(index);
-                for (int j = 0; j < i; j++){
-                    String value2 = items[j].getText(index);
-                    if (collator.compare(value1, value2) < 0) {
-                        String[] values = {items[i].getText(0), items[i].getText(1)};
-                        items[i].dispose();
-                        TableItem item = new TableItem(table, SWT.NONE, j);
-                        item.setText(values);
-                        items = table.getItems();
-                        break;
-                    }
-                }
-            }
-            table.setSortColumn(column);
-        }
-    };
-    column1.addListener(SWT.Selection, sortListener);
-    column2.addListener(SWT.Selection, sortListener);
-    table.setSortColumn(column1);
-    table.setSortDirection(SWT.UP);
-    shell.setSize(shell.computeSize(SWT.DEFAULT, SWT.DEFAULT).x, 300);
-    shell.open();
-    while (!shell.isDisposed ()) {
-        if (!display.readAndDispatch ()) display.sleep ();
-    }
-    display.dispose ();
-}
-
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet20.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet20.java
deleted file mode 100644
index 46f0bd9..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet20.java
+++ /dev/null
@@ -1,44 +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.swt.snippets;
-
-/*
- * CoolBar example snippet: create a cool bar
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet20 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	CoolBar bar = new CoolBar (shell, SWT.BORDER);
-	for (int i=0; i<2; i++) {
-		CoolItem item = new CoolItem (bar, SWT.NONE);
-		Button button = new Button (bar, SWT.PUSH);
-		button.setText ("Button " + i);
-		Point size = button.computeSize (SWT.DEFAULT, SWT.DEFAULT);
-		item.setPreferredSize (item.computeSize (size.x, size.y));
-		item.setControl (button);
-	}
-	bar.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet200.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet200.java
deleted file mode 100644
index 5cd43da..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet200.java
+++ /dev/null
@@ -1,74 +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.swt.snippets;
-
-/*
- * Fill a shape with a predefined pattern
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.1
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet200 {
-public static void main(String[] args) {
-	Display display = new Display();
-	//define a pattern on an image
-	final Image image = new Image(display, 1000, 1000);
-	Color blue = display.getSystemColor(SWT.COLOR_BLUE);
-	Color yellow = display.getSystemColor(SWT.COLOR_YELLOW);
-	Color white = display.getSystemColor(SWT.COLOR_WHITE);
-	GC gc = new GC(image);
-	gc.setBackground(white);
-	gc.setForeground(yellow);
-	gc.fillGradientRectangle(0, 0, 1000, 1000, true);
-	for (int i=-500; i<1000; i+=10) {
-		gc.setForeground(blue);
-		gc.drawLine(i, 0, 500 + i, 1000);
-		gc.drawLine(500 + i, 0, i, 1000);
-	}	
-	gc.dispose();
-	final Pattern pattern;
-	try {
-		pattern = new Pattern(display, image);
-	} catch (SWTException e) {
-		//Advanced Graphics not supported.  
-		//This new API requires the Cairo Vector engine on GTK and Motif and GDI+ on Windows.
-		System.out.println(e.getMessage());
-		return;
-	}
-	
-	Shell shell = new Shell(display);
-	shell.setLayout(new FillLayout());
-	Composite c = new Composite(shell, SWT.DOUBLE_BUFFERED);
-	c.addListener(SWT.Paint, new Listener() {
-		public void handleEvent(Event event) {
-			Rectangle r = ((Composite)event.widget).getClientArea();
-			GC gc = event.gc;
-			gc.setBackgroundPattern(pattern);
-			gc.fillOval(5, 5, r.width - 10, r.height - 10);	
-		}
-	});
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	image.dispose();
-	pattern.dispose();
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet201.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet201.java
deleted file mode 100644
index 35a1cb7..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet201.java
+++ /dev/null
@@ -1,67 +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.swt.snippets;
-
-/*
- * Virtual Table example snippet: create a table with 1,000,000 items (lazy, page size 64)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */ 
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet201 {
-
-static final int PAGE_SIZE = 64;
-static final int COUNT = 100000;
-
-public static void main(String[] args) {
-	Display display = new Display ();
-	final Shell shell = new Shell (display);
-	shell.setLayout (new RowLayout (SWT.VERTICAL));
-	final Table table = new Table (shell, SWT.VIRTUAL | SWT.BORDER);
-	table.addListener (SWT.SetData, new Listener () {
-		public void handleEvent (Event event) {
-			TableItem item = (TableItem) event.item;
-			int index = table.indexOf (item);
-			int start = index / PAGE_SIZE * PAGE_SIZE;
-			int end = Math.min (start + PAGE_SIZE, table.getItemCount ());
-			for (int i = start; i < end; i++) {
-				item = table.getItem (i);
-				item.setText ("Item " + i);
-			}
-		}
-	});
-	table.setLayoutData (new RowData (200, 200));
-	Button button = new Button (shell, SWT.PUSH);
-	button.setText ("Add Items");
-	final Label label = new Label(shell, SWT.NONE);
-	button.addListener (SWT.Selection, new Listener () {
-		public void handleEvent (Event event) {
-			long t1 = System.currentTimeMillis ();
-			table.setItemCount (COUNT);
-			long t2 = System.currentTimeMillis ();
-			label.setText ("Items: " + COUNT + ", Time: " + (t2 - t1) + " (ms) [page=" + PAGE_SIZE + "]");
-			shell.layout ();
-		}
-	});
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet202.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet202.java
deleted file mode 100644
index 3eb9047..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet202.java
+++ /dev/null
@@ -1,54 +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.swt.snippets;
-
-/*
- * Virtual Tree example snippet: populate tree lazily
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */ 
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet202 {
-
-public static void main(String[] args) {
-	Display display = new Display();
-	final Shell shell = new Shell(display);
-	shell.setLayout (new FillLayout());
-	final Tree tree = new Tree(shell, SWT.VIRTUAL | SWT.BORDER);
-	tree.addListener(SWT.SetData, new Listener() {
-		public void handleEvent(Event event) {
-			TreeItem item = (TreeItem)event.item;
-			TreeItem parentItem = item.getParentItem();
-			String text = null;
-			if (parentItem == null) {
-				text = "node "+tree.indexOf(item);
-			} else {
-				text = parentItem.getText()+" - "+parentItem.indexOf(item);
-			}
-			item.setText(text);
-			item.setItemCount(10);
-		}
-	});
-	tree.setItemCount(20);
-	shell.setSize(400, 300);
-	shell.open();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet203.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet203.java
deleted file mode 100644
index 6fb6de8..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet203.java
+++ /dev/null
@@ -1,67 +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.swt.snippets;
-
-/*
- * TextLayout example snippet: using TextLayout justify, alignment and indent 
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */ 
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.graphics.*;
-
-public class Snippet203 {
-	
-public static void main(String[] args) {
-	Display display = new Display();
-	final Shell shell = new Shell(display, SWT.SHELL_TRIM | SWT.DOUBLE_BUFFERED);	
-	shell.setText("Indent, Justify, Align");
-	String[] texts = {
-		"Plans do not materialize out of nowhere, nor are they entirely static. To ensure the planning process is transparent and open to the entire Eclipse community, we (the Eclipse PMC) post plans in an embryonic form and revise them throughout the release cycle.",
-		"The first part of the plan deals with the important matters of release deliverables, release milestones, target operating environments, and release-to-release compatibility. These are all things that need to be clear for any release, even if no features were to change.",
-		"The remainder of the plan consists of plan items for the various Eclipse subprojects. Each plan item covers a feature or API that is to be added to Eclipse, or some aspect of Eclipse that is to be improved. Each plan item has its own entry in the Eclipse bugzilla database, with a title and a concise summary (usually a single paragraph) that explains the work item at a suitably high enough level so that everyone can readily understand what the work item is without having to understand the nitty-gritty detail.",
-	};
-	int[] alignments = {SWT.LEFT, SWT.CENTER, SWT.RIGHT};
-	final TextLayout[] layouts = new TextLayout[texts.length];
-	for (int i = 0; i < layouts.length; i++) {
-		TextLayout layout = new TextLayout(display);
-		layout.setText(texts[i]);
-		layout.setIndent(30);
-		layout.setJustify(true);
-		layout.setAlignment(alignments[i]);		
-		layouts[i] = layout;
-	}
-	shell.addListener(SWT.Paint, new Listener() {
-		public void handleEvent(Event event) {
-			Point point = new Point(10, 10);
-			int width = shell.getClientArea().width - 2 * point.x;
-			for (int i = 0; i < layouts.length; i++) {
-				TextLayout layout = layouts[i];
-				layout.setWidth(width);
-				layout.draw(event.gc, point.x, point.y);
-				point.y += layout.getBounds().height + 10;
-			}			
-		}
-	});
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch()) display.sleep();
-	}
-	for (int i = 0; i < layouts.length; i++) {
-		layouts[i].dispose();		
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet204.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet204.java
deleted file mode 100644
index d4b608d..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet204.java
+++ /dev/null
@@ -1,103 +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.swt.snippets;
-
-/*
- * TextLayout example snippet: using the rise field of a TextStyle.
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */ 
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.graphics.*;
-
-public class Snippet204 {
-	
-public static void main(String[] args) {
-	Display display = new Display();
-	Shell shell = new Shell(display, SWT.SHELL_TRIM | SWT.DOUBLE_BUFFERED);
-	shell.setText("Modify Rise");
-	FontData data = display.getSystemFont().getFontData()[0];
-	Font font = new Font(display, data.getName(), 24, SWT.NORMAL);
-	Font smallFont = new Font(display, data.getName(), 8, SWT.NORMAL);
-	GC gc = new GC(shell);
-	gc.setFont(smallFont);
-	FontMetrics smallMetrics = gc.getFontMetrics();
-	final int smallBaseline = smallMetrics.getAscent() + smallMetrics.getLeading();
-	gc.setFont(font);
-	FontMetrics metrics = gc.getFontMetrics();
-	final int baseline = metrics.getAscent() + metrics.getLeading();
-	gc.dispose();
-	
-	final TextLayout layout0 = new TextLayout(display);
-	layout0.setText("SubscriptScriptSuperscript");
-	layout0.setFont(font);
-	TextStyle subscript0 = new TextStyle(smallFont, null, null);
-	TextStyle superscript0 = new TextStyle(smallFont, null, null);
-	superscript0.rise = baseline - smallBaseline;
-	layout0.setStyle(subscript0, 0, 8);
-	layout0.setStyle(superscript0, 15, 25);
-		
-	final TextLayout layout1 = new TextLayout(display);
-	layout1.setText("SubscriptScriptSuperscript");
-	layout1.setFont(font);
-	TextStyle subscript1 = new TextStyle(smallFont, null, null);
-	subscript1.rise = -smallBaseline;
-	TextStyle superscript1 = new TextStyle(smallFont, null, null);
-	superscript1.rise = baseline;
-	layout1.setStyle(subscript1, 0, 8);
-	layout1.setStyle(superscript1, 15, 25);
-	
-	shell.addListener(SWT.Paint, new Listener() {
-		public void handleEvent(Event event) {
-			Display display = event.display;
-			GC gc = event.gc;
-			
-			Rectangle rect0 = layout0.getBounds();
-			rect0.x += 10;
-			rect0.y += 10;
-			gc.setBackground(display.getSystemColor(SWT.COLOR_WHITE));
-			gc.setForeground(display.getSystemColor(SWT.COLOR_BLACK));
-			gc.fillRectangle(rect0);
-			layout0.draw(gc, rect0.x, rect0.y);
-			gc.setForeground(display.getSystemColor(SWT.COLOR_MAGENTA));
-			gc.drawLine(rect0.x, rect0.y, rect0.x + rect0.width, rect0.y);
-			gc.drawLine(rect0.x, rect0.y + baseline, rect0.x + rect0.width, rect0.y + baseline);
-			gc.drawLine(rect0.x + rect0.width / 2, rect0.y, rect0.x + rect0.width / 2, rect0.y + rect0.height);
-			
-			Rectangle rect1 = layout1.getBounds();
-			rect1.x += 10;
-			rect1.y += 20 + rect0.height;
-			gc.setBackground(display.getSystemColor(SWT.COLOR_WHITE));
-			gc.setForeground(display.getSystemColor(SWT.COLOR_BLACK));
-			gc.fillRectangle(rect1);			
-			layout1.draw(gc, rect1.x, rect1.y);
-			
-			gc.setForeground(display.getSystemColor(SWT.COLOR_MAGENTA));
-			gc.drawLine(rect1.x, rect1.y + smallBaseline, rect1.x + rect1.width, rect1.y + smallBaseline);
-			gc.drawLine(rect1.x, rect1.y + baseline + smallBaseline, rect1.x + rect1.width, rect1.y + baseline + smallBaseline);
-			gc.drawLine(rect1.x + rect1.width / 2, rect1.y, rect1.x + rect1.width / 2, rect1.y + rect1.height);
-		}
-	});
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch()) display.sleep();
-	}
-	layout0.dispose();
-	layout1.dispose();
-	smallFont.dispose();
-	font.dispose();
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet205.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet205.java
deleted file mode 100644
index 978f135..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet205.java
+++ /dev/null
@@ -1,93 +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.swt.snippets;
-
-/*
- * TextLayout example snippet: using the GlyphMetrics to embedded images in 
- * a TextLayout. 
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */ 
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.graphics.*;
-
-
-public class Snippet205 {
-	
-public static void main(String[] args) {
-	Display display = new Display();
-	final Shell shell = new Shell(display, SWT.SHELL_TRIM | SWT.DOUBLE_BUFFERED);
-	shell.setText("Embedding objects in text");
-	final Image[] images = {new Image(display, 32, 32), new Image(display, 20, 40), new Image(display, 40, 20)};
-	int[] colors  = {SWT.COLOR_BLUE, SWT.COLOR_MAGENTA, SWT.COLOR_GREEN};
-	for (int i = 0; i < images.length; i++) {
-		GC gc = new GC(images[i]);
-		gc.setBackground(display.getSystemColor(colors[i]));
-		gc.fillRectangle(images[i].getBounds());
-		gc.dispose();
-	}
-	
-	final Button button = new Button(shell, SWT.PUSH);
-	button.setText("Button");
-	button.pack();
-	String text = "Here is some text with a blue image \uFFFC, a magenta image \uFFFC, a green image \uFFFC, and a button: \uFFFC.";
-	final int[] imageOffsets = {36, 55, 72};
-	final TextLayout layout = new TextLayout(display);
-	layout.setText(text);
-	for (int i = 0; i < images.length; i++) {
-		Rectangle bounds = images[i].getBounds();
-		TextStyle imageStyle = new TextStyle(null, null, null);
-		imageStyle.metrics = new GlyphMetrics(bounds.height, 0, bounds.width); 
-		layout.setStyle(imageStyle, imageOffsets[i], imageOffsets[i]);
-	}
-	Rectangle bounds = button.getBounds();
-	TextStyle buttonStyle = new TextStyle(null, null, null);
-	buttonStyle.metrics = new GlyphMetrics(bounds.height, 0, bounds.width); 
-	final int buttonOffset = text.length() - 2;
-	layout.setStyle(buttonStyle, buttonOffset, buttonOffset);
-	
-	shell.addListener(SWT.Paint, new Listener() {
-		public void handleEvent(Event event) {
-			GC gc = event.gc;
-			Point margin = new Point(10, 10);
-			layout.setWidth(shell.getClientArea().width - 2 * margin.x);
-			layout.draw(event.gc, margin.x, margin.y);
-			for (int i = 0; i < images.length; i++) {
-				int offset = imageOffsets[i];
-				int lineIndex = layout.getLineIndex(offset);
-				FontMetrics lineMetrics = layout.getLineMetrics(lineIndex);
-				Point point = layout.getLocation(offset, false);
-				GlyphMetrics glyphMetrics = layout.getStyle(offset).metrics;
-				gc.drawImage(images[i], point.x + margin.x, point.y + margin.y + lineMetrics.getAscent() - glyphMetrics.ascent);
-			}
-			int lineIndex = layout.getLineIndex(buttonOffset);
-			FontMetrics lineMetrics = layout.getLineMetrics(lineIndex);
-			Point point = layout.getLocation(buttonOffset, false);
-			GlyphMetrics glyphMetrics = layout.getStyle(buttonOffset).metrics;
-			button.setLocation(point.x + margin.x, point.y + margin.y + lineMetrics.getAscent() - glyphMetrics.ascent);
-		}
-	});
-
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch()) display.sleep();
-	}
-	layout.dispose();
-	for (int i = 0; i < images.length; i++) {
-		images[i].dispose();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet206.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet206.java
deleted file mode 100644
index 81ab501..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet206.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.swt.snippets;
-
-/*
- * Button example snippet: a Button with text and image
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */ 
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet206 {
-
-public static void main(String[] args) {
-	Display display = new Display();
-	Image image = display.getSystemImage(SWT.ICON_QUESTION);
-	Shell shell = new Shell(display);
-	shell.setLayout (new GridLayout());
-	Button button = new Button(shell, SWT.PUSH);
-	button.setImage(image);
-	button.setText("Button");
-	shell.setSize(300, 300);
-	shell.open();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet207.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet207.java
deleted file mode 100644
index 35e090e..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet207.java
+++ /dev/null
@@ -1,119 +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.swt.snippets;
-
-/*
- * Use transformation matrices to reflect, rotate and shear images
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet207 {	
-	public static void main(String[] args) {
-		final Display display = new Display();
-		
-		final Image image = new Image(display, 110, 60);
-		GC gc = new GC(image);
-		Font font = new Font(display, "Times", 30, SWT.BOLD);
-		gc.setFont(font);
-		gc.setBackground(display.getSystemColor(SWT.COLOR_RED));
-		gc.fillRectangle(0, 0, 110, 60);
-		gc.setForeground(display.getSystemColor(SWT.COLOR_WHITE));
-		gc.drawText("SWT", 10, 10, true);
-		font.dispose();
-		gc.dispose();
-		
-		final Rectangle rect = image.getBounds();
-		Shell shell = new Shell(display);
-		shell.setText("Matrix Tranformations");
-		shell.setLayout(new FillLayout());
-		final Canvas canvas = new Canvas(shell, SWT.DOUBLE_BUFFERED);
-		canvas.addPaintListener(new PaintListener () {
-			public void paintControl(PaintEvent e) {	
-				GC gc = e.gc;
-				gc.setAdvanced(true);
-				if (!gc.getAdvanced()){
-					gc.drawText("Advanced graphics not supported", 30, 30, true);
-					return;
-				}
-				
-				// Original image
-				int x = 30, y = 30;
-				gc.drawImage(image, x, y); 
-				x += rect.width + 30;
-				
-				Transform transform = new Transform(display);
-				
-				// Note that the tranform is applied to the whole GC therefore
-				// the coordinates need to be adjusted too.
-				
-				// Reflect around the y axis.
-				transform.setElements(-1, 0, 0, 1, 0 ,0);
-				gc.setTransform(transform);
-				gc.drawImage(image, -1*x-rect.width, y);
-				
-				x = 30; y += rect.height + 30;
-				
-				// Reflect around the x axis. 
-				transform.setElements(1, 0, 0, -1, 0, 0);
-				gc.setTransform(transform);
-				gc.drawImage(image, x, -1*y-rect.height);
-				
-				x += rect.width + 30;
-				
-				// Reflect around the x and y axes	
-				transform.setElements(-1, 0, 0, -1, 0, 0);
-				gc.setTransform(transform);
-				gc.drawImage(image, -1*x-rect.width, -1*y-rect.height);
-				
-				x = 30; y += rect.height + 30;
-				
-				// Shear in the x-direction
-				transform.setElements(1, 0, -1, 1, 0, 0);
-				gc.setTransform(transform);
-				gc.drawImage(image, 300, y);
-				
-				// Shear in y-direction
-				transform.setElements(1, -1, 0, 1, 0, 0);
-				gc.setTransform(transform);
-				gc.drawImage(image, 150, 475);
-				
-				// Rotate by 45 degrees	
-				float cos45 = (float)Math.cos(45);
-				float sin45 = (float)Math.sin(45);
-				transform.setElements(cos45, sin45, -sin45, cos45, 0, 0);
-				gc.setTransform(transform);
-				gc.drawImage(image, 350, 100);
-				
-				transform.dispose();
-			}
-		});
-		
-		shell.setSize(350, 550);
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		image.dispose();
-		display.dispose();
-	}
-}
-	
-
-
-
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet208.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet208.java
deleted file mode 100644
index 7a8865c..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet208.java
+++ /dev/null
@@ -1,110 +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.swt.snippets;
-
-/*
- * Change hue, saturation and brightness of a color
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet208 {	 
-
-public static void main (String [] args) {
-	PaletteData palette = new PaletteData(0xff, 0xff00, 0xff0000);	
-	
-	// ImageData showing variations of hue	
-	ImageData hueData = new ImageData(360, 100, 24, palette);	
-	float hue = 0;
-	for (int x = 0; x < hueData.width; x++) {
-		for (int y = 0; y < hueData.height; y++) {
-			int pixel = palette.getPixel(new RGB(hue, 1f, 1f));
-			hueData.setPixel(x, y, pixel);
-		}
-		hue += 360f / hueData.width;
-	}
-
-	// ImageData showing saturation on x axis and brightness on y axis
-	ImageData saturationBrightnessData = new ImageData(360, 360, 24, palette);
-	float saturation = 0f;
-	float brightness = 1f;
-	for (int x = 0; x < saturationBrightnessData.width; x++) {
-		brightness = 1f;
-		for (int y = 0; y < saturationBrightnessData.height; y++) {
-			int pixel = palette.getPixel(new RGB(360f, saturation, brightness));	
-			saturationBrightnessData.setPixel(x, y, pixel);
-			brightness -= 1f / saturationBrightnessData.height;
-		}
-		saturation += 1f / saturationBrightnessData.width;
-	}
-		
-	Display display = new Display();
-	Image hueImage = new Image(display, hueData);
-	Image saturationImage = new Image(display, saturationBrightnessData);
-	Shell shell = new Shell(display);
-	shell.setText("Hue, Saturation, Brightness");
-	GridLayout gridLayout = new GridLayout(2, false);
-	gridLayout.verticalSpacing = 10;
-	gridLayout.marginWidth = gridLayout.marginHeight = 16;
-	shell.setLayout(gridLayout);		
-	
-	Label label = new Label(shell, SWT.CENTER);
-	label.setImage(hueImage);
-	GridData data = new GridData(SWT.RIGHT, SWT.CENTER, false, false, 2, 1);
-	label.setLayoutData(data);	
-	
-	label = new Label(shell, SWT.CENTER); //spacer
-	label = new Label(shell, SWT.CENTER);
-	label.setText("Hue");
-	data = new GridData(SWT.CENTER, SWT.CENTER, false, false);
-	label.setLayoutData(data);
-	label = new Label(shell, SWT.CENTER); //spacer
-	data = new GridData(SWT.CENTER, SWT.CENTER, false, false, 2, 1);
-	label.setLayoutData(data);
-	
-	label = new Label(shell, SWT.LEFT);
-	label.setText("Brightness");
-	data = new GridData(SWT.LEFT, SWT.CENTER, false, false);
-	label.setLayoutData(data);
-	
-	label = new Label(shell, SWT.CENTER);
-	label.setImage(saturationImage);
-	data = new GridData(SWT.CENTER, SWT.CENTER, false, false);
-	label.setLayoutData (data);
-	
-	label = new Label(shell, SWT.CENTER); //spacer
-	label = new Label(shell, SWT.CENTER);
-	label.setText("Saturation");
-	data = new GridData(SWT.CENTER, SWT.CENTER, false, false);
-	label.setLayoutData(data);
-	
-	shell.pack();
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch()) {
-			display.sleep();
-		}
-	}
-	hueImage.dispose();
-	saturationImage.dispose();	
-	display.dispose();
-}
-
-}
-
-
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet209.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet209.java
deleted file mode 100644
index 8992502..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet209.java
+++ /dev/null
@@ -1,137 +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.swt.snippets;
-
-/*
- * SWT OpenGL snippet: use JOGL to draw to an SWT GLCanvas
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.opengl.GLCanvas;
-import org.eclipse.swt.opengl.GLData;
-
-import javax.media.opengl.GL;
-import javax.media.opengl.GLContext;
-import javax.media.opengl.GLDrawableFactory;
-import javax.media.opengl.glu.GLU;
-
-public class Snippet209 {
-	static void drawTorus(GL gl, float r, float R, int nsides, int rings) {
-		float ringDelta = 2.0f * (float) Math.PI / rings;
-		float sideDelta = 2.0f * (float) Math.PI / nsides;
-		float theta = 0.0f, cosTheta = 1.0f, sinTheta = 0.0f;
-		for (int i = rings - 1; i >= 0; i--) {
-			float theta1 = theta + ringDelta;
-			float cosTheta1 = (float) Math.cos(theta1);
-			float sinTheta1 = (float) Math.sin(theta1);
-			gl.glBegin(GL.GL_QUAD_STRIP);
-			float phi = 0.0f;
-			for (int j = nsides; j >= 0; j--) {
-				phi += sideDelta;
-				float cosPhi = (float) Math.cos(phi);
-				float sinPhi = (float) Math.sin(phi);
-				float dist = R + r * cosPhi;
-				gl.glNormal3f(cosTheta1 * cosPhi, -sinTheta1 * cosPhi, sinPhi);
-				gl.glVertex3f(cosTheta1 * dist, -sinTheta1 * dist, r * sinPhi);
-				gl.glNormal3f(cosTheta * cosPhi, -sinTheta * cosPhi, sinPhi);
-				gl.glVertex3f(cosTheta * dist, -sinTheta * dist, r * sinPhi);
-			}
-			gl.glEnd();
-			theta = theta1;
-			cosTheta = cosTheta1;
-			sinTheta = sinTheta1;
-		}
-	}
-
-	public static void main(String [] args) {
-		final Display display = new Display();
-		Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		Composite comp = new Composite(shell, SWT.NONE);
-		comp.setLayout(new FillLayout());
-		GLData data = new GLData ();
-		data.doubleBuffer = true;
-		final GLCanvas canvas = new GLCanvas(comp, SWT.NONE, data);
-
-		canvas.setCurrent();
-		final GLContext context = GLDrawableFactory.getFactory().createExternalGLContext();
-
-		canvas.addListener(SWT.Resize, new Listener() {
-			public void handleEvent(Event event) {
-				Rectangle bounds = canvas.getBounds();
-				float fAspect = (float) bounds.width / (float) bounds.height;
-				canvas.setCurrent();
-				context.makeCurrent();
-				GL gl = context.getGL ();
-				gl.glViewport(0, 0, bounds.width, bounds.height);
-				gl.glMatrixMode(GL.GL_PROJECTION);
-				gl.glLoadIdentity();
-				GLU glu = new GLU();
-				glu.gluPerspective(45.0f, fAspect, 0.5f, 400.0f);
-				gl.glMatrixMode(GL.GL_MODELVIEW);
-				gl.glLoadIdentity();
-				context.release();
-			}
-		});
-
-		context.makeCurrent();
-		GL gl = context.getGL ();
-		gl.glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
-		gl.glColor3f(1.0f, 0.0f, 0.0f);
-		gl.glHint(GL.GL_PERSPECTIVE_CORRECTION_HINT, GL.GL_NICEST);
-		gl.glClearDepth(1.0);
-		gl.glLineWidth(2);
-		gl.glEnable(GL.GL_DEPTH_TEST);
-		context.release();
-
-		shell.setText("SWT/JOGL Example");
-		shell.setSize(640, 480);
-		shell.open();
-
-		display.asyncExec(new Runnable() {
-			int rot = 0;
-			public void run() {
-				if (!canvas.isDisposed()) {
-					canvas.setCurrent();
-					context.makeCurrent();
-					GL gl = context.getGL ();
-					gl.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT);
-					gl.glClearColor(.3f, .5f, .8f, 1.0f);
-					gl.glLoadIdentity();
-					gl.glTranslatef(0.0f, 0.0f, -10.0f);
-					float frot = rot;
-					gl.glRotatef(0.15f * rot, 2.0f * frot, 10.0f * frot, 1.0f);
-					gl.glRotatef(0.3f * rot, 3.0f * frot, 1.0f * frot, 1.0f);
-					rot++;
-					gl.glPolygonMode(GL.GL_FRONT_AND_BACK, GL.GL_LINE);
-					gl.glColor3f(0.9f, 0.9f, 0.9f);
-					drawTorus(gl, 1, 1.9f + ((float) Math.sin((0.004f * frot))), 15, 15);
-					canvas.swapBuffers();
-					context.release();
-					display.asyncExec(this);
-				}
-			}
-		});
-
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		display.dispose();
-	}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet21.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet21.java
deleted file mode 100644
index 42ba008..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet21.java
+++ /dev/null
@@ -1,89 +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.swt.snippets;
-
-/*
- * Canvas example snippet: implement tab traversal (behave like a tab group)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet21 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	final Color red = display.getSystemColor (SWT.COLOR_RED);
-	final Color blue = display.getSystemColor (SWT.COLOR_BLUE);
-	Shell shell = new Shell (display);
-	Button b = new Button (shell, SWT.PUSH);
-	b.setBounds (10, 10, 100, 32);
-	b.setText ("Button");
-	shell.setDefaultButton (b);
-	final Canvas c = new Canvas (shell, SWT.BORDER);
-	c.setBounds (10, 50, 100, 32);
-	c.addListener (SWT.Traverse, new Listener () {
-		public void handleEvent (Event e) {
-			switch (e.detail) {
-				/* Do tab group traversal */
-				case SWT.TRAVERSE_ESCAPE:
-				case SWT.TRAVERSE_RETURN:
-				case SWT.TRAVERSE_TAB_NEXT:	
-				case SWT.TRAVERSE_TAB_PREVIOUS:
-				case SWT.TRAVERSE_PAGE_NEXT:	
-				case SWT.TRAVERSE_PAGE_PREVIOUS:
-					e.doit = true;
-					break;
-			}
-		}
-	});
-	c.addListener (SWT.FocusIn, new Listener () {
-		public void handleEvent (Event e) {
-			c.setBackground (red);
-		}
-	});
-	c.addListener (SWT.FocusOut, new Listener () {
-		public void handleEvent (Event e) {
-			c.setBackground (blue);
-		}
-	});
-	c.addListener (SWT.KeyDown, new Listener () {
-		public void handleEvent (Event e) {
-			System.out.println ("KEY");
-			for (int i=0; i<64; i++) {
-				Color c1 = red, c2 = blue;
-				if (c.isFocusControl ()) {
-					c1 = blue;  c2 = red;
-				}
-				c.setBackground (c1);
-				c.update ();
-				c.setBackground (c2);
-			}
-		}
-	});
-	Text t = new Text (shell, SWT.SINGLE | SWT.BORDER);
-	t.setBounds (10, 85, 100, 32);
-
-	Text r = new Text (shell, SWT.MULTI | SWT.BORDER);
-	r.setBounds (10, 120, 100, 32);
-	
-	c.setFocus ();
-	shell.setSize (200, 200);
-	shell.open ();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet210.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet210.java
deleted file mode 100644
index 5be6a60..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet210.java
+++ /dev/null
@@ -1,91 +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.swt.snippets;
-
-/*
- * Drag text between two StyledText widgets
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */ 
-import org.eclipse.swt.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.dnd.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet210 {
-	static String string1 = "A drag source is the provider of data in a Drag and Drop data transfer as well as "+
-                           "the originator of the Drag and Drop operation. The data provided by the drag source "+
-                           "may be transferred to another location in the same widget, to a different widget "+
-                           "within the same application, or to a different application altogether. For example, "+
-                           "you can drag text from your application and drop it on an email application, or you "+
-                           "could drag an item in a tree and drop it below a different node in the same tree.";
-
-	static String string2 = "A drop target receives data in a Drag and Drop operation. The data received by "+
-	                        "the drop target may have come from the same widget, from a different widget within "+
-	                        "the same application, or from a different application altogether. For example, you "+
-	                        "can drag text from an email application and drop it on your application, or you could "+
-	                        "drag an item in a tree and drop it below a different node in the same tree.";
-	
-public static void main (String [] args) {
-	final Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setLayout(new FillLayout());
-	int style = SWT.MULTI | SWT.WRAP | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER;
-	final StyledText text1 = new StyledText(shell, style);
-	text1.setText(string1);
-	DragSource source = new DragSource(text1, DND.DROP_COPY | DND.DROP_MOVE);
-	source.setTransfer(new Transfer[] {TextTransfer.getInstance()});
-	source.addDragListener(new DragSourceAdapter() {
-		Point selection;
-		public void dragStart(DragSourceEvent e) {
-			selection = text1.getSelection();
-			e.doit = selection.x != selection.y;
-		}
-		public void dragSetData(DragSourceEvent e) {
-			e.data = text1.getText(selection.x, selection.y-1);
-		}
-		public void dragFinished(DragSourceEvent e) {
-			if (e.detail == DND.DROP_MOVE) {
-				text1.replaceTextRange(selection.x, selection.y - selection.x, "");
-			}
-			selection = null;
-		}
-	});
-	
-	final StyledText text2 = new StyledText(shell, style);
-	text2.setText(string2);
-	DropTarget target = new DropTarget(text2, DND.DROP_DEFAULT | DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_LINK);
-	target.setTransfer(new Transfer[] {TextTransfer.getInstance()});
-	target.addDropListener(new DropTargetAdapter() {
-		public void dragEnter(DropTargetEvent e) {
-			if (e.detail == DND.DROP_DEFAULT)
-				e.detail = DND.DROP_COPY;
-		}
-		public void dragOperationChanged(DropTargetEvent e) {
-			if (e.detail == DND.DROP_DEFAULT)
-				e.detail = DND.DROP_COPY;
-		}
-		public void drop(DropTargetEvent e) {
-			text2.insert((String)e.data);
-		}
-	});
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet211.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet211.java
deleted file mode 100644
index 038598c..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet211.java
+++ /dev/null
@@ -1,83 +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.swt.snippets;
-
-/*
- * SWT StyledText snippet: use rise and font with StyleRange. 
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.custom.*;
-
-public class Snippet211 {
-
-	static String text = 
-		"You can set any font you want in a range. You can also set a baseline rise and all other old features" + 
-		" like background and foreground, and mix them any way you want. Totally awesome.";
-	
-	public static void main(String [] args) {
-		Display display = new Display();
-		Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		StyledText styledText = new StyledText(shell, SWT.WRAP | SWT.BORDER);
-		styledText.setText(text);
-		FontData data = styledText.getFont().getFontData()[0];
-		Font font1 = new Font(display, data.getName(), data.getHeight() * 2, data.getStyle());
-		Font font2 = new Font(display, data.getName(), data.getHeight() * 4 / 5, data.getStyle());
-		StyleRange[] styles = new StyleRange[8];
-		styles[0] = new StyleRange();
-		styles[0].font = font1; 
-		styles[1] = new StyleRange();
-		styles[1].rise = data.getHeight() / 3; 
-		styles[2] = new StyleRange();
-		styles[2].background = display.getSystemColor(SWT.COLOR_GREEN); 
-		styles[3] = new StyleRange();
-		styles[3].foreground = display.getSystemColor(SWT.COLOR_MAGENTA); 
-		styles[4] = new StyleRange();
-		styles[4].font = font2; 
-		styles[4].foreground = display.getSystemColor(SWT.COLOR_BLUE);;
-		styles[4].underline = true;
-		styles[5] = new StyleRange();
-		styles[5].rise = -data.getHeight() / 3; 
-		styles[5].strikeout = true;
-		styles[5].underline = true;
-		styles[6] = new StyleRange();
-		styles[6].font = font1; 
-		styles[6].foreground = display.getSystemColor(SWT.COLOR_YELLOW);
-		styles[6].background = display.getSystemColor(SWT.COLOR_BLUE);
-		styles[7] = new StyleRange();
-		styles[7].rise =  data.getHeight() / 3;
-		styles[7].underline = true;
-		styles[7].fontStyle = SWT.BOLD;
-		styles[7].foreground = display.getSystemColor(SWT.COLOR_RED);
-		styles[7].background = display.getSystemColor(SWT.COLOR_BLACK);
-		
-		int[] ranges = new int[] {16, 4, 61, 13, 107, 10, 122, 10, 134, 3, 143, 6, 160, 7, 168, 7};
-		styledText.setStyleRanges(ranges, styles);
-		
-		shell.setSize(300, 300);
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		font1.dispose();
-		font2.dispose();		
-		display.dispose();
-	}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet212.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet212.java
deleted file mode 100644
index 3bef3b7..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet212.java
+++ /dev/null
@@ -1,153 +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.swt.snippets;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.custom.*;
-
-/**
- * StyledText snippet: embed images
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */
-public class Snippet212 {
-	
-	static StyledText styledText;
-	static String text = 
-		"This snippet shows how to embed images in a StyledText.\n"+
-		"Here is one: \uFFFC, and here is another: \uFFFC."+
-		"Use the add button to add an image from your filesystem to the StyledText at the current caret offset.";
-	static Image[] images;
-	static int[] offsets;
-
-	static void addImage(Image image, int offset) {
-		StyleRange style = new StyleRange ();
-		style.start = offset;
-		style.length = 1;
-		Rectangle rect = image.getBounds();
-		style.metrics = new GlyphMetrics(rect.height, 0, rect.width);
-		styledText.setStyleRange(style);		
-	}
-	
-	public static void main(String [] args) {
-		final Display display = new Display();
-		final Shell shell = new Shell(display);
-		shell.setLayout(new GridLayout());
-		styledText = new StyledText(shell, SWT.WRAP | SWT.BORDER);
-		styledText.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
-		styledText.setText(text);
-		images = new Image[] {
-			display.getSystemImage(SWT.ICON_QUESTION),
-			display.getSystemImage(SWT.ICON_INFORMATION),
-		};
-		offsets = new int[images.length];
-		int lastOffset = 0;
-		for (int i = 0; i < images.length; i++) {
-			int offset = text.indexOf("\uFFFC", lastOffset);
-			offsets[i] = offset;
-			addImage(images[i], offset);
-			lastOffset = offset + 1;
-		}
-		
-		// use a verify listener to keep the offsets up to date
-		styledText.addVerifyListener(new VerifyListener()  {
-			public void verifyText(VerifyEvent e) {
-				int start = e.start;
-				int replaceCharCount = e.end - e.start;
-				int newCharCount = e.text.length();
-				for (int i = 0; i < offsets.length; i++) {
-					int offset = offsets[i];
-					if (start <= offset && offset < start + replaceCharCount) {
-						// this image is being deleted from the text
-						if (images[i] != null && !images[i].isDisposed()) {
-							images[i].dispose();
-							images[i] = null;
-						}
-						offset = -1;
-					}
-					if (offset != -1 && offset >= start) offset += newCharCount - replaceCharCount;
-					offsets[i] = offset;
-				}
-			}
-		});
-		styledText.addPaintObjectListener(new PaintObjectListener() {
-			public void paintObject(PaintObjectEvent event) {
-				GC gc = event.gc;
-				StyleRange style = event.style;
-				int start = style.start;
-				for (int i = 0; i < offsets.length; i++) {
-					int offset = offsets[i];
-					if (start == offset) {
-						Image image = images[i];
-						int x = event.x;
-						int y = event.y + event.ascent - style.metrics.ascent;						
-						gc.drawImage(image, x, y);
-					}
-				}
-			}
-		});
-		
-		Button button = new Button (shell, SWT.PUSH);
-		button.setText("Add Image");
-		button.setLayoutData(new GridData(SWT.CENTER, SWT.CENTER, false, false));
-		button.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event event) {
-				FileDialog dialog = new FileDialog(shell);
-				String filename = dialog.open();
-				if (filename != null) {
-					try {
-						Image image = new Image(display, filename);
-						int offset = styledText.getCaretOffset();
-						styledText.replaceTextRange(offset, 0, "\uFFFC");
-						int index = 0;
-						while (index < offsets.length) {
-							if (offsets[index] == -1 && images[index] == null) break;
-							index++;
-						}
-						if (index == offsets.length) {
-							int[] tmpOffsets = new int[index + 1];
-							System.arraycopy(offsets, 0, tmpOffsets, 0, offsets.length);
-							offsets = tmpOffsets;
-							Image[] tmpImages = new Image[index + 1];
-							System.arraycopy(images, 0, tmpImages, 0, images.length);
-							images = tmpImages;
-						}
-						offsets[index] = offset;
-						images[index] = image;
-						addImage(image, offset);
-					} catch (Exception e) {
-						e.printStackTrace();
-					}
-				}				
-			}
-		});
-		shell.setSize(400, 400);
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		for (int i = 0; i < images.length; i++) {
-			Image image = images[i];
-			if (image != null && !image.isDisposed()) {
-				image.dispose();
-			}
-		}
-		display.dispose();
-	}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet213.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet213.java
deleted file mode 100644
index e49b430..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet213.java
+++ /dev/null
@@ -1,54 +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.swt.snippets;
-
-/*
- * SWT StyledText snippet: use indent, alignment and justify.
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.custom.*;
-
-public class Snippet213 {
-
-	static String text = 
-		"The first paragraph has an indentation of fifty pixels. Indentation is the amount of white space in front of the first line of a paragraph. If this paragraph wraps to several lines you should see the indentation only on the first line.\n\n" +
-		"The second paragraph is center aligned. Alignment only works when the StyledText is using word wrap. Alignment, as with all other line attributes, can be set for the whole widget or just for a set of lines.\n\n" +
-		"The third paragraph is justified. Like alignment, justify only works when the StyledText is using word wrap. If the paragraph wraps to several lines, the justification is performed on all lines but the last one.\n\n" +		
-		"The last paragraph is justified and right aligned. In this case, the alignment is only noticeable in the final line.";
-	
-	public static void main(String [] args) {
-		Display display = new Display();
-		Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		StyledText styledText = new StyledText(shell, SWT.WRAP | SWT.BORDER);
-		styledText.setText(text);
-		styledText.setLineIndent(0, 1, 50);
-		styledText.setLineAlignment(2, 1, SWT.CENTER);
-		styledText.setLineJustify(4, 1, true);
-		styledText.setLineAlignment(6, 1, SWT.RIGHT);
-		styledText.setLineJustify(6, 1, true);
-		
-		shell.setSize(300, 400);
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		display.dispose();
-	}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet214.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet214.java
deleted file mode 100644
index ef00465..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet214.java
+++ /dev/null
@@ -1,66 +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.swt.snippets;
-
-/*
- * Control example snippet: set a background image (a dynamic gradient)
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet214 {
-	static Image oldImage;
-	public static void main(String [] args) {
-		final Display display = new Display ();
-		final Shell shell = new Shell (display);
-		shell.setBackgroundMode (SWT.INHERIT_DEFAULT);
-		FillLayout layout1 = new FillLayout (SWT.VERTICAL);
-		layout1.marginWidth = layout1.marginHeight = 10;
-		shell.setLayout (layout1);
-		Group group = new Group (shell, SWT.NONE);
-		group.setText ("Group ");
-		RowLayout layout2 = new RowLayout (SWT.VERTICAL);
-		layout2.marginWidth = layout2.marginHeight = layout2.spacing = 10;
-		group.setLayout (layout2);
-		for (int i=0; i<8; i++) {
-			Button button = new Button (group, SWT.RADIO);
-			button.setText ("Button " + i);
-		}
-		shell.addListener (SWT.Resize, new Listener () {
-			public void handleEvent (Event event) {
-				Rectangle rect = shell.getClientArea ();
-				Image newImage = new Image (display, Math.max (1, rect.width), 1);	
-				GC gc = new GC (newImage);
-				gc.setForeground (display.getSystemColor (SWT.COLOR_WHITE));
-				gc.setBackground (display.getSystemColor (SWT.COLOR_BLUE));
-				gc.fillGradientRectangle (rect.x, rect.y, rect.width, 1, false);
-				gc.dispose ();
-				shell.setBackgroundImage (newImage);
-				if (oldImage != null) oldImage.dispose ();
-				oldImage = newImage;
-			}
-		});
-		shell.pack ();
-		shell.open ();
-		while (!shell.isDisposed ()) {
-			if (!display.readAndDispatch ()) display.sleep ();
-		}
-		if (oldImage != null) oldImage.dispose ();
-		display.dispose ();
-	}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet215.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet215.java
deleted file mode 100644
index 0d7331f..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet215.java
+++ /dev/null
@@ -1,72 +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.swt.snippets;
- 
-/*
- * GC example snippet: take a screen shot with a GC
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.custom.*;
-
-public class Snippet215 {
-
-public static void main(String[] args) {
-	final Display display = new Display();
-	final Shell shell = new Shell(display);
-	shell.setLayout(new FillLayout());
-	Button button = new Button(shell, SWT.PUSH);
-	button.setText("Capture");
-	button.addListener(SWT.Selection, new Listener() {
-		public void handleEvent(Event event) {
-			
-			/* Take the screen shot */
-			GC gc = new GC(display);
-			final Image image = new Image(display, display.getBounds());
-			gc.copyArea(image, 0, 0);
-			gc.dispose();
-			
-			Shell popup = new Shell(shell, SWT.SHELL_TRIM);
-			popup.setLayout(new FillLayout());
-			popup.setText("Image");
-			popup.setBounds(50, 50, 200, 200);
-			popup.addListener(SWT.Close, new Listener() {
-				public void handleEvent(Event e) {
-					image.dispose();
-				}
-			});
-			
-			ScrolledComposite sc = new ScrolledComposite (popup, SWT.V_SCROLL | SWT.H_SCROLL);
-			Canvas canvas = new Canvas(sc, SWT.NONE);
-			sc.setContent(canvas);
-			canvas.setBounds(display.getBounds ());
-			canvas.addPaintListener(new PaintListener() {
-				public void paintControl(PaintEvent e) {
-					e.gc.drawImage(image, 0, 0);
-				}
-			});
-			popup.open();
-		}
-	});
-	shell.pack();
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch()) display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet216.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet216.java
deleted file mode 100644
index ee8f7c4..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet216.java
+++ /dev/null
@@ -1,75 +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.swt.snippets;
-
-/*
- * Tool Tips example snippet: show a tool tip inside a rectangle
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet216 {
-	public static void main (String [] args) {
-		Display display = new Display ();
-		final Color [] colors = {
-			display.getSystemColor (SWT.COLOR_RED),
-			display.getSystemColor (SWT.COLOR_GREEN),
-			display.getSystemColor (SWT.COLOR_BLUE),
-		};
-		final Rectangle [] rects = {
-			new Rectangle (10, 10, 30, 30),
-			new Rectangle (20, 45, 25, 35),
-			new Rectangle (80, 80, 10, 10),
-		};
-		final Shell shell = new Shell (display);
-		Listener mouseListener = new Listener () {
-			public void handleEvent (Event event) {
-				switch (event.type) {
-					case SWT.MouseEnter:
-					case SWT.MouseMove:
-						for (int i=0; i<rects.length; i++) {
-							if (rects [i].contains (event.x, event.y)) {
-								String text = "ToolTip " + i;
-								if (!(text.equals (shell.getToolTipText ()))) {
-									shell.setToolTipText ("ToolTip " + i);
-								}
-								return;
-							}
-						}
-						shell.setToolTipText (null);
-						break;
-					}
-			}
-		};
-		shell.addListener (SWT.MouseMove, mouseListener);
-		shell.addListener (SWT.MouseEnter, mouseListener);
-		shell.addListener (SWT.Paint, new Listener () {
-			public void handleEvent (Event event) {
-				GC gc = event.gc;
-				for (int i=0; i<rects.length; i++) {
-					gc.setBackground (colors [i]);
-					gc.fillRectangle (rects [i]);
-					gc.drawRectangle (rects [i]);
-				}
-			}
-		});
-		shell.setSize (200, 200);
-		shell.open ();
-		while (!shell.isDisposed ()) {
-			if (!display.readAndDispatch ()) display.sleep ();
-		}
-		display.dispose ();
-	}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet217.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet217.java
deleted file mode 100644
index 3f511e4..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet217.java
+++ /dev/null
@@ -1,125 +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.swt.snippets;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * StyledText snippet: embed controls
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */
-public class Snippet217 {
-	
-	static StyledText styledText;
-	static String text = 
-		"This snippet shows how to embed widgets in a StyledText.\n"+
-		"Here is one: \uFFFC, and here is another: \uFFFC.";
-	static int[] offsets;
-	static Control[] controls;
-	static int MARGIN = 5;
-	
-	static void addControl(Control control, int offset) {
-		StyleRange style = new StyleRange ();
-		style.start = offset;
-		style.length = 1;
-		control.pack();
-		Rectangle rect = control.getBounds();
-		int ascent = 2*rect.height/3;
-		int descent = rect.height - ascent;
-		style.metrics = new GlyphMetrics(ascent + MARGIN, descent + MARGIN, rect.width + 2*MARGIN);
-		styledText.setStyleRange(style);	
-	}
-	
-	public static void main(String [] args) {
-		final Display display = new Display();
-		Font font = new Font(display, "Tahoma", 32, SWT.NORMAL);
-		final Shell shell = new Shell(display);
-		shell.setLayout(new GridLayout());
-		styledText = new StyledText(shell, SWT.WRAP | SWT.BORDER);
-		styledText.setFont(font);
-		styledText.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
-		styledText.setText(text);
-		controls = new Control[2];
-		Button button = new Button(styledText, SWT.PUSH);
-		button.setText("Button 1");
-		controls[0] = button;
-		Combo combo = new Combo(styledText, SWT.NONE);
-		combo.add("item 1");
-		combo.add("another item");
-		controls[1] = combo;
-		offsets = new int[controls.length];
-		int lastOffset = 0;
-		for (int i = 0; i < controls.length; i++) {
-			int offset = text.indexOf("\uFFFC", lastOffset);
-			offsets[i] = offset;
-			addControl(controls[i], offsets[i]);
-			lastOffset = offset + 1;
-		}
-		
-		// use a verify listener to keep the offsets up to date
-		styledText.addVerifyListener(new VerifyListener()  {
-			public void verifyText(VerifyEvent e) {
-				int start = e.start;
-				int replaceCharCount = e.end - e.start;
-				int newCharCount = e.text.length();
-				for (int i = 0; i < offsets.length; i++) {
-					int offset = offsets[i];
-					if (start <= offset && offset < start + replaceCharCount) {
-						// this widget is being deleted from the text
-						if (controls[i] != null && !controls[i].isDisposed()) {
-							controls[i].dispose();
-							controls[i] = null;
-						}
-						offset = -1;
-					}
-					if (offset != -1 && offset >= start) offset += newCharCount - replaceCharCount;
-					offsets[i] = offset;
-				}
-			}
-		});
-		
-		// reposition widgets on paint event
-		styledText.addPaintObjectListener(new PaintObjectListener() {
-			public void paintObject(PaintObjectEvent event) {
-				StyleRange style = event.style;
-				int start = style.start;
-				for (int i = 0; i < offsets.length; i++) {
-					int offset = offsets[i];
-					if (start == offset) {
-						Point pt = controls[i].getSize();
-						int x = event.x + MARGIN;
-						int y = event.y + event.ascent - 2*pt.y/3;
-						controls[i].setLocation(x, y);
-						break;
-					}
-				}
-			}
-		});
-			
-		shell.setSize(400, 400);
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		font.dispose();
-		display.dispose();
-	}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet218.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet218.java
deleted file mode 100644
index fd24a40..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet218.java
+++ /dev/null
@@ -1,71 +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.swt.snippets;
-
-/*
- * SWT StyledText snippet: use gradient background.
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.graphics.*;
-
-public class Snippet218 {
-
-	static String text = "Plans do not materialize out of nowhere, nor are they entirely static. To ensure the planning process is " +
-		"transparent and open to the entire Eclipse community, we (the Eclipse PMC) post plans in an embryonic "+
-		"form and revise them throughout the release cycle. \n"+
-		"The first part of the plan deals with the important matters of release deliverables, release milestones, target "+
-		"operating environments, and release-to-release compatibility. These are all things that need to be clear for "+
-		"any release, even if no features were to change.  \n";
-	static Image oldImage;
-	
-	public static void main(String [] args) {
-		final Display display = new Display();
-		final Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		final StyledText styledText = new StyledText(shell, SWT.WRAP | SWT.BORDER);
-		styledText.setText(text);
-		FontData data = display.getSystemFont().getFontData()[0];
-		Font font = new Font(display, data.getName(), 16, SWT.BOLD);
-		styledText.setFont(font);
-		styledText.setForeground(display.getSystemColor (SWT.COLOR_BLUE));
-		styledText.addListener (SWT.Resize, new Listener () {
-			public void handleEvent (Event event) {
-				Rectangle rect = styledText.getClientArea ();
-				Image newImage = new Image (display, 1, Math.max (1, rect.height));
-				GC gc = new GC (newImage);
-				gc.setForeground (display.getSystemColor (SWT.COLOR_WHITE));
-				gc.setBackground (display.getSystemColor (SWT.COLOR_YELLOW));
-				gc.fillGradientRectangle (rect.x, rect.y, 1, rect.height, true);
-				gc.dispose ();
-				styledText.setBackgroundImage (newImage);
-				if (oldImage != null) oldImage.dispose ();
-				oldImage = newImage;
-			}
-		});	
-		shell.setSize(700, 400);
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		if (oldImage != null) oldImage.dispose ();
-		font.dispose();
-		display.dispose();
-	}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet219.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet219.java
deleted file mode 100644
index ae37609..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet219.java
+++ /dev/null
@@ -1,94 +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.swt.snippets;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * Region snippet: Create non-rectangular shell from an image with transparency
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */
-public class Snippet219 {
-	public static void main(String[] args) {
-        final Display display = new Display ();
-        final Image image = display.getSystemImage(SWT.ICON_INFORMATION);
-        final Shell shell = new Shell (display, SWT.NO_TRIM);
-        Region region = new Region();
-        final ImageData imageData = image.getImageData();
-        if (imageData.alphaData != null) {
-        	Rectangle pixel = new Rectangle(0, 0, 1, 1);
-        	for (int y = 0; y < imageData.height; y++) {
-	            for (int x = 0; x < imageData.width; x++) {
-	                if (imageData.getAlpha(x, y) == 255) {
-	                	pixel.x = imageData.x + x;
-    					pixel.y = imageData.y + y;
-	                    region.add(pixel);
-	                } 
-	            }
-	        }
-        } else {
-        	ImageData mask = imageData.getTransparencyMask();
-        	Rectangle pixel = new Rectangle(0, 0, 1, 1);
-    		for (int y = 0; y < mask.height; y++) {
-    			for (int x = 0; x < mask.width; x++) {
-    				if (mask.getPixel(x, y) != 0) {
-    					pixel.x = imageData.x + x;
-    					pixel.y = imageData.y + y;
-    					region.add(pixel);
-    				}
-    			}
-    		}
-        }
-        shell.setRegion(region);
-
-        Listener l = new Listener() {
-        	int startX, startY;
-            public void handleEvent(Event e)  {
-            	if (e.type == SWT.KeyDown && e.character == SWT.ESC) {
-            		shell.dispose();
-            	}
-				if (e.type == SWT.MouseDown && e.button == 1) {
-					startX = e.x;
-					startY = e.y; 
-				}
-				if (e.type == SWT.MouseMove && (e.stateMask & SWT.BUTTON1) != 0) {
-					Point p = shell.toDisplay(e.x, e.y);
-					p.x -= startX;
-					p.y -= startY;
-					shell.setLocation(p);
-				}
-				if (e.type == SWT.Paint) {
-					e.gc.drawImage(image, imageData.x, imageData.y);
-				}
-            }
-        };
-        shell.addListener(SWT.KeyDown, l);
-        shell.addListener(SWT.MouseDown, l);
-        shell.addListener(SWT.MouseMove, l);
-        shell.addListener(SWT.Paint, l);
-
-        shell.setSize(imageData.x + imageData.width, imageData.y + imageData.height);
-        shell.open ();
-        while (!shell.isDisposed ()) {
-            if (!display.readAndDispatch ())
-                display.sleep ();
-        }
-        region.dispose();
-        image.dispose ();
-        display.dispose ();
-    }
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet22.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet22.java
deleted file mode 100644
index 765b5ba..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet22.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Text example snippet: select all the text in the control
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.widgets.*;
-
-public class Snippet22 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	Text text = new Text (shell, 0);
-	text.setText ("ASDF");
-	text.setSize (64, 32);
-	text.selectAll ();
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet220.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet220.java
deleted file mode 100644
index b882516..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet220.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
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-/* 
- * Tree example snippet: Images on the right side of the TreeItem
- *
- * For a detailed explanation of this snippet see
- * http://www.eclipse.org/articles/Article-CustomDrawingTableAndTreeItems/customDraw.htm#_example5
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet220 {	
-	
-public static void main(String [] args) {
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setBounds(10, 10, 350, 200);
-	Image xImage = new Image (display, 16, 16);
-	GC gc = new GC(xImage);
-	gc.setForeground(display.getSystemColor(SWT.COLOR_RED));
-	gc.drawLine(1, 1, 14, 14);
-	gc.drawLine(1, 14, 14, 1);
-	gc.drawOval(2, 2, 11, 11);
-	gc.dispose();
-	final int IMAGE_MARGIN = 2;
-	final Tree tree = new Tree(shell, SWT.CHECK);
-	tree.setBounds(10, 10, 300, 150);
-	TreeItem item = new TreeItem(tree, SWT.NONE);
-	item.setText("root item");
-	for (int i = 0; i < 4; i++) {
-		TreeItem newItem = new TreeItem(item, SWT.NONE);
-		newItem.setText("descendent " + i);
-		if (i % 2 == 0) newItem.setData(xImage);
-		item.setExpanded(true);
-		item = newItem;
-	}
-
-	/*
-	 * NOTE: MeasureItem and PaintItem are called repeatedly.  Therefore it is
-	 * critical for performance that these methods be as efficient as possible.
-	 */
-	tree.addListener(SWT.MeasureItem, new Listener() {
-		public void handleEvent(Event event) {
-			TreeItem item = (TreeItem)event.item;
-			Image trailingImage = (Image)item.getData();
-			if (trailingImage != null) {
-				event.width += trailingImage.getBounds().width + IMAGE_MARGIN;
-			}
-		}
-	});
-	tree.addListener(SWT.PaintItem, new Listener() {
-		public void handleEvent(Event event) {
-			TreeItem item = (TreeItem)event.item;
-			Image trailingImage = (Image)item.getData();
-			if (trailingImage != null) {
-				int x = event.x + event.width + IMAGE_MARGIN;
-				int itemHeight = tree.getItemHeight();
-				int imageHeight = trailingImage.getBounds().height;
-				int y = event.y + (itemHeight - imageHeight) / 2;
-				event.gc.drawImage(trailingImage, x, y);
-			}
-		}
-	});
-
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch()) display.sleep();
-	}
-	xImage.dispose();
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet221.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet221.java
deleted file mode 100644
index 6b60692..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet221.java
+++ /dev/null
@@ -1,152 +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.swt.snippets;
-/* 
- * example snippet: Scroll tree when mouse at top or bottom
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet221 {
-	static Runnable Heartbeat;
-	static boolean Tracking;
-	static int ScrollSpeed = 40;
-	
-public static void main(String[] args) {
-	final Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setLayout(new FillLayout());
-	final Tree tree = new Tree(shell, SWT.FULL_SELECTION | SWT.BORDER);
-	tree.setHeaderVisible(true);
-	TreeColumn column0 = new TreeColumn(tree, SWT.LEFT);
-	column0.setText("Column 0");
-	TreeColumn column1 = new TreeColumn(tree, SWT.LEFT);
-	column1.setText("Column 1");
-	TreeColumn column2 = new TreeColumn(tree, SWT.LEFT);
-	column2.setText("Column 2");
-	for (int i = 0; i < 9; i++) {
-		TreeItem item = new TreeItem(tree, SWT.NONE);
-		item.setText("item "+i);
-		item.setText(1, "column 1 - "+i);
-		item.setText(2, "column 2 - "+i);
-		for (int j = 0; j < 9; j++) {
-			TreeItem subItem = new TreeItem(item, SWT.NONE);
-			subItem.setText("item "+i+" "+j);
-			subItem.setText(1, "column 1 - "+i+" "+j);
-			subItem.setText(2, "column 2 - "+i+" "+j);
-			for (int k = 0; k < 9; k++) {
-				TreeItem subsubItem = new TreeItem(subItem, SWT.NONE);
-				subsubItem.setText("item "+i+" "+j+" "+k);
-				subsubItem.setText(1, "column 1 - "+i+" "+j+" "+k);
-				subsubItem.setText(2, "column 2 - "+i+" "+j+" "+k);
-			}
-		}
-	}
-	column0.pack();
-	column1.pack();
-	column2.pack();
-	
-	Heartbeat = new Runnable() {
-		public void run() {
-			if (!Tracking || tree.isDisposed()) return;
-			Point cursor = display.getCursorLocation();
-			cursor = display.map(null, tree, cursor);
-			Scroll(tree, cursor.x, cursor.y);
-			display.timerExec(ScrollSpeed, Heartbeat);
-		}
-	};
-	Listener listener = new Listener() {
-		public void handleEvent(Event event) {
-			switch (event.type) {
-			case SWT.MouseEnter:
-				Tracking = true;
-				display.timerExec(0, Heartbeat);
-				break;
-			case SWT.MouseExit:
-				Tracking = false;
-				break;
-			}
-		}
-	};
-	tree.addListener(SWT.MouseEnter, listener); 
-	tree.addListener(SWT.MouseExit, listener);
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	display.dispose();
-}
-static void Scroll(Tree tree, int x, int y) {
-	TreeItem item = tree.getItem(new Point(x, y));
-	if (item == null) return;
-	Rectangle area = tree.getClientArea();
-	int headerHeight = tree.getHeaderHeight();
-	int itemHeight= tree.getItemHeight();
-	TreeItem nextItem = null;
-	if (y < area.y + headerHeight + 2 * itemHeight) {
-		nextItem = PreviousItem(tree, item);
-	}
-	if (y > area.y + area.height - 2 * itemHeight) {
-		nextItem = NextItem(tree, item);
-	}
-	if (nextItem != null) tree.showItem(nextItem);
-}
-
-static TreeItem PreviousItem(Tree tree, TreeItem item) {
-	if (item == null) return null;
-	TreeItem childItem = item;
-	TreeItem parentItem = childItem.getParentItem();
-	int index = parentItem == null ? tree.indexOf(childItem) : parentItem.indexOf(childItem);
-	if (index == 0) {
-		return parentItem;
-	} else {
-		TreeItem nextItem = parentItem == null ? tree.getItem(index-1) : parentItem.getItem(index-1);
-		int count = nextItem.getItemCount();
-		while (count > 0 && nextItem.getExpanded()) {
-			nextItem = nextItem.getItem(count - 1);
-			count = nextItem.getItemCount();
-		}
-		return nextItem;
-	}
-}
-static TreeItem NextItem(Tree tree, TreeItem item) {
-	if (item == null) return null;
-	if (item.getExpanded()) {
-		return item.getItem(0);
-	} else {
-		TreeItem childItem = item;
-		TreeItem parentItem = childItem.getParentItem();
-		int index = parentItem == null ? tree.indexOf(childItem) : parentItem.indexOf(childItem);
-		int count = parentItem == null ? tree.getItemCount() : parentItem.getItemCount();
-		while (true) {
-			if (index + 1 < count) {
-				return parentItem == null ? tree.getItem(index + 1) : parentItem.getItem(index + 1);
-			} else {
-				if (parentItem == null) {
-					return null;
-				} else {
-					childItem = parentItem;
-					parentItem = childItem.getParentItem();
-					index = parentItem == null ? tree.indexOf(childItem) : parentItem.indexOf(childItem);
-					count = parentItem == null ? tree.getItemCount() : parentItem.getItemCount();
-				}
-			}
-		}
-	}
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet222.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet222.java
deleted file mode 100644
index 2f99385..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet222.java
+++ /dev/null
@@ -1,91 +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.swt.snippets;
-/* 
- * example snippet: StyledText bulleted list example
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet222 {
-	
-public static void main(String[] args) {	
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setText("StyledText Bullet Example");
-	shell.setLayout(new FillLayout());
-	final StyledText styledText = new StyledText (shell, SWT.FULL_SELECTION | SWT.BORDER | SWT.WRAP | SWT.V_SCROLL);
-	StringBuffer text = new StringBuffer();
-	text.append("Here is StyledText with some bulleted lists:\n\n");
-	for (int i = 0; i < 4; i++) text.append("Red Bullet List Item " + i + "\n");
-	text.append("\n");
-	for (int i = 0; i < 2; i++) text.append("Numbered List Item " + i + "\n");
-	for (int i = 0; i < 4; i++) text.append("Sub List Item " + i + "\n");
-	for (int i = 0; i < 2; i++) text.append("Numbered List Item " + (2 + i) + "\n");
-	text.append("\n");
-	for (int i = 0; i < 4; i++) text.append("Custom Draw List Item " + i + "\n");	
-	styledText.setText(text.toString());
-		
-	StyleRange style0 = new StyleRange();
-	style0.metrics = new GlyphMetrics(0, 0, 40);
-	style0.foreground = display.getSystemColor(SWT.COLOR_RED);
-	Bullet bullet0 = new Bullet (style0);
-	StyleRange style1 = new StyleRange();
-	style1.metrics = new GlyphMetrics(0, 0, 50);
-	style1.foreground = display.getSystemColor(SWT.COLOR_BLUE);
-	Bullet bullet1 = new Bullet (ST.BULLET_NUMBER | ST.BULLET_TEXT, style1);
-	bullet1.text = ".";
-	StyleRange style2 = new StyleRange();
-	style2.metrics = new GlyphMetrics(0, 0, 80);
-	style2.foreground = display.getSystemColor(SWT.COLOR_GREEN);
-	Bullet bullet2 = new Bullet (ST.BULLET_TEXT, style2);
-	bullet2.text = "\u2713";
-	StyleRange style3 = new StyleRange();
-	style3.metrics = new GlyphMetrics(0, 0, 50);
-	Bullet bullet3 = new Bullet (ST.BULLET_CUSTOM, style2);
-
-	styledText.setLineBullet(2, 4, bullet0);
-	styledText.setLineBullet(7, 2, bullet1);
-	styledText.setLineBullet(9, 4, bullet2);
-	styledText.setLineBullet(13, 2, bullet1);
-	styledText.setLineBullet(16, 4, bullet3);
-
-	styledText.addPaintObjectListener(new PaintObjectListener() {
-		public void paintObject(PaintObjectEvent event) {
-			Display display = event.display;
-			StyleRange style = event.style;
-			Font font = style.font;
-			if (font == null) font = styledText.getFont();
-			TextLayout layout = new TextLayout(display);
-			layout.setAscent(event.ascent);
-			layout.setDescent(event.descent);
-			layout.setFont(font);
-			layout.setText("\u2023 1." + event.bulletIndex + ")");
-			layout.draw(event.gc, event.x + 10, event.y);
-			layout.dispose();
-		}
-	});
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch()) display.sleep();
-	}
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet223.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet223.java
deleted file mode 100644
index 96844d2..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet223.java
+++ /dev/null
@@ -1,118 +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.swt.snippets;
-/* 
- * example snippet: ExpandBar example
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.graphics.*;
-
-public class Snippet223 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setLayout(new FillLayout());
-	shell.setText("ExpandBar Example");
-	ExpandBar bar = new ExpandBar (shell, SWT.V_SCROLL);
-	Image image = new Image(display, Snippet223.class.getResourceAsStream("eclipse.png")); 
-	
-	// First item
-	Composite composite = new Composite (bar, SWT.NONE);
-	GridLayout layout = new GridLayout ();
-	layout.marginLeft = layout.marginTop = layout.marginRight = layout.marginBottom = 10;
-	layout.verticalSpacing = 10;
-	composite.setLayout(layout);
-	Button button = new Button (composite, SWT.PUSH);
-	button.setText("SWT.PUSH");
-	button = new Button (composite, SWT.RADIO);
-	button.setText("SWT.RADIO");
-	button = new Button (composite, SWT.CHECK);
-	button.setText("SWT.CHECK");
-	button = new Button (composite, SWT.TOGGLE);
-	button.setText("SWT.TOGGLE");
-	ExpandItem item0 = new ExpandItem (bar, SWT.NONE, 0);
-	item0.setText("What is your favorite button");
-	item0.setHeight(composite.computeSize(SWT.DEFAULT, SWT.DEFAULT).y);
-	item0.setControl(composite);
-	item0.setImage(image);
-	
-	// Second item
-	composite = new Composite (bar, SWT.NONE);
-	layout = new GridLayout (2, false);
-	layout.marginLeft = layout.marginTop = layout.marginRight = layout.marginBottom = 10;
-	layout.verticalSpacing = 10;
-	composite.setLayout(layout);	
-	Label label = new Label (composite, SWT.NONE);
-	label.setImage(display.getSystemImage(SWT.ICON_ERROR));
-	label = new Label (composite, SWT.NONE);
-	label.setText("SWT.ICON_ERROR");
-	label = new Label (composite, SWT.NONE);
-	label.setImage(display.getSystemImage(SWT.ICON_INFORMATION));
-	label = new Label (composite, SWT.NONE);
-	label.setText("SWT.ICON_INFORMATION");
-	label = new Label (composite, SWT.NONE);
-	label.setImage(display.getSystemImage(SWT.ICON_WARNING));
-	label = new Label (composite, SWT.NONE);
-	label.setText("SWT.ICON_WARNING");
-	label = new Label (composite, SWT.NONE);
-	label.setImage(display.getSystemImage(SWT.ICON_QUESTION));
-	label = new Label (composite, SWT.NONE);
-	label.setText("SWT.ICON_QUESTION");
-	ExpandItem item1 = new ExpandItem (bar, SWT.NONE, 1);
-	item1.setText("What is your favorite icon");
-	item1.setHeight(composite.computeSize(SWT.DEFAULT, SWT.DEFAULT).y);
-	item1.setControl(composite);
-	item1.setImage(image);
-	
-	// Third item
-	composite = new Composite (bar, SWT.NONE);
-	layout = new GridLayout (2, true);
-	layout.marginLeft = layout.marginTop = layout.marginRight = layout.marginBottom = 10;
-	layout.verticalSpacing = 10;
-	composite.setLayout(layout);
-	label = new Label (composite, SWT.NONE);
-	label.setText("Scale");	
-	new Scale (composite, SWT.NONE);
-	label = new Label (composite, SWT.NONE);
-	label.setText("Spinner");	
-	new Spinner (composite, SWT.BORDER);
-	label = new Label (composite, SWT.NONE);
-	label.setText("Slider");	
-	new Slider (composite, SWT.NONE);
-	ExpandItem item2 = new ExpandItem (bar, SWT.NONE, 2);
-	item2.setText("What is your favorite range widget");
-	item2.setHeight(composite.computeSize(SWT.DEFAULT, SWT.DEFAULT).y);
-	item2.setControl(composite);
-	item2.setImage(image);
-	
-	item1.setExpanded(true);
-	bar.setSpacing(8);
-	shell.setSize(400, 350);
-	shell.open();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) {
-			display.sleep ();
-		}
-	}
-	image.dispose();
-	display.dispose();
-}
-
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet224.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet224.java
deleted file mode 100644
index 125087e..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet224.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.swt.snippets;
-
-/*
- * implement radio behavior for setSelection()
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet224 {
-public static void main (String [] args) {
-	Display display = new Display ();
-	final Shell shell = new Shell (display);
-	shell.setLayout (new RowLayout (SWT.VERTICAL));
-	for (int i=0; i<8; i++) {
-		Button button = new Button (shell, SWT.RADIO);
-		button.setText ("B" + i);
-		if (i == 0) button.setSelection (true);
-	}
-	Button button = new Button (shell, SWT.PUSH);
-	button.setText ("Set Selection to B4");
-	button.addListener (SWT.Selection, new Listener () {
-		public void handleEvent (Event event) {
-			Control [] children = shell.getChildren ();
-			Button newButton = (Button) children [4];
-			for (int i=0; i<children.length; i++) {
-				Control child = children [i];
-				if (child instanceof Button && (child.getStyle () & SWT.RADIO) != 0) {
-					((Button) child).setSelection (false);
-				}
-			}
-			newButton.setSelection (true);
-		}
-	});
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet225.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet225.java
deleted file mode 100644
index 59b3705..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet225.java
+++ /dev/null
@@ -1,60 +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.swt.snippets;
-  
-/*
- * Tooltip example snippet: create a balloon tooltip for a tray item
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet225 {
-
-public static void main(String[] args) {
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	Image image = null;
-	final ToolTip tip = new ToolTip(shell, SWT.BALLOON | SWT.ICON_INFORMATION);
-	tip.setMessage("Here is a message for the user. When the message is too long it wraps. I should say something cool but nothing comes to my mind.");
-	Tray tray = display.getSystemTray();
-	if (tray != null) {
-		TrayItem item = new TrayItem(tray, SWT.NONE);
-		image = new Image(display, Snippet225.class.getResourceAsStream("eclipse.png"));
-		item.setImage(image);
-		tip.setText("Notification from a tray item");
-		item.setToolTip(tip);
-	} else {
-		tip.setText("Notification from anywhere");
-		tip.setLocation(400, 400);
-	}
-	Button button = new Button (shell, SWT.PUSH);
-	button.setText("Press for balloon tip");
-	button.addListener(SWT.Selection, new Listener() {
-		public void handleEvent(Event event) {
-			tip.setVisible(true);
-		}
-	});
-	button.pack();
-	shell.setBounds(50, 50, 300, 200);
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch()) display.sleep();
-	}
-	if (image != null) image.dispose();
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet226.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet226.java
deleted file mode 100644
index b88dbfd..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet226.java
+++ /dev/null
@@ -1,116 +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.swt.snippets;
-
-/* 
- * Tree example snippet: Draw a custom gradient selection
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.3
- */
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet226 {
-	
-public static void main(String [] args) {
-	final Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setText("Custom gradient selection for Tree");
-	shell.setLayout(new FillLayout());
-	final Tree tree = new Tree(shell, SWT.MULTI | SWT.FULL_SELECTION);
-	tree.setHeaderVisible(true);
-	tree.setLinesVisible(true);
-	int columnCount = 4;
-	for (int i=0; i<columnCount; i++) {
-		TreeColumn column = new TreeColumn(tree, SWT.NONE);
-		column.setText("Column " + i);	
-	}
-	int itemCount = 3;
-	for (int i=0; i<itemCount; i++) {
-		TreeItem item1 = new TreeItem(tree, SWT.NONE);
-		item1.setText("item "+i);
-		for (int c=1; c < columnCount; c++) {
-			item1.setText(c, "item ["+i+"-"+c+"]");
-		}
-		for (int j=0; j<itemCount; j++) {
-			TreeItem item2 = new TreeItem(item1, SWT.NONE);
-			item2.setText("item ["+i+" "+j+"]");
-			for (int c=1; c<columnCount; c++) {
-				item2.setText(c, "item ["+i+" "+j+"-"+c+"]");
-			}
-			for (int k=0; k<itemCount; k++) {
-				TreeItem item3 = new TreeItem(item2, SWT.NONE);
-				item3.setText("item ["+i+" "+j+" "+k+"]");
-				for (int c=1; c<columnCount; c++) {
-					item3.setText(c, "item ["+i+" "+j+" "+k+"-"+c+"]");
-				}
-			}
-		}
-	}
-
-	/*
-	 * NOTE: MeasureItem, PaintItem and EraseItem are called repeatedly.
-	 * Therefore, it is critical for performance that these methods be
-	 * as efficient as possible.
-	 */
-	tree.addListener(SWT.EraseItem, new Listener() {
-		public void handleEvent(Event event) {
-			event.detail &= ~SWT.HOT;
-			if ((event.detail & SWT.SELECTED) != 0) {
-				GC gc = event.gc;
-				Rectangle area = tree.getClientArea();
-				/*
-				 * If you wish to paint the selection beyond the end of
-				 * last column, you must change the clipping region.
-				 */
-				int columnCount = tree.getColumnCount();
-				if (event.index == columnCount - 1 || columnCount == 0) {
-					int width = area.x + area.width - event.x;
-					if (width > 0) {
-						Region region = new Region();
-						gc.getClipping(region);
-						region.add(event.x, event.y, width, event.height); 
-						gc.setClipping(region);
-						region.dispose();
-					}
-				}
-				gc.setAdvanced(true);
-				if (gc.getAdvanced()) gc.setAlpha(127);								
-				Rectangle rect = event.getBounds();
-				Color foreground = gc.getForeground();
-				Color background = gc.getBackground();
-				gc.setForeground(display.getSystemColor(SWT.COLOR_RED));
-				gc.setBackground(display.getSystemColor(SWT.COLOR_LIST_BACKGROUND));
-				gc.fillGradientRectangle(0, rect.y, 500, rect.height, false);
-				// restore colors for subsequent drawing
-				gc.setForeground(foreground);
-				gc.setBackground(background);
-				event.detail &= ~SWT.SELECTED;					
-			}						
-		}
-	});		
-	for (int i=0; i<columnCount; i++) {
-		tree.getColumn(i).pack();
-	}	
-	tree.setSelection(tree.getItem(0));
-	shell.setSize(500, 200);
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch()) display.sleep();
-	}
-	display.dispose();	
-}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet227.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet227.java
deleted file mode 100644
index 911b58f..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet227.java
+++ /dev/null
@@ -1,120 +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.swt.snippets;
-/* 
- * Tree example snippet: Multiple lines in a TreeItem
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet227 {	
-public static void main(String [] args) {
-	Display display = new Display();
-	Shell shell = new Shell (display);
-	shell.setText("Multiple lines in a TreeItem");
-	shell.setLayout (new FillLayout());
-	final Tree tree = new Tree(shell, SWT.MULTI | SWT.FULL_SELECTION);
-	tree.setHeaderVisible(true);
-	tree.setLinesVisible(true);
-	int columnCount = 4;
-	for (int i=0; i<columnCount; i++) {
-		TreeColumn column = new TreeColumn(tree, SWT.NONE);
-		column.setText("Column " + i);
-		column.setWidth(100);
-	}
-	int itemCount = 3;
-	for (int i=0; i<itemCount; i++) {
-		TreeItem item1 = new TreeItem(tree, SWT.NONE);
-		item1.setText("item "+i);
-		for (int c=1; c < columnCount; c++) {
-			item1.setText(c, "item ["+i+"-"+c+"]");
-		}
-		for (int j=0; j<itemCount; j++) {
-			TreeItem item2 = new TreeItem(item1, SWT.NONE);
-			item2.setText("item ["+i+" "+j+"]");
-			for (int c=1; c<columnCount; c++) {
-				item2.setText(c, "item ["+i+" "+j+"-"+c+"]");
-			}
-			for (int k=0; k<itemCount; k++) {
-				TreeItem item3 = new TreeItem(item2, SWT.NONE);
-				item3.setText("item ["+i+" "+j+" "+k+"]");
-				for (int c=1; c<columnCount; c++) {
-					item3.setText(c, "item ["+i+" "+j+" "+k+"-"+c+"]");
-				}
-			}
-		}
-	}
-
-	/*
-	 * NOTE: MeasureItem, PaintItem and EraseItem are called repeatedly.
-	 * Therefore, it is critical for performance that these methods be
-	 * as efficient as possible.
-	 */
-	Listener paintListener = new Listener() {
-		public void handleEvent(Event event) {
-			switch(event.type) {		
-				case SWT.MeasureItem: {
-					TreeItem item = (TreeItem)event.item;
-					String text = getText(item, event.index);
-					Point size = event.gc.textExtent(text);
-					event.width = size.x;
-					event.height = Math.max(event.height, size.y);
-					break;
-				}
-				case SWT.PaintItem: {
-					TreeItem item = (TreeItem)event.item;
-					String text = getText(item, event.index);
-					Point size = event.gc.textExtent(text);					
-					int offset2 = event.index == 0 ? Math.max(0, (event.height - size.y) / 2) : 0;
-					event.gc.drawText(text, event.x, event.y + offset2, true);
-					break;
-				}
-				case SWT.EraseItem: {	
-					event.detail &= ~SWT.FOREGROUND;
-					break;
-				}
-			}
-		}
-		String getText(TreeItem item, int column) {
-			String text = item.getText(column);
-			if (column != 0) {
-				TreeItem parent = item.getParentItem();
-				int index = parent == null ? tree.indexOf(item) : parent.indexOf(item);
-				if ((index+column) % 3 == 1){
-					text +="\nnew line";
-				}
-				if ((index+column) % 3 == 2) {
-					text +="\nnew line\nnew line";
-				}
-			}
-			return text;
-		}
-	};
-	tree.addListener(SWT.MeasureItem, paintListener);
-	tree.addListener(SWT.PaintItem, paintListener);
-	tree.addListener(SWT.EraseItem, paintListener);
-
-	shell.setSize(600, 400);
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch()) display.sleep();
-	}
-	display.dispose();
-}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet228.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet228.java
deleted file mode 100644
index 2528710..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet228.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
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/* 
- * Table example snippet: Draw a bar graph
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet228 {
-	
-public static void main(String [] args) {
-	final Display display = new Display();		
-	Shell shell = new Shell(display);
-	shell.setLayout(new FillLayout());
-	shell.setText("Show results as a bar chart in Table");
-	final Table table = new Table(shell, SWT.BORDER);
-	table.setHeaderVisible(true);
-	table.setLinesVisible(true);
-	TableColumn column1 = new TableColumn(table, SWT.NONE);
-	column1.setText("Bug Status");
-	column1.setWidth(100);
-	final TableColumn column2 = new TableColumn(table, SWT.NONE);
-	column2.setText("Percent");
-	column2.setWidth(200);
-	String[] labels = new String[]{"Resolved", "New", "Won't Fix", "Invalid"};
-	for (int i=0; i<labels.length; i++) {
-		 TableItem item = new TableItem(table, SWT.NONE);
-		 item.setText(labels[i]);
-	}
-
-	/*
-	 * NOTE: MeasureItem, PaintItem and EraseItem are called repeatedly.
-	 * Therefore, it is critical for performance that these methods be
-	 * as efficient as possible.
-	 */
-	table.addListener(SWT.PaintItem, new Listener() {
-		int[] percents = new int[] {50, 30, 5, 15};
-		public void handleEvent(Event event) {
-			if (event.index == 1) {
-				GC gc = event.gc;
-				TableItem item = (TableItem)event.item;
-				int index = table.indexOf(item);
-				int percent = percents[index];
-				Color foreground = gc.getForeground();
-				Color background = gc.getBackground();
-				gc.setForeground(display.getSystemColor(SWT.COLOR_RED));
-				gc.setBackground(display.getSystemColor(SWT.COLOR_YELLOW));
-				int width = (column2.getWidth() - 1) * percent / 100;
-				gc.fillGradientRectangle(event.x, event.y, width, event.height, true);					
-				Rectangle rect2 = new Rectangle(event.x, event.y, width-1, event.height-1);
-				gc.drawRectangle(rect2);
-				gc.setForeground(display.getSystemColor(SWT.COLOR_LIST_FOREGROUND));
-				String text = percent+"%";
-				Point size = event.gc.textExtent(text);					
-				int offset = Math.max(0, (event.height - size.y) / 2);
-				gc.drawText(text, event.x+2, event.y+offset, true);
-				gc.setForeground(background);
-				gc.setBackground(foreground);
-			}
-		}
-	});		
-			
-	shell.pack();
-	shell.open();
-	while(!shell.isDisposed()) {
-		if(!display.readAndDispatch()) display.sleep();
-	}
-	display.dispose();
-}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet229.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet229.java
deleted file mode 100644
index 78c513b..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet229.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.swt.snippets;
-
-/* 
- * Table example snippet: Draw a custom gradient selection
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.3
- */
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet229 {
-public static void main(String [] args) {
-	final Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setText("Custom gradient selection for Table");
-	shell.setLayout(new FillLayout());
-	final Table table = new Table(shell, SWT.MULTI | SWT.FULL_SELECTION);
-	table.setHeaderVisible(true);
-	table.setLinesVisible(true);
-	int columnCount = 3;
-	for (int i=0; i<columnCount; i++) {
-		TableColumn column = new TableColumn(table, SWT.NONE);
-		column.setText("Column " + i);	
-	}
-	int itemCount = 8;
-	for(int i = 0; i < itemCount; i++) {
-		TableItem item = new TableItem(table, SWT.NONE);
-		item.setText(new String[] {"item "+i+" a", "item "+i+" b", "item "+i+" c"});
-	}		
-	/*
-	 * NOTE: MeasureItem, PaintItem and EraseItem are called repeatedly.
-	 * Therefore, it is critical for performance that these methods be
-	 * as efficient as possible.
-	 */
-	table.addListener(SWT.EraseItem, new Listener() {
-		public void handleEvent(Event event) {
-			event.detail &= ~SWT.HOT;	
-			if((event.detail & SWT.SELECTED) != 0) {
-				GC gc = event.gc;
-				Rectangle area = table.getClientArea();
-				/*
-				 * If you wish to paint the selection beyond the end of
-				 * last column, you must change the clipping region.
-				 */
-				int columnCount = table.getColumnCount();
-				if (event.index == columnCount - 1 || columnCount == 0) {
-					int width = area.x + area.width - event.x;
-					if (width > 0) {
-						Region region = new Region();
-						gc.getClipping(region);
-						region.add(event.x, event.y, width, event.height); 
-						gc.setClipping(region);
-						region.dispose();
-					}
-				}
-				gc.setAdvanced(true);
-				if (gc.getAdvanced()) gc.setAlpha(127);								
-				Rectangle rect = event.getBounds();
-				Color foreground = gc.getForeground();
-				Color background = gc.getBackground();
-				gc.setForeground(display.getSystemColor(SWT.COLOR_RED));
-				gc.setBackground(display.getSystemColor(SWT.COLOR_LIST_BACKGROUND));
-				gc.fillGradientRectangle(0, rect.y, 500, rect.height, false);
-				// restore colors for subsequent drawing
-				gc.setForeground(foreground);
-				gc.setBackground(background);
-				event.detail &= ~SWT.SELECTED;					
-			}						
-		}
-	});		
-	for (int i=0; i<columnCount; i++) {
-		table.getColumn(i).pack();
-	}	
-	table.setSelection(table.getItem(0));
-	shell.setSize(500, 200);
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch()) display.sleep();
-	}
-	display.dispose();	
-}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet23.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet23.java
deleted file mode 100644
index 5123690..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet23.java
+++ /dev/null
@@ -1,43 +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.swt.snippets;
-
-/*
- * Tracker example snippet: create a tracker (drag on mouse down)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet23 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	final Shell shell = new Shell (display);
-	shell.open ();
-	shell.addListener (SWT.MouseDown, new Listener () {
-		public void handleEvent (Event e) {
-			Tracker tracker = new Tracker (shell, SWT.NONE);
-			tracker.setRectangles (new Rectangle [] {
-				new Rectangle (e.x, e.y, 100, 100),
-			});
-			tracker.open ();
-		}
-	});
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet230.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet230.java
deleted file mode 100644
index ee062db..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet230.java
+++ /dev/null
@@ -1,86 +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.swt.snippets;
-
-/* 
- * Table example snippet: Images on the right hand side of a TableItem
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet230 {
-	
-public static void main(String [] args) {
-	Display display = new Display();
-	final Image image = display.getSystemImage(SWT.ICON_INFORMATION);
-	Shell shell = new Shell(display);
-	shell.setText("Images on the right side of the TableItem");
-	shell.setLayout(new FillLayout ());
-	Table table = new Table(shell, SWT.MULTI | SWT.FULL_SELECTION);
-	table.setHeaderVisible(true);
-	table.setLinesVisible(true);			
-	int columnCount = 3;
-	for (int i=0; i<columnCount; i++) {
-		TableColumn column = new TableColumn(table, SWT.NONE);
-		column.setText("Column " + i);	
-	}
-	int itemCount = 8;
-	for(int i = 0; i < itemCount; i++) {
-		TableItem item = new TableItem(table, SWT.NONE);
-		item.setText(new String[] {"item "+i+" a", "item "+i+" b", "item "+i+" c"});
-	}
-	/*
-	 * NOTE: MeasureItem, PaintItem and EraseItem are called repeatedly.
-	 * Therefore, it is critical for performance that these methods be
-	 * as efficient as possible.
-	 */
-	Listener paintListener = new Listener() {
-		public void handleEvent(Event event) {		
-			switch(event.type) {
-				case SWT.MeasureItem: {
-					Rectangle rect = image.getBounds();
-					event.width += rect.width;
-					event.height = Math.max(event.height, rect.height + 2);
-					break;
-				}
-				case SWT.PaintItem: {
-					int x = event.x + event.width;
-					Rectangle rect = image.getBounds();
-					int offset = Math.max(0, (event.height - rect.height) / 2);
-					event.gc.drawImage(image, x, event.y + offset);
-					break;
-				}
-			}
-		}
-	};		
-	table.addListener(SWT.MeasureItem, paintListener);
-	table.addListener(SWT.PaintItem, paintListener);		
-
-	for(int i = 0; i < columnCount; i++) {
-		table.getColumn(i).pack();
-	}	
-	shell.setSize(500, 200);
-	shell.open();
-	while(!shell.isDisposed ()) {
-		if(!display.readAndDispatch()) display.sleep();
-	}
-	if(image != null) image.dispose();
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet231.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet231.java
deleted file mode 100644
index 1df78e2..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet231.java
+++ /dev/null
@@ -1,101 +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.swt.snippets;
-
-/* 
- * example snippet: Multiple lines per TableItem
- *
- * For a detailed explanation of this snippet see
- * http://www.eclipse.org/articles/Article-CustomDrawingTableAndTreeItems/customDraw.htm#_example6
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet231 {
-	
-public static void main(String [] args) {
-	final int COLUMN_COUNT = 4;
-	final int ITEM_COUNT = 8;
-	final int TEXT_MARGIN = 3;
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	final Table table = new Table(shell, SWT.FULL_SELECTION);
-	table.setHeaderVisible(true);
-	table.setLinesVisible(true);
-	for (int i = 0; i < COLUMN_COUNT; i++) {
-		new TableColumn(table, SWT.NONE);
-	}
-	for (int i = 0; i < ITEM_COUNT; i++) {
-		TableItem item = new TableItem(table, SWT.NONE);
-		for (int j = 0; j < COLUMN_COUNT; j++) {
-			String string = "item " + i + " col " + j;
-			if ((i + j) % 3 == 1) {
-				string +="\nnew line1";
-			}
-			if ((i + j) % 3 == 2) {
-				string +="\nnew line1\nnew line2";
-			}
-			item.setText(j, string);
-		}
-	}
-
-	/*
-	 * NOTE: MeasureItem, PaintItem and EraseItem are called repeatedly.
-	 * Therefore, it is critical for performance that these methods be
-	 * as efficient as possible.
-	 */
-	table.addListener(SWT.MeasureItem, new Listener() {
-		public void handleEvent(Event event) {
-			TableItem item = (TableItem)event.item;
-			String text = item.getText(event.index);
-			Point size = event.gc.textExtent(text);
-			event.width = size.x + 2 * TEXT_MARGIN;
-			event.height = Math.max(event.height, size.y + TEXT_MARGIN);
-		}
-	});
-	table.addListener(SWT.EraseItem, new Listener() {
-		public void handleEvent(Event event) {
-			event.detail &= ~SWT.FOREGROUND;
-		}
-	});
-	table.addListener(SWT.PaintItem, new Listener() {
-		public void handleEvent(Event event) {
-			TableItem item = (TableItem)event.item;
-			String text = item.getText(event.index);
-			/* center column 1 vertically */
-			int yOffset = 0;
-			if (event.index == 1) {
-				Point size = event.gc.textExtent(text);
-				yOffset = Math.max(0, (event.height - size.y) / 2);
-			}
-			event.gc.drawText(text, event.x + TEXT_MARGIN, event.y + yOffset, true);
-		}
-	});
-
-	for (int i = 0; i < COLUMN_COUNT; i++) {
-		table.getColumn(i).pack();
-	}
-	table.pack();
-	shell.pack();
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch()) display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet232.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet232.java
deleted file mode 100644
index b5a2cfb..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet232.java
+++ /dev/null
@@ -1,96 +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.swt.snippets;
-
-/* 
- * Tree example snippet: Draw a bar graph
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet232 {
-	
-public static void main(String [] args) {
-	final Display display = new Display();		
-	Shell shell = new Shell(display);
-	shell.setLayout(new FillLayout());
-	shell.setText("Show results as a bar chart in Tree");
-	final Tree tree = new Tree(shell, SWT.BORDER);
-	tree.setHeaderVisible(true);
-	tree.setLinesVisible(true);
-	TreeColumn column1 = new TreeColumn(tree, SWT.NONE);
-	column1.setText("Bug Status");
-	column1.setWidth(100);
-	final TreeColumn column2 = new TreeColumn(tree, SWT.NONE);
-	column2.setText("Percent");
-	column2.setWidth(200);
-	String[] states = new String[]{"Resolved", "New", "Won't Fix", "Invalid"};
-	String[] teams = new String[] {"UI", "SWT", "OSGI"};
-	for (int i=0; i<teams.length; i++) {
-		TreeItem item = new TreeItem(tree, SWT.NONE);
-		item.setText(teams[i]);
-		for (int j = 0; j < states.length; j++) {
-			TreeItem subItem = new TreeItem(item, SWT.NONE);
-			subItem.setText(states[j]);	
-		}
-	}
-
-	/*
-	 * NOTE: MeasureItem, PaintItem and EraseItem are called repeatedly.
-	 * Therefore, it is critical for performance that these methods be
-	 * as efficient as possible.
-	 */
-	tree.addListener(SWT.PaintItem, new Listener() {
-		int[] percents = new int[] {50, 30, 5, 15};
-		public void handleEvent(Event event) {
-			if (event.index == 1) {
-				TreeItem item = (TreeItem)event.item;
-				TreeItem parent = item.getParentItem();
-				if (parent != null) {
-					GC gc = event.gc;
-					int index = parent.indexOf(item);
-					int percent = percents[index];
-					Color foreground = gc.getForeground();
-					Color background = gc.getBackground();
-					gc.setForeground(display.getSystemColor(SWT.COLOR_RED));
-					gc.setBackground(display.getSystemColor(SWT.COLOR_YELLOW));
-					int width = (column2.getWidth() - 1) * percent / 100;
-					gc.fillGradientRectangle(event.x, event.y, width, event.height, true);					
-					Rectangle rect2 = new Rectangle(event.x, event.y, width-1, event.height-1);
-					gc.drawRectangle(rect2);
-					gc.setForeground(display.getSystemColor(SWT.COLOR_LIST_FOREGROUND));
-					String text = percent+"%";
-					Point size = event.gc.textExtent(text);					
-					int offset = Math.max(0, (event.height - size.y) / 2);
-					gc.drawText(text, event.x+2, event.y+offset, true);
-					gc.setForeground(background);
-					gc.setBackground(foreground);
-				}
-			}
-		}
-	});		
-			
-	shell.pack();
-	shell.open();
-	while(!shell.isDisposed()) {
-		if(!display.readAndDispatch()) display.sleep();
-	}
-	display.dispose();
-}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet233.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet233.java
deleted file mode 100644
index 220412d..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet233.java
+++ /dev/null
@@ -1,46 +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.swt.snippets;
-
-/* 
- * Shell example snippet: create a dialog shell and position it
- * with upper left corner at cursor position
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.events.*;
-
-public class Snippet233 {
-	public static void main (String [] args) {
-		final Display display = new Display ();
-		final Shell shell = new Shell (display);
-		shell.setText ("Parent Shell");
-		shell.addMouseListener (new MouseAdapter() {
-			public void mouseDown (MouseEvent e) {
-				Shell dialog = new Shell (shell, SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL);
-				Point pt = display.getCursorLocation ();
-				dialog.setLocation (pt.x, pt.y);
-				dialog.setText ("Dialog Shell");
-				dialog.setSize (100, 100);
-				dialog.open (); 
-			}});
-		shell.setSize (400, 400);
-		shell.open ();
-		while (!shell.isDisposed ()) {
-			if (!display.readAndDispatch ()) display.sleep ();
-		}
-		display.dispose ();
-	}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet234.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet234.java
deleted file mode 100644
index 27539ad..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet234.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.swt.snippets;
-/* 
- * Table example snippet: Fixed first column and horizontal scroll remaining columns
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.3
- */
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet234 {
-public static void main (String [] args) {
-	int rowCount = 40;
-	int columnCount = 15;
-	final Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setLayout(new FillLayout());
-	
-	Composite parent = new Composite(shell, SWT.BORDER);
-	GridLayout layout = new GridLayout(2, false);
-	layout.marginWidth = layout.marginHeight = layout.horizontalSpacing = 0;
-	parent.setLayout(layout);
-	final Table leftTable = new Table(parent, SWT.MULTI | SWT.FULL_SELECTION);
-	leftTable.setLayoutData(new GridData(SWT.LEFT, SWT.FILL, false, true));
-	leftTable.setHeaderVisible(true);
-	final Table rightTable = new Table(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION);
-	rightTable.setHeaderVisible(true);
-	GridData table2Data = new GridData(SWT.FILL, SWT.FILL, true, true, 1, 2);
-	rightTable.setLayoutData(table2Data);
-	// Create columns
-	TableColumn column1 = new TableColumn(leftTable, SWT.NONE);
-	column1.setText("Name");
-	column1.setWidth(150);
-	for (int i = 0; i < columnCount; i++) {
-		TableColumn column = new TableColumn(rightTable, SWT.NONE);
-		column.setText("Value "+i);
-		column.setWidth(200);
-	}
-	// Create rows
-	for (int i = 0; i < rowCount; i++) {
-		TableItem item = new TableItem(leftTable, SWT.NONE);
-		item.setText("item "+i);
-		item = new TableItem(rightTable, SWT.NONE);
-		for (int j = 0; j < columnCount; j++) {
-			item.setText(j, "Item "+i+" value @ "+j);
-		}
-	}
-	// Make selection the same in both tables
-	leftTable.addListener(SWT.Selection, new Listener() {
-		public void handleEvent(Event event) {
-			rightTable.setSelection(leftTable.getSelectionIndices());
-		}
-	});
-	rightTable.addListener(SWT.Selection, new Listener() {
-		public void handleEvent(Event event) {
-			leftTable.setSelection(rightTable.getSelectionIndices());
-		}
-	});
-	// On Windows, the selection is gray if the table does not have focus.
-	// To make both tables appear in focus, draw the selection background here.
-	// This part only works on version 3.2 or later.
-	Listener eraseListener = new Listener() {
-		public void handleEvent(Event event) {
-			event.detail &= ~SWT.HOT;
-			if((event.detail & SWT.SELECTED) != 0) {
-				GC gc = event.gc;
-				Rectangle rect = event.getBounds();
-				gc.setForeground(display.getSystemColor(SWT.COLOR_LIST_SELECTION_TEXT));
-				gc.setBackground(display.getSystemColor(SWT.COLOR_LIST_SELECTION));
-				gc.fillRectangle(rect);
-				event.detail &= ~SWT.SELECTED;					
-			}
-		}
-	};
-	
-	leftTable.addListener(SWT.EraseItem, eraseListener);
-	rightTable.addListener(SWT.EraseItem, eraseListener);
-	// Make vertical scrollbars scroll together
-	ScrollBar vBarLeft = leftTable.getVerticalBar();
-	vBarLeft.addListener(SWT.Selection, new Listener() {
-		public void handleEvent(Event event) {
-			rightTable.setTopIndex(leftTable.getTopIndex());
-		}
-	});
-	ScrollBar vBarRight = rightTable.getVerticalBar();
-	vBarRight.addListener(SWT.Selection, new Listener() {
-		public void handleEvent(Event event) {
-			leftTable.setTopIndex(rightTable.getTopIndex());
-		}
-	});
-	// Horizontal bar on second table takes up a little extra space.
-	// To keep vertical scroll bars in sink, force table1 to end above
-	// horizontal scrollbar
-	ScrollBar hBarRight = rightTable.getHorizontalBar();
-	Label spacer = new Label(parent, SWT.NONE);
-	GridData spacerData = new GridData();
-	spacerData.heightHint = hBarRight.getSize().y;
-	spacer.setVisible(false);
-	parent.setBackground(leftTable.getBackground());
-	
-	shell.setSize(600, 400);
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet235.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet235.java
deleted file mode 100644
index e57a59f..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet235.java
+++ /dev/null
@@ -1,112 +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.swt.snippets;
-/* 
- * example snippet: detect a system settings change
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet235 {
-
-
-public static void main(String [] args) {
-	final Display display = new Display();
-	final Shell shell = new Shell(display);
-	shell.setText("The SWT.Settings Event");
-	shell.setLayout(new GridLayout());
-	Label label = new Label(shell, SWT.WRAP);
-	label.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
-	label.setText("Change a system setting and the table below will be updated.");
-	final Table table = new Table(shell, SWT.BORDER);
-	table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
-	TableColumn column = new TableColumn(table, SWT.NONE);
-	column = new TableColumn(table, SWT.NONE);
-	column.setWidth(150);
-	column = new TableColumn(table, SWT.NONE);
-	for (int i = 0; i < colorIds.length; i++) {
-		TableItem item = new TableItem(table, SWT.NONE);
-		Color color = display.getSystemColor(colorIds[i]);
-		item.setText(0, colorNames[i]);
-		item.setBackground(1, color);
-		item.setText(2, color.toString());
-	}
-	TableColumn[] columns = table.getColumns();
-	columns[0].pack();
-	columns[2].pack();
-	display.addListener(SWT.Settings, new Listener() {
-		public void handleEvent(Event event) {
-			for (int i = 0; i < colorIds.length; i++) {
-				Color color = display.getSystemColor(colorIds[i]);
-				TableItem item = table.getItem(i);
-				item.setBackground(1, color);
-			}
-			TableColumn[] columns = table.getColumns();
-			columns[0].pack();
-			columns[2].pack();
-		}
-	});
-
-	shell.pack();
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	display.dispose();
-}
-static int[] colorIds = new int[] {SWT.COLOR_INFO_BACKGROUND, 
-		SWT.COLOR_INFO_FOREGROUND, 
-		SWT.COLOR_LIST_BACKGROUND,
-		SWT.COLOR_LIST_FOREGROUND,
-		SWT.COLOR_LIST_SELECTION,
-		SWT.COLOR_LIST_SELECTION_TEXT,
-		SWT.COLOR_TITLE_BACKGROUND,
-		SWT.COLOR_TITLE_BACKGROUND_GRADIENT,
-		SWT.COLOR_TITLE_FOREGROUND,
-		SWT.COLOR_TITLE_INACTIVE_BACKGROUND,
-		SWT.COLOR_TITLE_INACTIVE_BACKGROUND_GRADIENT,
-		SWT.COLOR_TITLE_INACTIVE_FOREGROUND,
-		SWT.COLOR_WIDGET_BACKGROUND,
-		SWT.COLOR_WIDGET_BORDER,
-		SWT.COLOR_WIDGET_DARK_SHADOW,
-		SWT.COLOR_WIDGET_FOREGROUND,
-		SWT.COLOR_WIDGET_HIGHLIGHT_SHADOW,
-		SWT.COLOR_WIDGET_LIGHT_SHADOW,
-		SWT.COLOR_WIDGET_NORMAL_SHADOW,};
-static String [] colorNames = new String[] {"SWT.COLOR_INFO_BACKGROUND",
-		"SWT.COLOR_INFO_FOREGROUND", 
-		"SWT.COLOR_LIST_BACKGROUND",
-		"SWT.COLOR_LIST_FOREGROUND",
-		"SWT.COLOR_LIST_SELECTION",
-		"SWT.COLOR_LIST_SELECTION_TEXT",
-		"SWT.COLOR_TITLE_BACKGROUND",
-		"SWT.COLOR_TITLE_BACKGROUND_GRADIENT",
-		"SWT.COLOR_TITLE_FOREGROUND",
-		"SWT.COLOR_TITLE_INACTIVE_BACKGROUND",
-		"SWT.COLOR_TITLE_INACTIVE_BACKGROUND_GRADIENT",
-		"SWT.COLOR_TITLE_INACTIVE_FOREGROUND",
-		"SWT.COLOR_WIDGET_BACKGROUND",
-		"SWT.COLOR_WIDGET_BORDER",
-		"SWT.COLOR_WIDGET_DARK_SHADOW",
-		"SWT.COLOR_WIDGET_FOREGROUND",
-		"SWT.COLOR_WIDGET_HIGHLIGHT_SHADOW",
-		"SWT.COLOR_WIDGET_LIGHT_SHADOW",
-		"SWT.COLOR_WIDGET_NORMAL_SHADOW",};
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet236.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet236.java
deleted file mode 100644
index fbf57eb..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet236.java
+++ /dev/null
@@ -1,78 +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.swt.snippets;
-/* 
- * Table example snippet: draw different foreground colors for text in a TableItem.
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet236 {
-
-public static void main(String [] args) {
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setText("Table: Change style multiple times in cell");
-	shell.setLayout(new FillLayout());
-	Table table = new Table(shell, SWT.MULTI | SWT.FULL_SELECTION);
-	table.setLinesVisible(true);
-	for(int i = 0; i < 10; i++) {
-		new TableItem(table, SWT.NONE);			
-	}
-	final TextLayout textLayout = new TextLayout(display);
-	textLayout.setText("SWT: Standard Widget Toolkit");
-	Font font1 = new Font(display, "Tahoma", 14, SWT.BOLD);
-	Font font2 = new Font(display, "Tahoma", 10, SWT.NORMAL);
-	Font font3 = new Font(display, "Tahoma", 14, SWT.ITALIC);
-	TextStyle style1 = new TextStyle(font1, display.getSystemColor(SWT.COLOR_BLUE), null);
-	TextStyle style2 = new TextStyle(font2, display.getSystemColor(SWT.COLOR_MAGENTA), null);
-	TextStyle style3 = new TextStyle(font3, display.getSystemColor(SWT.COLOR_RED), null);
-	textLayout.setStyle(style1, 0, 0); textLayout.setStyle(style1, 5, 12);
-	textLayout.setStyle(style2, 1, 1); textLayout.setStyle(style2, 14, 19);
-	textLayout.setStyle(style3, 2, 2); textLayout.setStyle(style3, 21, 27);
-
-	/*
-	 * NOTE: MeasureItem, PaintItem and EraseItem are called repeatedly.
-	 * Therefore, it is critical for performance that these methods be
-	 * as efficient as possible.
-	 */
-	table.addListener(SWT.PaintItem, new Listener() {
-		public void handleEvent(Event event) {
-			textLayout.draw(event.gc, event.x, event.y);
-		}
-	});
-	final Rectangle textLayoutBounds = textLayout.getBounds();
-	table.addListener(SWT.MeasureItem, new Listener() {
-		public void handleEvent(Event e) {
-			e.width = textLayoutBounds.width + 2;
-			e.height = textLayoutBounds.height + 2;
-		}
-	});
-	shell.setSize(400, 200);
-	shell.open();
-	while(!shell.isDisposed()) {
-		if(!display.readAndDispatch()) display.sleep();
-	}
-	font1.dispose();
-	font2.dispose();
-	font3.dispose();
-	textLayout.dispose();
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet237.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet237.java
deleted file mode 100644
index eb823f5..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet237.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.swt.snippets;
-/* 
- * Composite Snippet: inherit a background color or image
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet237 {
-
-public static void main(String[] args) {
-	final Display display = new Display();
-	final Shell shell = new Shell(display);
-	shell.setText("Composite.setBackgroundMode()");
-	shell.setLayout(new RowLayout(SWT.VERTICAL));
-	
-	Color color = display.getSystemColor(SWT.COLOR_CYAN);
-	
-	Group group = new Group(shell, SWT.NONE);
-	group.setText("SWT.INHERIT_NONE");
-	group.setBackground(color);
-	group.setBackgroundMode(SWT.INHERIT_NONE);
-	createChildren(group);
-	
-	group = new Group(shell, SWT.NONE);
-	group.setBackground(color);
-	group.setText("SWT.INHERIT_DEFAULT");
-	group.setBackgroundMode(SWT.INHERIT_DEFAULT);
-	createChildren(group);
-	
-	group = new Group(shell, SWT.NONE);
-	group.setBackground(color);
-	group.setText("SWT.INHERIT_FORCE");
-	group.setBackgroundMode(SWT.INHERIT_FORCE);
-	createChildren(group);
-	
-	shell.pack();
-	shell.open();
-	while(!shell.isDisposed()) {
-		if(!display.readAndDispatch()) display.sleep();
-	}
-	display.dispose();
-}
-static void createChildren(Composite parent) {
-	parent.setLayout(new RowLayout());
-	List list = new List(parent, SWT.BORDER | SWT.MULTI);
-	list.add("List item 1");
-	list.add("List item 2");
-	Label label = new Label(parent, SWT.NONE);
-	label.setText("Label");
-	Button button = new Button(parent, SWT.RADIO);
-	button.setText("Radio Button");
-	button = new Button(parent, SWT.CHECK);
-	button.setText("Check box Button");
-	button = new Button(parent, SWT.PUSH);
-	button.setText("Push Button");
-	Text text = new Text(parent, SWT.BORDER);
-	text.setText("Text");
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet238.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet238.java
deleted file mode 100644
index ca6ce04..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet238.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.swt.snippets;
-
-/* 
- * Menu example snippet: create a popup menu with a submenu
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet238 {
-
-public static void main(String[] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	Composite composite = new Composite (shell, SWT.BORDER);
-	composite.setSize (100, 100);
-	Menu menu = new Menu (shell, SWT.POP_UP);
-	MenuItem item1 = new MenuItem (menu, SWT.PUSH);
-	item1.setText ("Push Item");
-	MenuItem item2 = new MenuItem (menu, SWT.CASCADE);
-	item2.setText ("Cascade Item");
-	Menu subMenu = new Menu (menu);
-	item2.setMenu (subMenu);
-	MenuItem subItem1 = new MenuItem (subMenu, SWT.PUSH);
-	subItem1.setText ("Subitem 1");
-	MenuItem subItem2 = new MenuItem (subMenu, SWT.PUSH);
-	subItem2.setText ("Subitem 2");
-	composite.setMenu (menu);
-	shell.setMenu (menu);
-	shell.setSize (300, 300);
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet239.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet239.java
deleted file mode 100644
index 34732e2..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet239.java
+++ /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
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/* 
- * Table snippet: make text span multiple columns
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet239 {
-	
-public static void main(String [] args) {
-	final Display display = new Display();
-	Shell shell = new Shell (display);
-	shell.setText("Text spans two columns in a TableItem");
-	shell.setLayout (new FillLayout());
-	final Table table = new Table(shell, SWT.MULTI | SWT.FULL_SELECTION);
-	table.setHeaderVisible(true);
-	int columnCount = 4;
-	for (int i=0; i<columnCount; i++) {
-		TableColumn column = new TableColumn(table, SWT.NONE);
-		column.setText("Column " + i);	
-	}
-	int itemCount = 8;
-	for (int i = 0; i < itemCount; i++) {
-		TableItem item = new TableItem(table, SWT.NONE);
-		item.setText(0, "item "+i+" a");
-		item.setText(3, "item "+i+" d");
-	}	
-	/*
-	 * NOTE: MeasureItem, PaintItem and EraseItem are called repeatedly.
-	 * Therefore, it is critical for performance that these methods be
-	 * as efficient as possible.
-	 */
-	final String string = "text that spans two columns";
-	GC gc = new GC(table);
-	final Point extent = gc.stringExtent(string);
-	gc.dispose();
-	final Color red = display.getSystemColor(SWT.COLOR_RED);
-	Listener paintListener = new Listener() {
-		public void handleEvent(Event event) {
-			switch(event.type) {		
-				case SWT.MeasureItem: {
-					if (event.index == 1 || event.index == 2) {
-						event.width = extent.x/2;
-						event.height = Math.max(event.height, extent.y + 2);
-					}
-					break;
-				}
-				case SWT.PaintItem: {
-					if (event.index == 1 || event.index == 2) {
-						int offset = 0;
-						if (event.index == 2) {
-							TableColumn column1 = table.getColumn(1);
-							offset = column1.getWidth();
-						}
-						event.gc.setForeground(red);
-						int y = event.y + (event.height - extent.y)/2;
-						event.gc.drawString(string, event.x - offset, y, true);
-					}
-					break;
-				}
-			}
-		}
-	};
-	table.addListener(SWT.MeasureItem, paintListener);
-	table.addListener(SWT.PaintItem, paintListener);
-	for (int i = 0; i < columnCount; i++) {
-		table.getColumn(i).pack();
-	}
-	shell.pack();
-	shell.open();
-	while(!shell.isDisposed()) {
-		if(!display.readAndDispatch()) display.sleep();
-	}
-	display.dispose();
-}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet24.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet24.java
deleted file mode 100644
index fda44ac..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet24.java
+++ /dev/null
@@ -1,50 +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.swt.snippets;
-
-/*
- * example snippet: detect CR in a text or combo control (default selection)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet24 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setLayout (new RowLayout ());
-	Combo combo = new Combo (shell, SWT.NONE);
-	combo.setItems (new String [] {"A-1", "B-1", "C-1"});
-	Text text = new Text (shell, SWT.SINGLE | SWT.BORDER);
-	text.setText ("some text");
-	combo.addListener (SWT.DefaultSelection, new Listener () {
-		public void handleEvent (Event e) {
-			System.out.println (e.widget + " - Default Selection");
-		}
-	});
-	text.addListener (SWT.DefaultSelection, new Listener () {
-		public void handleEvent (Event e) {
-			System.out.println (e.widget + " - Default Selection");
-		}
-	});
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet240.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet240.java
deleted file mode 100644
index de8a1b4..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet240.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.swt.snippets;
-
-/* 
- * Tree snippet: Text that spans multiple columns
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet240 {
-
-public static void main(String [] args) {
-	final Display display = new Display();
-	Shell shell = new Shell (display);
-	shell.setText("Text spans two columns in a TreeItem");
-	shell.setLayout (new FillLayout());
-	final Tree tree = new Tree(shell, SWT.MULTI | SWT.FULL_SELECTION);
-	tree.setHeaderVisible(true);
-	int columnCount = 4;
-	for (int i=0; i<columnCount; i++) {
-		TreeColumn column = new TreeColumn(tree, SWT.NONE);
-		column.setText("Column " + i);	
-	}
-	int itemCount = 8;
-	for (int i = 0; i < itemCount; i++) {
-		TreeItem item = new TreeItem(tree, SWT.NONE);
-		item.setText(0, "item "+i+" a");
-		item.setText(3, "item "+i+" d");
-		for (int j = 0; j < 3; j++) {
-			TreeItem subItem = new TreeItem(item, SWT.NONE);
-			subItem.setText(0, "subItem "+i+"-"+j+" a");
-			subItem.setText(3, "subItem "+i+"-"+j+" d");
-		}
-	}	
-	/*
-	 * NOTE: MeasureItem, PaintItem and EraseItem are called repeatedly.
-	 * Therefore, it is critical for performance that these methods be
-	 * as efficient as possible.
-	 */
-	final String string = "text that spans two columns";
-	GC gc = new GC(tree);
-	final Point extent = gc.stringExtent(string);
-	gc.dispose();
-	final Color red = display.getSystemColor(SWT.COLOR_RED);
-	Listener paintListener = new Listener() {
-		public void handleEvent(Event event) {
-			switch(event.type) {		
-				case SWT.MeasureItem: {
-					if (event.index == 1 || event.index == 2) {
-						event.width = extent.x/2;
-						event.height = Math.max(event.height, extent.y + 2);
-					}
-					break;
-				}
-				case SWT.PaintItem: {
-					if (event.index == 1 || event.index == 2) {
-						int offset = 0;
-						if (event.index == 2) {
-							TreeColumn column1 = tree.getColumn(1);
-							offset = column1.getWidth();
-						}
-						event.gc.setForeground(red);
-						int y = event.y + (event.height - extent.y)/2;
-						event.gc.drawString(string, event.x - offset, y, true);
-					}
-					break;
-				}
-			}
-		}
-	};
-	tree.addListener(SWT.MeasureItem, paintListener);
-	tree.addListener(SWT.PaintItem, paintListener);
-	for (int i = 0; i < columnCount; i++) {
-		tree.getColumn(i).pack();
-	}
-	shell.pack();
-	shell.open();
-	while(!shell.isDisposed()) {
-		if(!display.readAndDispatch()) display.sleep();
-	}
-	display.dispose();
-}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet241.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet241.java
deleted file mode 100644
index 26f1e83..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet241.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.swt.snippets;
-
-/* 
- * Text snippet: Override Tab behavior to traverse out of a Text.
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet241 {
-
-public static void main(String [] args) {
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setBounds(10,10,200,200);
-	Text text1 = new Text(shell, SWT.MULTI | SWT.WRAP);
-	text1.setBounds(10,10,150,50);
-	text1.setText("Tab will traverse out from here.");
-	text1.addTraverseListener(new TraverseListener() {
-		public void keyTraversed(TraverseEvent e) {
-			if (e.detail == SWT.TRAVERSE_TAB_NEXT || e.detail == SWT.TRAVERSE_TAB_PREVIOUS) {
-				e.doit = true;
-			}
-		}
-	});
-	Text text2 = new Text(shell, SWT.MULTI | SWT.WRAP);
-	text2.setBounds(10,100,150,50);
-	text2.setText("But Tab will NOT traverse out from here (Ctrl+Tab will).");
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch()) display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet242.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet242.java
deleted file mode 100644
index 714273a..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet242.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.swt.snippets;
-
-/* 
- * Cursor snippet: Hide the Cursor over a control.
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet242 {
-
-public static void main(String [] args) {
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setBounds(10, 10, 200, 200);
-	Canvas canvas = new Canvas(shell, SWT.BORDER);
-	canvas.setBounds(10,50,150,100);
-	canvas.addPaintListener(new PaintListener() {
-		public void paintControl(PaintEvent e) {
-			e.gc.drawString("hide Cursor here", 10, 10);
-		}
-	});
-
-	// create a cursor with a transparent image
-	Color white = display.getSystemColor (SWT.COLOR_WHITE);
-	Color black = display.getSystemColor (SWT.COLOR_BLACK);
-	PaletteData palette = new PaletteData (new RGB [] {white.getRGB(), black.getRGB()});
-	ImageData sourceData = new ImageData (16, 16, 1, palette);
-	sourceData.transparentPixel = 0;
-	Cursor cursor = new Cursor(display, sourceData, 0, 0);
-
-	shell.open();
-	canvas.setCursor(cursor);
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch()) display.sleep();
-	}
-	cursor.dispose();
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet243.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet243.java
deleted file mode 100644
index 1f242f6..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet243.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.swt.snippets;
-
-/* 
- * Text snippet: type in one text, output to another
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet243 {
-
-public static void main(String [] args) {
-	final Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setLayout(new FillLayout ());
-	final Text text0 = new Text (shell, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
-	final Text text1 = new Text (shell, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
-	text0.addVerifyListener (new VerifyListener () {
-		public void verifyText (VerifyEvent event) {
-			text1.setTopIndex (text0.getTopIndex ());
-			text1.setSelection (event.start, event.end);
-			text1.insert (event.text);
-		}
-	});
-	shell.setBounds(10, 10, 200, 200);
-	shell.open ();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch()) display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet244.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet244.java
deleted file mode 100644
index 617dfe9..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet244.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.swt.snippets;
-
-/* 
- * StyledText snippet: Draw a box around text.
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet244 {
-	static String SEARCH_STRING = "box";
-    public static void main(String[] args) {
-        final Display display = new Display();
-        final Color RED = display.getSystemColor(SWT.COLOR_RED);
-        Shell shell = new Shell(display);
-        shell.setBounds(10,10,250,250);
-        final StyledText text = new StyledText(shell, SWT.NONE);
-        text.setBounds(10,10,200,200);
-        text.addListener(SWT.Paint, new Listener() {
-			public void handleEvent(Event event) {
-				String contents = text.getText();
-				int stringWidth = event.gc.stringExtent(SEARCH_STRING).x;
-				int lineHeight = text.getLineHeight();
-				event.gc.setForeground(RED);
-				int index = contents.indexOf(SEARCH_STRING);
-				while (index != -1) {
-					Point topLeft = text.getLocationAtOffset(index);
-					event.gc.drawRectangle(topLeft.x - 1, topLeft.y, stringWidth + 1, lineHeight - 1);
-					index = contents.indexOf(SEARCH_STRING, index + 1);
-				}
-			}
-		});
-        text.setText("This demonstrates drawing a box\naround every occurrence of the word\nbox in the StyledText");
-        shell.open();
-        while (!shell.isDisposed()) {
-            if (!display.readAndDispatch()) display.sleep();
-        }
-        display.dispose();
-    }
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet245.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet245.java
deleted file mode 100644
index 00b8425..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet245.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.swt.snippets;
-
-/* 
- * Canvas snippet: paint a circle in a canvas
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.events.*;
-
-public class Snippet245 {
-
-public static void main(String [] args) {
-	final Display display = new Display();
-	final Shell shell = new Shell(display);
-	shell.addPaintListener(new PaintListener() {
-		public void paintControl(PaintEvent event) {
-			Rectangle rect = shell.getClientArea();
-			event.gc.drawOval(0, 0, rect.width - 1, rect.height - 1);
-		}
-	});
-	shell.setBounds(10, 10, 200, 200);
-	shell.open ();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch()) display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet246.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet246.java
deleted file mode 100644
index 3e186b7..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet246.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.swt.snippets;
-
-/*
- * Write an Image to a PNG file.
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet246 {
-
-	public static void main(String[] args) {
-		Display display = new Display();
-		Font font = new Font(display, "Comic Sans MS", 24, SWT.BOLD);
-		Image image = new Image(display, 87, 48);
-		GC gc = new GC(image);
-		gc.setBackground(display.getSystemColor(SWT.COLOR_WHITE));
-		gc.fillRectangle(image.getBounds());
-		gc.setFont(font);
-		gc.setForeground(display.getSystemColor(SWT.COLOR_RED));
-		gc.drawString("S", 3, 0);
-		gc.setForeground(display.getSystemColor(SWT.COLOR_GREEN));
-		gc.drawString("W", 25, 0);
-		gc.setForeground(display.getSystemColor(SWT.COLOR_BLUE));
-		gc.drawString("T", 62, 0);
-		gc.dispose();
-
-		ImageLoader loader = new ImageLoader();
-		loader.data = new ImageData[] {image.getImageData()};
-		loader.save("swt.png", SWT.IMAGE_PNG);
-
-		image.dispose();
-		font.dispose();
-		display.dispose();
-	}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet247.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet247.java
deleted file mode 100644
index 0d0500e..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet247.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.swt.snippets;
-
-/*
- * Control example snippet: allow a multi-line text to process the default button
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet247 {
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setLayout(new RowLayout());
-	Text text = new Text(shell, SWT.MULTI | SWT.BORDER);
-	String modifier = SWT.MOD1 == SWT.CTRL ? "Ctrl" : "Command";
-	text.setText("Hit " + modifier + "+Return\nto see\nthe default button\nrun");
-	text.addTraverseListener(new TraverseListener () {
-		public void keyTraversed(TraverseEvent e) {
-			switch (e.detail) {
-				case SWT.TRAVERSE_RETURN:
-					if ((e.stateMask & SWT.MOD1) != 0) e.doit = true;
-			}
-		}
-	});
-	Button button = new Button (shell, SWT.PUSH);
-	button.pack();
-	button.setText("OK");
-	button.addSelectionListener(new SelectionAdapter () {
-		public void widgetSelected(SelectionEvent e) {
-			System.out.println("OK selected");
-		}
-	});
-	shell.setDefaultButton(button);
-	shell.pack ();
-	shell.open();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet248.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet248.java
deleted file mode 100644
index 8f90abe..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet248.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.swt.snippets;
-
-/*
- * Shell example snippet: allow escape to close a shell
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet248 {
-public static void main (String [] args) {
-	Display display = new Display ();
-	final Shell shell = new Shell (display);
-	shell.setLayout (new FillLayout ());
-	shell.addListener (SWT.Traverse, new Listener () {
-		public void handleEvent (Event event) {
-			switch (event.detail) {
-				case SWT.TRAVERSE_ESCAPE:
-					shell.close ();
-					event.detail = SWT.TRAVERSE_NONE;
-					event.doit = false;
-					break;
-			}
-		}
-	});
-	Button button = new Button (shell, SWT.PUSH);
-	button.setText ("A Button (that doesn't process Escape)");
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet249.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet249.java
deleted file mode 100644
index 6f24ab9..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet249.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.swt.snippets;
-
-/*
- * StackLayout example snippet: use a StackLayout to switch between Composites.
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet249 {
-
-	static int pageNum = -1;
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setBounds (10, 10, 300, 200);
-	// create the composite that the pages will share
-	final Composite contentPanel = new Composite (shell, SWT.BORDER);
-	contentPanel.setBounds (100, 10, 190, 90);
-	final StackLayout layout = new StackLayout ();
-	contentPanel.setLayout (layout);
-
-	// create the first page's content
-	final Composite page0 = new Composite (contentPanel, SWT.NONE);
-	page0.setLayout (new RowLayout ());
-	Label label = new Label (page0, SWT.NONE);
-	label.setText ("Label on page 1");
-	label.pack ();
-
-	// create the second page's content	
-	final Composite page1 = new Composite (contentPanel, SWT.NONE);
-	page1.setLayout (new RowLayout ());
-	Button button = new Button (page1, SWT.NONE);
-	button.setText ("Button on page 2");
-	button.pack ();
-
-	// create the button that will switch between the pages
-	Button pageButton = new Button (shell, SWT.PUSH);
-	pageButton.setText ("Push");
-	pageButton.setBounds (10, 10, 80, 25);
-	pageButton.addListener (SWT.Selection, new Listener () {
-		public void handleEvent (Event event) {
-			pageNum = ++pageNum % 2;
-			layout.topControl = pageNum == 0 ? page0 : page1;
-			contentPanel.layout ();
-		}
-	});
-
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet25.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet25.java
deleted file mode 100644
index 93bc7e2..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet25.java
+++ /dev/null
@@ -1,145 +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.swt.snippets;
- 
-/*
- * Control example snippet: print key state, code and character
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet25 {
-
-static String stateMask (int stateMask) {
-	String string = "";
-	if ((stateMask & SWT.CTRL) != 0) string += " CTRL";
-	if ((stateMask & SWT.ALT) != 0) string += " ALT";
-	if ((stateMask & SWT.SHIFT) != 0) string += " SHIFT";
-	if ((stateMask & SWT.COMMAND) != 0) string += " COMMAND";
-	return string;
-}
-
-static String character (char character) {
-	switch (character) {
-		case 0: 		return "'\\0'";
-		case SWT.BS:	return "'\\b'";
-		case SWT.CR:	return "'\\r'";
-		case SWT.DEL:	return "DEL";
-		case SWT.ESC:	return "ESC";
-		case SWT.LF:	return "'\\n'";
-		case SWT.TAB:	return "'\\t'";
-	}
-	return "'" + character +"'";
-}
-
-static String keyCode (int keyCode) {
-	switch (keyCode) {
-		
-		/* Keyboard and Mouse Masks */
-		case SWT.ALT: 		return "ALT";
-		case SWT.SHIFT: 	return "SHIFT";
-		case SWT.CONTROL:	return "CONTROL";
-		case SWT.COMMAND:	return "COMMAND";
-			
-		/* Non-Numeric Keypad Keys */
-		case SWT.ARROW_UP:		return "ARROW_UP";
-		case SWT.ARROW_DOWN:	return "ARROW_DOWN";
-		case SWT.ARROW_LEFT:	return "ARROW_LEFT";
-		case SWT.ARROW_RIGHT:	return "ARROW_RIGHT";
-		case SWT.PAGE_UP:		return "PAGE_UP";
-		case SWT.PAGE_DOWN:		return "PAGE_DOWN";
-		case SWT.HOME:			return "HOME";
-		case SWT.END:			return "END";
-		case SWT.INSERT:		return "INSERT";
-
-		/* Virtual and Ascii Keys */
-		case SWT.BS:	return "BS";
-		case SWT.CR:	return "CR";		
-		case SWT.DEL:	return "DEL";
-		case SWT.ESC:	return "ESC";
-		case SWT.LF:	return "LF";
-		case SWT.TAB:	return "TAB";
-	
-		/* Functions Keys */
-		case SWT.F1:	return "F1";
-		case SWT.F2:	return "F2";
-		case SWT.F3:	return "F3";
-		case SWT.F4:	return "F4";
-		case SWT.F5:	return "F5";
-		case SWT.F6:	return "F6";
-		case SWT.F7:	return "F7";
-		case SWT.F8:	return "F8";
-		case SWT.F9:	return "F9";
-		case SWT.F10:	return "F10";
-		case SWT.F11:	return "F11";
-		case SWT.F12:	return "F12";
-		case SWT.F13:	return "F13";
-		case SWT.F14:	return "F14";
-		case SWT.F15:	return "F15";
-		
-		/* Numeric Keypad Keys */
-		case SWT.KEYPAD_ADD:		return "KEYPAD_ADD";
-		case SWT.KEYPAD_SUBTRACT:	return "KEYPAD_SUBTRACT";
-		case SWT.KEYPAD_MULTIPLY:	return "KEYPAD_MULTIPLY";
-		case SWT.KEYPAD_DIVIDE:		return "KEYPAD_DIVIDE";
-		case SWT.KEYPAD_DECIMAL:	return "KEYPAD_DECIMAL";
-		case SWT.KEYPAD_CR:			return "KEYPAD_CR";
-		case SWT.KEYPAD_0:			return "KEYPAD_0";
-		case SWT.KEYPAD_1:			return "KEYPAD_1";
-		case SWT.KEYPAD_2:			return "KEYPAD_2";
-		case SWT.KEYPAD_3:			return "KEYPAD_3";
-		case SWT.KEYPAD_4:			return "KEYPAD_4";
-		case SWT.KEYPAD_5:			return "KEYPAD_5";
-		case SWT.KEYPAD_6:			return "KEYPAD_6";
-		case SWT.KEYPAD_7:			return "KEYPAD_7";
-		case SWT.KEYPAD_8:			return "KEYPAD_8";
-		case SWT.KEYPAD_9:			return "KEYPAD_9";
-		case SWT.KEYPAD_EQUAL:		return "KEYPAD_EQUAL";
-
-		/* Other keys */
-		case SWT.CAPS_LOCK:		return "CAPS_LOCK";
-		case SWT.NUM_LOCK:		return "NUM_LOCK";
-		case SWT.SCROLL_LOCK:	return "SCROLL_LOCK";
-		case SWT.PAUSE:			return "PAUSE";
-		case SWT.BREAK:			return "BREAK";
-		case SWT.PRINT_SCREEN:	return "PRINT_SCREEN";
-		case SWT.HELP:			return "HELP";
-	}
-	return character ((char) keyCode);
-}
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	Listener listener = new Listener () {
-		public void handleEvent (Event e) {
-			String string = e.type == SWT.KeyDown ? "DOWN:" : "UP  :";
-			string += " stateMask=0x" + Integer.toHexString (e.stateMask) + stateMask (e.stateMask) + ",";
-			string += " keyCode=0x" + Integer.toHexString (e.keyCode) + " " + keyCode (e.keyCode) + ",";
-			string += " character=0x" + Integer.toHexString (e.character) + " " + character (e.character);
-			System.out.println (string);
-		}
-	};
-	shell.addListener (SWT.KeyDown, listener);
-	shell.addListener (SWT.KeyUp, listener);
-	shell.setSize (200, 200);
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet250.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet250.java
deleted file mode 100644
index 58593bf..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet250.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * DateTime example snippet: create a DateTime calendar and a DateTime time.
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet250 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setLayout (new RowLayout ());
-
-	DateTime calendar = new DateTime (shell, SWT.CALENDAR);
-	calendar.addSelectionListener (new SelectionAdapter () {
-		public void widgetSelected (SelectionEvent e) {
-			System.out.println ("calendar date changed");
-		}
-	});
-
-	DateTime time = new DateTime (shell, SWT.TIME);
-	time.addSelectionListener (new SelectionAdapter () {
-		public void widgetSelected (SelectionEvent e) {
-			System.out.println ("time changed");
-		}
-	});
-
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet251.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet251.java
deleted file mode 100644
index 0e7ca0b..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet251.java
+++ /dev/null
@@ -1,68 +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.swt.snippets;
-
-/*
- * DateTime example snippet: create a DateTime calendar, date, and time in a dialog.
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet251 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	final Shell shell = new Shell (display);
-	shell.setLayout(new FillLayout());
-
-	Button open = new Button (shell, SWT.PUSH);
-	open.setText ("Open Dialog");
-	open.addSelectionListener (new SelectionAdapter () {
-		public void widgetSelected (SelectionEvent e) {
-			final Shell dialog = new Shell (shell, SWT.DIALOG_TRIM);
-			dialog.setLayout (new GridLayout (3, false));
-
-			final DateTime calendar = new DateTime (dialog, SWT.CALENDAR | SWT.BORDER);
-			final DateTime date = new DateTime (dialog, SWT.DATE | SWT.SHORT);
-			final DateTime time = new DateTime (dialog, SWT.TIME | SWT.SHORT);
-
-			new Label (dialog, SWT.NONE);
-			new Label (dialog, SWT.NONE);
-			Button ok = new Button (dialog, SWT.PUSH);
-			ok.setText ("OK");
-			ok.setLayoutData(new GridData (SWT.FILL, SWT.CENTER, false, false));
-			ok.addSelectionListener (new SelectionAdapter () {
-				public void widgetSelected (SelectionEvent e) {
-					System.out.println ("Calendar date selected (MM/DD/YYYY) = " + (calendar.getMonth () + 1) + "/" + calendar.getDay () + "/" + calendar.getYear ());
-					System.out.println ("Date selected (MM/YYYY) = " + (date.getMonth () + 1) + "/" + date.getYear ());
-					System.out.println ("Time selected (HH:MM) = " + time.getHours () + ":" + time.getMinutes ());
-					dialog.close ();
-				}
-			});
-			dialog.setDefaultButton (ok);
-			dialog.pack ();
-			dialog.open ();
-		}
-	});
-	shell.pack ();
-	shell.open ();
-	
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet252.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet252.java
deleted file mode 100644
index ddf6754..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet252.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * LineAttributes example snippet: draw 2 polylines with different line attributes.
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet252 {
-	
-	public static void main(String[] args) {
-		final Display display = new Display();
-		final Shell shell = new Shell(display);
-		
-		shell.addListener(SWT.Paint, new Listener() {
-			public void handleEvent(Event event) {
-				GC gc = event.gc;
-				
-				gc.setLineAttributes(new LineAttributes(10, SWT.CAP_FLAT, SWT.JOIN_MITER, SWT.LINE_SOLID, null, 0, 10));
-				gc.drawPolyline(new int[]{50, 100, 50, 20, 60, 30, 50, 45});
-				
-				gc.setLineAttributes(new LineAttributes(1/2f, SWT.CAP_FLAT, SWT.JOIN_MITER, SWT.LINE_DOT, null, 0, 10));
-				gc.drawPolyline(new int[]{100, 100, 100, 20, 110, 30, 100, 45});
-			}
-		});
-		
-		shell.setSize(150, 150);
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch()) display.sleep();
-		}
-		display.dispose();
-	}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet253.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet253.java
deleted file mode 100644
index 75f1ec9..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet253.java
+++ /dev/null
@@ -1,53 +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.swt.snippets;
-
-/*
- * Table example snippet: compute the visible rows in a table
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet253 {
-	public static void main(String[] args) {
-		final Display display = new Display();
-		final Shell shell = new Shell(display);
-		FillLayout layout = new FillLayout (SWT.VERTICAL);
-		shell.setLayout (layout);
-		final Table table = new Table (shell, SWT.NONE);
-		for (int i=0; i<32; i++) {
-			TableItem item = new TableItem (table, SWT.NONE);
-			item.setText ("Item " + (i+1) + " is quite long");
-		}
-		final Button button = new Button (shell, SWT.PUSH);
-		button.setText ("Visible Items []");
-		button.addListener (SWT.Selection, new Listener () {
-			public void handleEvent (Event e) {
-				Rectangle rect = table.getClientArea ();
-				int itemHeight = table.getItemHeight ();
-				int headerHeight = table.getHeaderHeight ();
-				int visibleCount = (rect.height - headerHeight + itemHeight - 1) / itemHeight;
-				button.setText ("Visible Items [" + visibleCount + "]");
-			}
-		});
-		shell.setSize(200, 250);
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch()) display.sleep();
-		}
-		display.dispose();
-	}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet256.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet256.java
deleted file mode 100644
index 1e820b2..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet256.java
+++ /dev/null
@@ -1,60 +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.swt.snippets;
-
-/*
- * TextLayout example snippet: text with underline and strike through
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.1
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet256 {
-	
-public static void main(String[] args) {
-	Display display = new Display();
-	final Shell shell = new Shell(display, SWT.SHELL_TRIM | SWT.DOUBLE_BUFFERED);	
-	shell.setText("Underline, Strike Out");
-	Font font = shell.getFont();
-	String text = "Here is some text that is underlined or struck out or both.";
-	final TextLayout layout = new TextLayout(display);
-	layout.setText(text);
-	TextStyle style1 = new TextStyle(font, null, null);
-	style1.underline = true;
-	layout.setStyle(style1, 26, 35);
-	TextStyle style2 = new TextStyle(font, null, null);
-	style2.strikeout = true;
-	layout.setStyle(style2, 40, 49);
-	TextStyle style3 = new TextStyle(font, null, null);
-	style3.underline = true;
-	style3.strikeout = true;
-	layout.setStyle(style3, 54, 57);
-	shell.addListener(SWT.Paint, new Listener() {
-		public void handleEvent(Event event) {
-			Point point = new Point(10, 10);
-			int width = shell.getClientArea().width - 2 * point.x;
-			layout.setWidth(width);
-			layout.draw(event.gc, point.x, point.y);		
-		}
-	});
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch()) display.sleep();
-	}
-	layout.dispose();		
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet257.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet257.java
deleted file mode 100644
index eaa6712..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet257.java
+++ /dev/null
@@ -1,124 +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.swt.snippets;
-
-/*
- * Drag text selection within a StyledText widget
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.3
- */ 
-import org.eclipse.swt.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.dnd.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet257 {
-
-	static String string1 = "A drag source is the provider of data in a Drag and Drop data transfer as well as "+
-                           "the originator of the Drag and Drop operation. The data provided by the drag source "+
-                           "may be transferred to another location in the same widget, to a different widget "+
-                           "within the same application, or to a different application altogether. For example, "+
-                           "you can drag text from your application and drop it on an email application, or you "+
-                           "could drag an item in a tree and drop it below a different node in the same tree.";
-
-	static String DRAG_START_DATA = "DRAG_START_DATA";
-	
-public static void main (String [] args) {
-	final Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setLayout(new FillLayout());
-	shell.setSize(100, 300);
-	int style = SWT.MULTI | SWT.WRAP | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER;
-	final StyledText text = new StyledText(shell, style);
-	text.setText(string1);
-	final DragSource source = new DragSource(text, DND.DROP_COPY | DND.DROP_MOVE);
-	source.setDragSourceEffect(new DragSourceEffect(text) {
-		public void dragStart(DragSourceEvent event) {
-			event.image = display.getSystemImage(SWT.ICON_WARNING);
-		}
-	});
-	source.setTransfer(new Transfer[] {TextTransfer.getInstance()});
-	source.addDragListener(new DragSourceAdapter() {
-		Point selection;
-		public void dragStart(DragSourceEvent event) {
-			selection = text.getSelection();
-			event.doit = selection.x != selection.y;
-			text.setData(DRAG_START_DATA, selection);
-		}
-		public void dragSetData(DragSourceEvent e) {
-			e.data = text.getText(selection.x, selection.y-1);
-		}
-		public void dragFinished(DragSourceEvent event) {
-			if (event.detail == DND.DROP_MOVE) {
-				Point newSelection= text.getSelection();
-				int length = selection.y - selection.x;
-				int delta = 0;
-				if (newSelection.x < selection.x)
-					delta = length; 
-				text.replaceTextRange(selection.x + delta, length, "");
-			}
-			selection = null;
-			text.setData(DRAG_START_DATA, null);
-		}
-	});
-	
-	DropTarget target = new DropTarget(text, DND.DROP_DEFAULT | DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_LINK);
-	target.setTransfer(new Transfer[] {TextTransfer.getInstance()});
-	target.addDropListener(new DropTargetAdapter() {
-		public void dragEnter(DropTargetEvent event) {
-			if (event.detail == DND.DROP_DEFAULT) {
-				if (text.getData(DRAG_START_DATA) == null)
-					event.detail = DND.DROP_COPY;
-				else 
-					event.detail = DND.DROP_MOVE;
-			}
-		}
-		public void dragOperationChanged(DropTargetEvent event) {
-			if (event.detail == DND.DROP_DEFAULT) {
-				if (text.getData(DRAG_START_DATA) == null)
-					event.detail = DND.DROP_COPY;
-				else 
-					event.detail = DND.DROP_MOVE;
-			}
-		}
-		public void dragOver(DropTargetEvent event) {
-			event.feedback = DND.FEEDBACK_SCROLL | DND.FEEDBACK_SELECT;
-		}
-		public void drop(DropTargetEvent event) {
-			if (event.detail != DND.DROP_NONE) {
-				Point selection = (Point) text.getData(DRAG_START_DATA);
-				int insertPos = text.getCaretOffset();
-				if (event.detail == DND.DROP_MOVE && selection != null && selection.x <= insertPos  && insertPos <= selection.y 
-						|| event.detail == DND.DROP_COPY && selection != null && selection.x < insertPos  && insertPos < selection.y) {
-					text.setSelection(selection);
-					event.detail = DND.DROP_COPY;  // prevent source from deleting selection
-				} else {
-					String string = (String)event.data;
-					text.insert(string);
-					if (selection != null)
-						text.setSelectionRange(insertPos, string.length());
-				}
-			}
-		}
-	});
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet258.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet258.java
deleted file mode 100644
index 6f637f6..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet258.java
+++ /dev/null
@@ -1,67 +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.swt.snippets;
-
-/*
- * Create a search text control
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.3
- */ 
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.events.*;
-
-public class Snippet258 {
-	public static void main(String[] args) {
-		Display display = new Display();
-		Shell shell = new Shell(display);
-		shell.setLayout(new GridLayout(2, false));
-		
-		final Text text = new Text(shell, SWT.SEARCH | SWT.CANCEL);
-		Image image = null;
-		if ((text.getStyle() & SWT.CANCEL) == 0) {
-			image = new Image (display, Snippet258.class.getResourceAsStream("cancel.gif"));
-			ToolBar toolBar = new ToolBar (shell, SWT.FLAT);
-			ToolItem item = new ToolItem (toolBar, SWT.PUSH);
-			item.setImage (image);
-			item.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					text.setText("");
-					System.out.println("Search cancelled");
-				}
-			});
-		}
-		text.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		text.setText("Search text");
-		text.addSelectionListener(new SelectionAdapter() {
-			public void widgetDefaultSelected(SelectionEvent e) {
-				if (e.detail == SWT.CANCEL) {
-					System.out.println("Search cancelled");
-				} else {
-					System.out.println("Searching for: " + text.getText() + "...");
-				}
-			}
-		});
-
-		shell.pack();
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch()) display.sleep();
-		}
-		if (image != null) image.dispose();
-		display.dispose();
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet259.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet259.java
deleted file mode 100644
index 7a5354e..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet259.java
+++ /dev/null
@@ -1,144 +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.swt.snippets;
-
-/*
- * Detect drag in a custom control
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.3
- */ 
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet259 {
-
-static class MyList extends Canvas {
-	int selection;
-	String [] items = new String [0];
-	static final int INSET_X = 2;
-	static final int INSET_Y = 2;
-	
-static int checkStyle (int style) {
-	style &= ~(SWT.H_SCROLL | SWT.V_SCROLL);
-	style |= SWT.NO_BACKGROUND | SWT.NO_REDRAW_RESIZE;
-	return style;
-}
-
-public MyList (Composite parent, int style) {
-	super (parent, checkStyle (style));
-	super.setDragDetect (false);
-	addMouseListener (new MouseAdapter () {
-		public void mouseDown (MouseEvent event) {
-			GC gc = new GC (MyList.this);
-			Rectangle client = getClientArea();
-			int index = 0, x = client.x + INSET_X, y = client.y + INSET_Y;
-			while (index < items.length) {
-				Point pt = gc.stringExtent(items [index]);
-				Rectangle item = new Rectangle (x, y, pt.x, pt.y);
-				if (item.contains (event.x, event.y)) break;
-				y += pt.y;
-				if (!client.contains (x, y)) return;
-				index++;
-			}
-			gc.dispose ();
-			if (index == items.length || !client.contains (x, y)) {
-				return;
-			}
-			selection = index;
-			redraw ();
-			update ();
-			dragDetect (event);
-		}
-	});
-	addPaintListener (new PaintListener () {
-		public void paintControl (PaintEvent event) {
-			GC gc = event.gc;
-			Color foreground = event.display.getSystemColor (SWT.COLOR_LIST_FOREGROUND);
-			Color background = event.display.getSystemColor (SWT.COLOR_LIST_BACKGROUND);
-			Color selectForeground = event.display.getSystemColor (SWT.COLOR_LIST_SELECTION_TEXT);
-			Color selectBackground = event.display.getSystemColor (SWT.COLOR_LIST_SELECTION);
-			gc.setForeground (foreground);
-			gc.setBackground (background);
-			MyList.this.drawBackground (gc, event.x, event.y, event.width, event.height);
-			int x = INSET_X, y = INSET_Y;
-			for (int i=0; i<items.length; i++) {
-				Point pt = gc.stringExtent(items [i]);
-				gc.setForeground (i == selection ? selectForeground : foreground);
-				gc.setBackground (i == selection ? selectBackground : background);
-				gc.drawString (items [i], x, y);
-				y += pt.y;
-			}
-			
-		}
-	});
-}
-
-public Point computeSize (int wHint, int hHint, boolean changed) {
-	GC gc = new GC (this);
-	int index = 0, width = 0, height = 0;
-	while (index < items.length) {
-		Point pt = gc.stringExtent(items [index]);
-		width = Math.max (width, pt.x);
-		height += pt.y;
-		index++;
-	}
-	gc.dispose ();
-	width += INSET_X * 2;
-	height += INSET_Y * 2;
-	Rectangle rect = computeTrim (0, 0, width, height);
-	return new Point (rect.width, rect.height);
-}
-
-public String [] getItems () {
-	checkWidget ();
-	return items;
-}
-
-public void setItems (String [] items) {
-	checkWidget ();
-	if (items == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-	this.items = items;
-	redraw ();	
-}
-}
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setLayout (new FillLayout ());
-	MyList t1 = new MyList (shell, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
-	t1.setItems (new String [] {"Some", "items", "in", "the", "list"});
-	t1.addDragDetectListener (new DragDetectListener () {
-		public void dragDetected (DragDetectEvent event) {
-			System.out.println ("Drag started ...");
-		}
-	});
-	MyList t2 = new MyList (shell, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
-	t2.setItems (new String [] {"Some", "items", "in", "another", "list"});
-	t2.addDragDetectListener (new DragDetectListener () {
-		public void dragDetected (DragDetectEvent event) {
-			System.out.println ("Drag started ...");
-		}
-	});
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet26.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet26.java
deleted file mode 100644
index 7cce5e8..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet26.java
+++ /dev/null
@@ -1,38 +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.swt.snippets;
-
-/*
- * Combo example snippet: create a combo box (non-editable)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet26 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	Combo combo = new Combo (shell, SWT.READ_ONLY);
-	combo.setItems (new String [] {"A", "B", "C"});
-	combo.setSize (200, 200);
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet260.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet260.java
deleted file mode 100644
index 095931b..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet260.java
+++ /dev/null
@@ -1,47 +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.swt.snippets;
-
-/*
- * Mozilla in a Browser
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.3
- */ 
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.browser.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet260 {
-
-	public static void main(String [] args) {
-		Display display = new Display();
-		Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		shell.setText("Mozilla");
-		final Browser browser;
-		try {
-			browser = new Browser(shell, SWT.MOZILLA);
-		} catch (SWTError e) {
-			System.out.println("Could not instantiate Browser: " + e.getMessage());
-			return;
-		}
-		shell.open();
-		browser.setUrl("http://mozilla.org");
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch()) display.sleep();
-		}
-		display.dispose();
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet261.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet261.java
deleted file mode 100644
index 42108c6..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet261.java
+++ /dev/null
@@ -1,68 +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.swt.snippets;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.ole.win32.*;
-import org.eclipse.swt.widgets.*;
-
-/*
- * Open an OLE Excel sheet.
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.3
- */ 
-public class Snippet261 {
-	public static void main(String[] args) {
-		Display display = new Display();
-		Shell shell = new Shell(display);
-		shell.setText("Excel Example");
-		shell.setLayout(new FillLayout());
-		try {
-			OleFrame frame = new OleFrame(shell, SWT.NONE);
-			new OleClientSite(frame, SWT.NONE, "Excel.Sheet");
-			addFileMenu(frame);
-		} catch (SWTError e) {
-			System.out.println("Unable to open activeX control");
-			return;
-		}
-		shell.setSize(800, 600);
-		shell.open();
-		
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		display.dispose();
-	}
-	
-	static void addFileMenu(OleFrame frame) {
-		final Shell shell = frame.getShell();
-		Menu menuBar = new Menu(shell, SWT.BAR);
-		shell.setMenuBar(menuBar);
-		MenuItem fileMenu = new MenuItem(menuBar, SWT.CASCADE);
-		fileMenu.setText("&File");
-		Menu menuFile = new Menu(fileMenu);
-		fileMenu.setMenu(menuFile);
-		MenuItem menuFileControl = new MenuItem(menuFile, SWT.CASCADE);
-		menuFileControl.setText("Exit");
-		menuFileControl.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				shell.dispose();
-			}
-		});
-		frame.setFileMenus(new MenuItem[] { fileMenu });
-	}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet262.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet262.java
deleted file mode 100644
index 4c08a54..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet262.java
+++ /dev/null
@@ -1,95 +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.swt.snippets;
-
-import java.io.*;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.ole.win32.*;
-import org.eclipse.swt.widgets.*;
-
-/*
- * Open an OLE Word document.
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.3
- */ 
-public class Snippet262 {
-	static OleClientSite clientSite;
-	static OleFrame frame;
-	
-	public static void main(String[] args) {
-		Display display = new Display();
-		final Shell shell = new Shell(display);
-		shell.setText("Word Example");
-		shell.setLayout(new FillLayout());
-		try {
-			frame = new OleFrame(shell, SWT.NONE);
-			clientSite = new OleClientSite(frame, SWT.NONE, "Word.Document");
-			addFileMenu(frame);
-		} catch (SWTError e) {
-			System.out.println("Unable to open activeX control");
-			return;
-		}
-		shell.setSize(800, 600);
-		shell.open();
-		
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		display.dispose();
-	}
-	
-	static void addFileMenu(OleFrame frame) {
-		final Shell shell = frame.getShell();
-		Menu menuBar = shell.getMenuBar();
-		if (menuBar == null) {
-			menuBar = new Menu(shell, SWT.BAR);
-			shell.setMenuBar(menuBar);
-		}
-		MenuItem fileMenu = new MenuItem(menuBar, SWT.CASCADE);
-		fileMenu.setText("&File");
-		Menu menuFile = new Menu(fileMenu);
-		fileMenu.setMenu(menuFile);
-		frame.setFileMenus(new MenuItem[] { fileMenu });
-
-		MenuItem menuFileOpen = new MenuItem(menuFile, SWT.CASCADE);
-		menuFileOpen.setText("Open...");
-		menuFileOpen.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				fileOpen();
-			}
-		});
-		MenuItem menuFileExit = new MenuItem(menuFile, SWT.CASCADE);
-		menuFileExit.setText("Exit");
-		menuFileExit.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				shell.dispose();
-			}
-		});
-	}
-
-	static void fileOpen() {
-		FileDialog dialog = new FileDialog(clientSite.getShell(), SWT.OPEN);
-		dialog.setFilterExtensions(new String[] { "*.doc" });
-		String fileName = dialog.open();
-		if (fileName != null) {
-			clientSite.dispose();
-			clientSite = new OleClientSite(frame, SWT.NONE, "Word.Document", new File(fileName));
-			clientSite.doVerb(OLE.OLEIVERB_INPLACEACTIVATE);
-		}
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet263.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet263.java
deleted file mode 100644
index 010bfdd..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet263.java
+++ /dev/null
@@ -1,70 +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.swt.snippets;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.ole.win32.*;
-import org.eclipse.swt.widgets.*;
-
-/*
- * Open an OLE PowerPoint slide.
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.3
- */ 
-public class Snippet263 {
-	static OleClientSite clientSite;
-
-	public static void main(String[] args) {
-		Display display = new Display();
-		final Shell shell = new Shell(display);
-		shell.setText("PowerPoint Example");
-		shell.setLayout(new FillLayout());
-		try {
-			OleFrame frame = new OleFrame(shell, SWT.NONE);
-			clientSite  = new OleClientSite(frame, SWT.NONE, "PowerPoint.Slide");
-			addFileMenu(frame);
-		} catch (SWTError e) {
-			System.out.println("Unable to open activeX control");
-			return;
-		}
-		shell.setSize(800, 600);
-		shell.open();
-		
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		display.dispose();
-	}
-	
-	static void addFileMenu(OleFrame frame) {
-		final Shell shell = frame.getShell();
-		Menu menuBar = new Menu(shell, SWT.BAR);
-		shell.setMenuBar(menuBar);
-		MenuItem fileMenu = new MenuItem(menuBar, SWT.CASCADE);
-		fileMenu.setText("&File");
-		Menu menuFile = new Menu(fileMenu);
-		fileMenu.setMenu(menuFile);
-		MenuItem menuFileControl = new MenuItem(menuFile, SWT.CASCADE);
-		menuFileControl.setText("Exit");
-		menuFileControl.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				shell.dispose();
-			}
-		});
-		frame.setFileMenus(new MenuItem[] { fileMenu });
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet264.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet264.java
deleted file mode 100644
index 7d3d8be..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet264.java
+++ /dev/null
@@ -1,70 +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.swt.snippets;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.ole.win32.*;
-import org.eclipse.swt.widgets.*;
-
-/*
- * Open an OLE Media Player.
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.3
- */ 
-public class Snippet264 {
-	static OleClientSite clientSite;
-
-	public static void main(String[] args) {
-		Display display = new Display();
-		final Shell shell = new Shell(display);
-		shell.setText("Media Player Example");
-		shell.setLayout(new FillLayout());
-		try {
-			OleFrame frame = new OleFrame(shell, SWT.NONE);
-			clientSite  = new OleClientSite(frame, SWT.NONE, "MPlayer");
-			addFileMenu(frame);
-		} catch (SWTError e) {
-			System.out.println("Unable to open activeX control");
-			return;
-		}
-		shell.setSize(800, 600);
-		shell.open();
-		
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		display.dispose();
-	}
-	
-	static void addFileMenu(OleFrame frame) {
-		final Shell shell = frame.getShell();
-		Menu menuBar = new Menu(shell, SWT.BAR);
-		shell.setMenuBar(menuBar);
-		MenuItem fileMenu = new MenuItem(menuBar, SWT.CASCADE);
-		fileMenu.setText("&File");
-		Menu menuFile = new Menu(fileMenu);
-		fileMenu.setMenu(menuFile);
-		MenuItem menuFileControl = new MenuItem(menuFile, SWT.CASCADE);
-		menuFileControl.setText("Exit");
-		menuFileControl.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				shell.dispose();
-			}
-		});
-		frame.setFileMenus(new MenuItem[] { fileMenu });
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet265.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet265.java
deleted file mode 100644
index 3a35da3..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet265.java
+++ /dev/null
@@ -1,96 +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.swt.snippets;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.ole.win32.*;
-import org.eclipse.swt.widgets.*;
-
-/*
- * Open an OLE Windows Media Player.
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.3
- */
-public class Snippet265 {
-	static OleClientSite clientSite;
-
-	public static void main(String[] args) {
-		Display display = new Display();
-		Shell shell = new Shell(display);
-		shell.setText("Media Player Example");
-		shell.setLayout(new FillLayout());
-		try {
-			OleFrame frame = new OleFrame(shell, SWT.NONE);
-			clientSite = new OleClientSite(frame, SWT.NONE, "WMPlayer.OCX");
-			clientSite.doVerb(OLE.OLEIVERB_INPLACEACTIVATE);
-			addFileMenu(frame);
-		} catch (SWTError e) {
-			System.out.println("Unable to open activeX control");
-			return;
-		}
-		shell.setSize(800, 600);
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		display.dispose();
-	}
-
-	static void addFileMenu(OleFrame frame) {
-		final Shell shell = frame.getShell();
-		Menu menuBar = shell.getMenuBar();
-		if (menuBar == null) {
-			menuBar = new Menu(shell, SWT.BAR);
-			shell.setMenuBar(menuBar);
-		}
-		MenuItem fileMenu = new MenuItem(menuBar, SWT.CASCADE);
-		fileMenu.setText("&File");
-		Menu menuFile = new Menu(fileMenu);
-		fileMenu.setMenu(menuFile);
-		frame.setFileMenus(new MenuItem[] { fileMenu });
-
-		MenuItem menuFileOpen = new MenuItem(menuFile, SWT.CASCADE);
-		menuFileOpen.setText("Open...");
-		menuFileOpen.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				fileOpen();
-			}
-		});
-		MenuItem menuFileExit = new MenuItem(menuFile, SWT.CASCADE);
-		menuFileExit.setText("Exit");
-		menuFileExit.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				shell.dispose();
-			}
-		});
-	}
-
-	static void fileOpen() {
-		FileDialog dialog = new FileDialog(clientSite.getShell(), SWT.OPEN);
-		dialog.setFilterExtensions(new String[] { "*.wmv" });
-		String filename = dialog.open();
-		if (filename != null) {
-			OleAutomation player = new OleAutomation(clientSite);
-			int playURL[] = player.getIDsOfNames(new String[] { "URL" });
-			if (playURL != null) {
-				Variant theFile = new Variant(filename);
-				player.setProperty(playURL[0], theFile);
-			}
-			player.dispose();
-		}
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet266.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet266.java
deleted file mode 100644
index 39e7a0c..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet266.java
+++ /dev/null
@@ -1,81 +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.swt.snippets;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-/*
- * Span and center columns with a GridLayout.
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.3
- */
-public class Snippet266 {
-
-	public static void main(String[] args) {
-		Display display = new Display();
-		Shell shell = new Shell(display);
-		shell.setLayout(new GridLayout(2, true));
-		
-		TabFolder tabFolder = new TabFolder(shell, SWT.NONE);
-		tabFolder.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1));
-		
-		TabItem item = new TabItem(tabFolder, SWT.NONE);
-		item.setText("Widget");
-		Composite composite = new Composite(tabFolder, SWT.NONE);
-		composite.setLayout(new GridLayout());
-		Tree tree = new Tree(composite, SWT.BORDER);
-		item.setControl(composite);
-		tree.setHeaderVisible(true);
-		tree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
-		TreeColumn column1 = new TreeColumn(tree, SWT.NONE);
-		column1.setText("Standard");
-		TreeColumn column2 = new TreeColumn(tree, SWT.NONE);
-		column2.setText("Widget");
-		TreeItem branch = new TreeItem(tree, SWT.NONE);
-		branch.setText(new String [] {"Efficient", "Portable"});
-		TreeItem leaf = new TreeItem(branch, SWT.NONE);
-		leaf.setText(new String [] {"Cross", "Platform"});
-		branch.setExpanded(true);
-		branch = new TreeItem(tree, SWT.NONE);
-		branch.setText(new String [] {"Native", "Controls"});
-		leaf = new TreeItem(branch, SWT.NONE);
-		leaf.setText(new String [] {"Cross", "Platform"});
-		branch = new TreeItem(tree, SWT.NONE);
-		branch.setText(new String [] {"Cross", "Platform"});
-		column1.pack();
-		column2.pack();
-
-		item = new TabItem(tabFolder, SWT.NONE);
-		item.setText("Toolkit");
-		
-		Button button = new Button(shell, SWT.CHECK);
-		button.setText("Totally");
-		button.setSelection(true);
-		button.setLayoutData(new GridData(SWT.CENTER, SWT.CENTER, false, false));
-		
-		button = new Button(shell, SWT.PUSH);
-		button.setText("Awesome");
-		button.setLayoutData(new GridData(SWT.CENTER, SWT.CENTER, false, false));
-		
-		shell.pack();
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		display.dispose();
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet267.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet267.java
deleted file mode 100644
index 68fc8db..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet267.java
+++ /dev/null
@@ -1,89 +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.swt.snippets;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.SWTError;
-import org.eclipse.swt.browser.Browser;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.mozilla.interfaces.*;
-
-/*
- * Browser example snippet: Toggle a Mozilla Browser between Design mode and View mode.
- * 
- * IMPORTANT: For this snippet to work properly all of the requirements
- * for using JavaXPCOM in a stand-alone application must be satisfied
- * (see http://www.eclipse.org/swt/faq.php#howusejavaxpcom).
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.3
- */
-public class Snippet267 {
-	static Browser browser;
-	public static void main (String [] args) {
-		Display display = new Display();
-		Shell shell = new Shell(display);
-		shell.setLayout(new GridLayout(2, true));
-		shell.setText("Use Mozilla's Design Mode");
-		try {
-			browser = new Browser(shell, SWT.MOZILLA);
-		} catch (SWTError e) {
-			System.out.println("Could not instantiate Browser: " + e.getMessage());
-			return;
-		}
-		browser.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, true, 2, 1));
-
-		final Button offButton = new Button(shell, SWT.RADIO);
-		offButton.setText("Design Mode Off");
-		offButton.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event event) {
-				if (!offButton.getSelection()) return;
-				setDesignMode("off");
-			}
-		});
-		final Button onButton = new Button(shell, SWT.RADIO);
-		onButton.setText("Design Mode On");
-		onButton.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event event) {
-				if (!onButton.getSelection()) return;
-				boolean success = setDesignMode("on");
-				if (!success) {
-					onButton.setSelection(false);
-					offButton.setSelection(true);
-				}
-			}
-		});
-		offButton.setSelection(true);
-
-		browser.setUrl("http://www.google.com");
-		shell.setSize(400,400);
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch()) display.sleep();
-		}
-		display.dispose();
-	}
-	public static boolean setDesignMode(String value) {
-		nsIWebBrowser webBrowser = (nsIWebBrowser)browser.getWebBrowser();
-		if (webBrowser == null) {
-			System.out.println("Could not get the nsIWebBrowser from the Browser widget");
-			return false;
-		}
-		nsIDOMWindow window = webBrowser.getContentDOMWindow();
-		nsIDOMDocument document = window.getDocument();
-		nsIDOMNSHTMLDocument nsDocument = (nsIDOMNSHTMLDocument)document.queryInterface(nsIDOMNSHTMLDocument.NS_IDOMNSHTMLDOCUMENT_IID);
-		nsDocument.setDesignMode(value);
-		return true;
-	}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet268.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet268.java
deleted file mode 100644
index 1307c30..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet268.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.swt.snippets;
-  
-/*
- * UI Automation (for testing tools) snippet: post mouse wheel events to a styled text
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.*;
-
-public class Snippet268 {
-
-public static void main(String[] args) {
-	final Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setLayout(new FillLayout());
-	StyledText styledText = new StyledText(shell, SWT.V_SCROLL);
-	String multiLineString = "";
-	for (int i = 0; i < 200; i++) {
-		multiLineString = multiLineString.concat("This is line number " + i + " in the multi-line string.\n");
-	}
-	styledText.setText(multiLineString);
-	shell.setSize(styledText.computeSize(SWT.DEFAULT, 400));
-	shell.open();
-	styledText.addListener(SWT.MouseWheel, new Listener() {
-		public void handleEvent(Event e){
-			System.out.println("Mouse Wheel event " + e);
-		}
-	});
-	final Point pt = display.map(shell, null, 50, 50);
-	new Thread(){
-		Event event;
-		public void run() {
-			for (int i = 0; i < 50; i++) {
-				event = new Event();
-				event.type = SWT.MouseWheel;
-				event.detail = SWT.SCROLL_LINE;
-				event.x = pt.x;
-				event.y = pt.y;
-				event.count = -2;
-				display.post(event);
-				try {
-					Thread.sleep(100);
-				} catch (InterruptedException e) {}
-			}
-		}	
-	}.start();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch()) display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet269.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet269.java
deleted file mode 100644
index 2da4bd8..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet269.java
+++ /dev/null
@@ -1,42 +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.swt.snippets;
-  
-/*
- * Combo example snippet: set the caret position within a Combo's text
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet269 {
-
-public static void main(String[] args) {
-	final Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setLayout (new FillLayout ());
-	Combo combo = new Combo (shell, SWT.NONE);
-	combo.add ("item");
-	combo.select (0);
-	shell.pack ();
-	shell.open ();
-	int stringLength = combo.getText ().length (); 
-	combo.setSelection (new Point (stringLength, stringLength));
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet27.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet27.java
deleted file mode 100644
index 333a9c2..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet27.java
+++ /dev/null
@@ -1,34 +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.swt.snippets;
-
-/*
- * Shell example snippet: open a shell minimized (iconified)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.widgets.*;
-
-public class Snippet27 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setMinimized (true);
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet270.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet270.java
deleted file mode 100644
index 72e6c10..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet270.java
+++ /dev/null
@@ -1,89 +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.swt.snippets;
-
-/*
- * Browser snippet: bring up a browser with pop-up window support
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.1
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.browser.*;
-
-public class Snippet270 {
-
-public static void main(String[] args) {
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setText("Main Window");
-	shell.setLayout(new FillLayout());
-	final Browser browser;
-	try {
-		browser = new Browser(shell, SWT.NONE);
-	} catch (SWTError e) {
-		System.out.println("Could not instantiate Browser: " + e.getMessage());
-		return;
-	}
-	initialize(display, browser);
-	shell.open();
-	browser.setUrl("http://www.eclipse.org");
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-		}
-		display.dispose();
-	}
-
-/* register WindowEvent listeners */
-static void initialize(final Display display, Browser browser) {
-	browser.addOpenWindowListener(new OpenWindowListener() {
-		public void open(WindowEvent event) {
-			if (!event.required) return;	/* only do it if necessary */
-			Shell shell = new Shell(display);
-			shell.setText("New Window");
-			shell.setLayout(new FillLayout());
-			Browser browser = new Browser(shell, SWT.NONE);
-			initialize(display, browser);
-			event.browser = browser;
-		}
-	});
-	browser.addVisibilityWindowListener(new VisibilityWindowListener() {
-		public void hide(WindowEvent event) {
-			Browser browser = (Browser)event.widget;
-			Shell shell = browser.getShell();
-			shell.setVisible(false);
-		}
-		public void show(WindowEvent event) {
-			Browser browser = (Browser)event.widget;
-			final Shell shell = browser.getShell();
-			if (event.location != null) shell.setLocation(event.location);
-			if (event.size != null) {
-				Point size = event.size;
-				shell.setSize(shell.computeSize(size.x, size.y));
-			}
-			shell.open();
-		}
-	});
-	browser.addCloseWindowListener(new CloseWindowListener() {
-		public void close(WindowEvent event) {
-			Browser browser = (Browser)event.widget;
-			Shell shell = browser.getShell();
-			shell.close();
-		}
-	});
-}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet271.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet271.java
deleted file mode 100644
index a282193..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet271.java
+++ /dev/null
@@ -1,58 +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.swt.snippets;
-
-/*
- * Table snippet: specify custom content dimensions in a table with no columns
- * 
- * For a detailed explanation of this snippet see
- * http://www.eclipse.org/articles/Article-CustomDrawingTableAndTreeItems/customDraw.htm#_example1
- *  
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet271 {
-
-public static void main(String[] args) {
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setBounds(10,10,200,250);
-	final Table table = new Table(shell, SWT.NONE);
-	table.setBounds(10,10,150,200);
-	table.setLinesVisible(true);
-	for (int i = 0; i < 5; i++) {
-		new TableItem(table, SWT.NONE).setText("item " + i);
-	}
-
-	/*
-	 * NOTE: MeasureItem is called repeatedly.  Therefore it is critical
-	 * for performance that this method be as efficient as possible.
-	 */
-	table.addListener(SWT.MeasureItem, new Listener() {
-		public void handleEvent(Event event) {
-			int clientWidth = table.getClientArea().width;
-			event.height = event.gc.getFontMetrics().getHeight() * 2;
-			event.width = clientWidth * 2;
-		}
-	});
-
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch()) display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet272.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet272.java
deleted file mode 100644
index a178c1c..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet272.java
+++ /dev/null
@@ -1,73 +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.swt.snippets;
-
-/*
- * Table snippet: specify custom column widths when a column is packed
- *  
- * For a detailed explanation of this snippet see
- * http://www.eclipse.org/articles/Article-CustomDrawingTableAndTreeItems/customDraw.htm#_example2
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet272 {
-
-public static void main(String[] args) {
-	Display display = new Display(); 
-	Shell shell = new Shell(display);
-	shell.setBounds(10,10,400,200);
-	Table table = new Table(shell, SWT.NONE);
-	table.setBounds(10,10,350,150);
-	table.setHeaderVisible(true);
-	table.setLinesVisible(true);
-	final TableColumn column0 = new TableColumn(table, SWT.NONE);
-	column0.setWidth(100);
-	final TableColumn column1 = new TableColumn(table, SWT.NONE);
-	column1.setWidth(100);
-	column0.addListener(SWT.Selection, new Listener() {
-		public void handleEvent(Event event) {
-			column0.pack();
-		}
-	});
-	column1.addListener(SWT.Selection, new Listener() {
-		public void handleEvent(Event event) {
-			column1.pack();
-		}
-	});
-	for (int i = 0; i < 5; i++) {
-		TableItem item = new TableItem(table, SWT.NONE);
-		item.setText(0, "item " + i + " col 0");
-		item.setText(1, "item " + i + " col 1");
-	}
-
-	/*
-	 * NOTE: MeasureItem is called repeatedly.  Therefore it is critical
-	 * for performance that this method be as efficient as possible.
-	 */
-	table.addListener(SWT.MeasureItem, new Listener() {
-		public void handleEvent(Event event) {
-			event.width *= 2;
-		}
-	});
-
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch()) display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet273.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet273.java
deleted file mode 100644
index 06e6c3b..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet273.java
+++ /dev/null
@@ -1,101 +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.swt.snippets;
-
-/*
- * Table snippet: modify the clipping of custom background paints
- * 
- * For a detailed explanation of this snippet see
- * http://www.eclipse.org/articles/Article-CustomDrawingTableAndTreeItems/customDraw.htm#_example4
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.2
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet273 {
-
-public static void main(String[] args) {
-	final String[] MONTHS = {
-		"Jan", "Feb", "Mar", "Apr", "May", "Jun",
-		"Jul", "Aug", "Sep", "Oct", "Nov", "Dec"
-	};
-	final int[] HIGHS = {-7, -4, 1, 11, 18, 24, 26, 25, 20, 13, 5, -4};
-	final int[] LOWS = {-15, -13, -7, 1, 7, 13, 15, 14, 10, 4, -2, -11};
-	final int SCALE_MIN = -30; final int SCALE_MAX = 30;
-	final int SCALE_RANGE = Math.abs(SCALE_MIN - SCALE_MAX);
-
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setBounds(10,10,400,350);
-	shell.setText("Ottawa Average Daily Temperature Ranges");
-	final Color blue = display.getSystemColor(SWT.COLOR_BLUE);
-	final Color white = display.getSystemColor(SWT.COLOR_WHITE);
-	final Color red = display.getSystemColor(SWT.COLOR_RED);
-	// final Image parliamentImage = new Image(display, "./parliament.jpg");
-	final Table table = new Table(shell, SWT.NONE);
-	table.setBounds(10,10,350,300);
-	// table.setBackgroundImage(parliamentImage);
-	for (int i = 0; i < 12; i++) {
-		TableItem item = new TableItem(table, SWT.NONE);
-		item.setText(MONTHS[i] + " (" + LOWS[i] + "C..." + HIGHS[i] + "C)");
-	}
-	final int clientWidth = table.getClientArea().width;
-
-	/*
-	 * NOTE: MeasureItem and EraseItem are called repeatedly. Therefore it is
-	 * critical for performance that these methods be as efficient as possible.
-	 */
-	table.addListener(SWT.MeasureItem, new Listener() {
-		public void handleEvent(Event event) {
-			int itemIndex = table.indexOf((TableItem)event.item);
-			int rightX = (HIGHS[itemIndex] - SCALE_MIN) * clientWidth / SCALE_RANGE;
-			event.width = rightX;
-		}
-	});
-	table.addListener(SWT.EraseItem, new Listener() {
-		public void handleEvent(Event event) {
-			int itemIndex = table.indexOf((TableItem)event.item);
-			int leftX = (LOWS[itemIndex] - SCALE_MIN) * clientWidth / SCALE_RANGE;
-			int rightX = (HIGHS[itemIndex] - SCALE_MIN) * clientWidth / SCALE_RANGE;
-			GC gc = event.gc;
-			Rectangle clipping = gc.getClipping();
-			clipping.x = leftX;
-			clipping.width = rightX - leftX;
-			gc.setClipping(clipping);
-			Color oldForeground = gc.getForeground();
-			Color oldBackground = gc.getBackground();
-			gc.setForeground(blue);
-			gc.setBackground(white);
-			gc.fillGradientRectangle(event.x, event.y, event.width / 2, event.height, false);
-			gc.setForeground(white);
-			gc.setBackground(red);
-			gc.fillGradientRectangle(
-				event.x + event.width / 2, event.y, event.width / 2, event.height, false);
-			gc.setForeground(oldForeground);
-			gc.setBackground(oldBackground);
-			event.detail &= ~SWT.BACKGROUND;
-			event.detail &= ~SWT.HOT;
-		}
-	});
-
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch()) display.sleep();
-	}
-	// parliamentImage.dispose();
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet274.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet274.java
deleted file mode 100644
index 4647e97..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet274.java
+++ /dev/null
@@ -1,91 +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.swt.snippets;
-
-/*
- * Tree snippet: implement standard tree check box behavior (SWT.CHECK)
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.3
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet274 {
-	
-	static void checkPath(TreeItem item, boolean checked, boolean grayed) {
-	    if (item == null) return;
-	    if (grayed) {
-	        checked = true;
-	    } else {
-	        int index = 0;
-	        TreeItem[] items = item.getItems();
-	        while (index < items.length) {
-	            TreeItem child = items[index];
-	            if (child.getGrayed() || checked != child.getChecked()) {
-	                checked = grayed = true;
-	                break;
-	            }
-	            index++;
-	        }
-	    }
-	    item.setChecked(checked);
-	    item.setGrayed(grayed);
-	    checkPath(item.getParentItem(), checked, grayed);
-	}
-
-	static void checkItems(TreeItem item, boolean checked) {
-	    item.setGrayed(false);
-	    item.setChecked(checked);
-	    TreeItem[] items = item.getItems();
-	    for (int i = 0; i < items.length; i++) {
-	        checkItems(items[i], checked);
-	    }
-	}
-
-	public static void main(String[] args) {
-	    Display display = new Display();
-	    Shell shell = new Shell(display);
-	    Tree tree = new Tree(shell, SWT.BORDER | SWT.CHECK);
-	    tree.addListener(SWT.Selection, new Listener() {
-	        public void handleEvent(Event event) {
-	            if (event.detail == SWT.CHECK) {
-	                TreeItem item = (TreeItem) event.item;
-	                boolean checked = item.getChecked();
-	                checkItems(item, checked);
-	                checkPath(item.getParentItem(), checked, false);
-	            }
-	        }
-	    });
-	    for (int i = 0; i < 4; i++) {
-	        TreeItem itemI = new TreeItem(tree, SWT.NULL);
-	        itemI.setText("Item " + i);
-	        for (int j = 0; j < 4; j++) {
-	            TreeItem itemJ = new TreeItem(itemI, SWT.NULL);
-	            itemJ.setText("Item " + i + " " + j);
-	            for (int k = 0; k < 4; k++) {
-	                TreeItem itemK = new TreeItem(itemJ, SWT.NULL);
-	                itemK.setText("Item " + i + " " + j + " " + k);
-	            }
-	        }
-	    }
-	    tree.setSize(200, 200);
-	    shell.pack();
-	    shell.open();
-	    while (!shell.isDisposed()) {
-	        if (!display.readAndDispatch()) display.sleep();
-	    }
-	    display.dispose();
-	}
-
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet275.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet275.java
deleted file mode 100644
index 7f09fd2..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet275.java
+++ /dev/null
@@ -1,65 +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.swt.snippets;
-
-/*
- * Canvas snippet: update a portion of a Canvas frequently
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet275 {
-
-static String value;
-public static void main (String[] args) {
-	final int INTERVAL = 888;
-	final Display display = new Display ();
-	final Image image = new Image (display, 750, 750);
-	GC gc = new GC (image);
-	gc.setBackground (display.getSystemColor (SWT.COLOR_RED));
-	gc.fillRectangle (image.getBounds ());
-	gc.dispose ();
-
-	Shell shell = new Shell (display);
-	shell.setBounds (10, 10, 790, 790);
-	final Canvas canvas = new Canvas (shell, SWT.NONE);
-	canvas.setBounds (10, 10, 750, 750);
-	canvas.addListener (SWT.Paint, new Listener () {
-		public void handleEvent (Event event) {
-			value = String.valueOf (System.currentTimeMillis ());
-			event.gc.drawImage (image, 0, 0);
-			event.gc.drawString (value, 10, 10, true);
-		}
-	});
-	display.timerExec (INTERVAL, new Runnable () {
-		public void run () {
-			if (canvas.isDisposed ()) return;
-			// canvas.redraw (); // <-- bad, damages more than is needed
-			GC gc = new GC (canvas);
-			Point extent = gc.stringExtent (value + '0');
-			gc.dispose ();
-			canvas.redraw (10, 10, extent.x, extent.y, false);
-			display.timerExec (INTERVAL, this);
-		}
-	});
-	shell.open ();
-	while (!shell.isDisposed ()){
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	image.dispose ();
-	display.dispose ();
-}
-
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet276.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet276.java
deleted file mode 100644
index ab779f6..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet276.java
+++ /dev/null
@@ -1,47 +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.swt.snippets;
-
-/*
- * Display snippet: map from control-relative to display-relative coordinates
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet276 {
-
-public static void main (String[] args) {
-	final Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setBounds (200, 200, 400, 400);
-	Label label = new Label (shell, SWT.NONE);
-	label.setText ("click in shell to print display-relative coordinate");
-	Listener listener = new Listener () {
-		public void handleEvent (Event event) {
-			Point point = new Point (event.x, event.y);
-			System.out.println (display.map ((Control)event.widget, null, point));
-		}
-	};
-	shell.addListener (SWT.MouseDown, listener);
-	label.addListener (SWT.MouseDown, listener);
-	label.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()){
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet277.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet277.java
deleted file mode 100644
index f8bd1fd..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet277.java
+++ /dev/null
@@ -1,152 +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.swt.snippets;
-
-/*
- * Browser example snippet: Implement a custom download handler for a Mozilla Browser.
- * 
- * IMPORTANT: For this snippet to work properly all of the requirements
- * for using JavaXPCOM in a stand-alone application must be satisfied
- * (see http://www.eclipse.org/swt/faq.php#howusejavaxpcom).
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.3
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.browser.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.mozilla.interfaces.*;
-import org.mozilla.xpcom.Mozilla;
-
-public class Snippet277 {
-	static Shell shell;
-	static Table table;
-
-	public static void main (String [] args) {
-		Display display = new Display ();
-		shell = new Shell (display);
-		shell.setLayout(new GridLayout ());
-		shell.setText ("Custom Download Handler");
-
-		Browser browser;
-		try {
-			browser = new Browser (shell, SWT.MOZILLA);
-		} catch (SWTError e) {
-			System.out.println ("Could not instantiate Browser: " + e.getMessage ());
-			return;
-		}
-		GridData data = new GridData (GridData.FILL_BOTH);
-		data.minimumHeight = 800;
-		data.minimumWidth = 800;
-		browser.setLayoutData (data);
-
-		table = new Table (shell, SWT.NONE);
-		table.setForeground (display.getSystemColor (SWT.COLOR_RED));
-		data = new GridData (GridData.FILL_HORIZONTAL);
-		data.exclude = true;
-		table.setLayoutData (data);
-		new TableColumn (table, SWT.NONE);
-		new TableColumn (table, SWT.NONE);
-
-		nsIComponentRegistrar registrar = Mozilla.getInstance ().getComponentRegistrar ();
-		String NS_DOWNLOAD_CID = "e3fa9D0a-1dd1-11b2-bdef-8c720b597445";
-		String NS_TRANSFER_CONTRACTID = "@mozilla.org/transfer;1";
-		registrar.registerFactory (NS_DOWNLOAD_CID, "Transfer", NS_TRANSFER_CONTRACTID, new nsIFactory () {
-			public nsISupports queryInterface (String uuid) {
-				if (uuid.equals (nsIFactory.NS_IFACTORY_IID) ||
-					uuid.equals (nsIFactory.NS_ISUPPORTS_IID)) return this;
-				return null;
-			}
-			public nsISupports createInstance (nsISupports outer, String iid) {
-				return createTransfer ();
-			}
-			public void lockFactory (boolean lock) {}
-		});
-
-		browser.setUrl ("http://www.eclipse.org/downloads");
-		shell.pack ();
-		shell.open ();
-		while (!shell.isDisposed ()) {
-			if (!display.readAndDispatch ()) display.sleep ();
-		}
-		display.dispose ();
-	}
-
-	static nsITransfer createTransfer () {
-		/* nsITransfer is documented at http://www.xulplanet.com/references/xpcomref/ifaces/nsITransfer.html */
-		return new nsITransfer () {
-			public nsISupports queryInterface (String uuid) {
-				if (uuid.equals (nsITransfer.NS_ITRANSFER_IID) ||
-					uuid.equals (nsITransfer.NS_IWEBPROGRESSLISTENER2_IID) ||
-					uuid.equals (nsITransfer.NS_IWEBPROGRESSLISTENER_IID) ||
-					uuid.equals (nsITransfer.NS_ISUPPORTS_IID)) return this;
-				return null;
-			}
-			public void onStateChange (nsIWebProgress webProgress, nsIRequest request, long stateFlags, long status) {
-				if ((stateFlags & nsIWebProgressListener.STATE_STOP) != 0) {
-					removeFromTable ();
-				}
-			}
-			public void onProgressChange64 (nsIWebProgress webProgress, nsIRequest request, long curSelfProgress, long maxSelfProgress, long curTotalProgress, long maxTotalProgress) {
-				long currentKBytes = curTotalProgress / 1024;
-				long totalKBytes = maxTotalProgress / 1024;
-				tableItem.setText (1, baseString + " (" + currentKBytes + "/" + totalKBytes + ")");
-				table.getColumn (1).pack ();
-			}
-			public void init (nsIURI source, nsIURI target, String displayName, nsIMIMEInfo MIMEInfo, double startTime, nsILocalFile tempFile, final nsICancelable cancelable) {
-				tableItem = new TableItem (table, SWT.NONE);
-				button = new Button (table, SWT.PUSH);
-				button.setText ("Cancel");
-				button.pack ();
-				button.addListener (SWT.Selection, new Listener () {
-					public void handleEvent (Event event) {
-						cancelable.cancel (Mozilla.NS_ERROR_ABORT);
-						removeFromTable ();
-					}
-				});
-				TableEditor editor = new TableEditor (table);
-				editor.setEditor (button, tableItem, 0);
-				editor.minimumWidth = button.computeSize (SWT.DEFAULT, SWT.DEFAULT).x;
-				baseString = "Downloading to " + target.getPath ();
-				tableItem.setText (1, baseString);
-				if (table.getItemCount () == 1) {
-					((GridData)table.getLayoutData ()).exclude = false;	/* show the table */
-					table.getColumn (0).setWidth (editor.minimumWidth);
-				}
-				table.getColumn (1).pack ();
-				table.getShell ().layout ();
-			}
-			public void onStatusChange (nsIWebProgress webProgress, nsIRequest request, long status, String message) {}
-			public void onSecurityChange (nsIWebProgress webProgress, nsIRequest request, long state) {}
-			public void onProgressChange (nsIWebProgress webProgress, nsIRequest request, int curSelfProgress, int maxSelfProgress, int curTotalProgress, int maxTotalProgress) {}
-			public void onLocationChange (nsIWebProgress webProgress, nsIRequest request, nsIURI location) {}
-
-			/* the following are not part of the nsITransfer interface but are here for the snippet's convenience */
-			Button button;
-			TableItem tableItem;
-			String baseString;
-
-			void removeFromTable () {
-				tableItem.dispose ();
-				button.dispose ();
-				if (table.getItemCount () == 0) {
-					((GridData)table.getLayoutData ()).exclude = true;	/* hide the table */
-				}
-				table.getColumn (1).pack ();
-				table.getShell ().layout ();
-			}
-		};
-	}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet278.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet278.java
deleted file mode 100644
index b21e994..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet278.java
+++ /dev/null
@@ -1,49 +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.swt.snippets;
-
-/*
- * Tool tip snippet: show a Label's tool tip iff it's not fully visible
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet278 {
-
-public static void main (String [] args) {
-	final Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setBounds (10, 10, 300, 100);
-	shell.setLayout (new FillLayout ());
-	final Label label = new Label (shell, SWT.NONE);
-	label.setText ("resize the Shell then hover over this Label");
-	label.addListener (SWT.MouseEnter, new Listener () {
-		public void handleEvent (Event event) {
-			Point requiredSize = label.computeSize (SWT.DEFAULT, SWT.DEFAULT);
-			Point labelSize = label.getSize ();
-			boolean fullyVisible = requiredSize.x <= labelSize.x && requiredSize.y <= labelSize.y;
-			System.out.println ("Label is fully visible: " + fullyVisible);
-			label.setToolTipText (fullyVisible ? null : label.getText ());
-		}
-	});
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet279.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet279.java
deleted file mode 100644
index 8f9f7e8..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet279.java
+++ /dev/null
@@ -1,59 +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.swt.snippets;
-
-/*
- * draw a reflection of an image
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet279 {
-	public static void main (String [] args) {
-		Display display = new Display ();
-		Shell shell = new Shell (display, SWT.SHELL_TRIM | SWT.DOUBLE_BUFFERED);
-		shell.setLayout(new FillLayout ());
-		final Image image = display.getSystemImage (SWT.ICON_QUESTION);
-		shell.addListener (SWT.Paint, new Listener () {
-			public void handleEvent (Event e) {
-				Rectangle rect = image.getBounds ();
-				GC gc = e.gc;
-				int x = 10, y = 10;
-				gc.drawImage (image, x, y);
-				Transform tr = new Transform (e.display);
-				tr.setElements (1, 0, 0, -1, 1, 2*(y+rect.height));
-				gc.setTransform (tr);
-				gc.drawImage (image, x, y);
-				gc.setTransform (null);
-				Color background = gc.getBackground ();
-				Pattern p = new Pattern (e.display, x, y+rect.height, x, y+(2*rect.height), background, 0, background, 255);
-				gc.setBackgroundPattern (p);
-				gc.fillRectangle (x, y+rect.height, rect.width, rect.height);
-				p.dispose ();
-				tr.dispose ();
-			}
-		});
-		shell.setSize (600, 400);
-		shell.open ();
-		while (!shell.isDisposed ()) {
-			if (!display.readAndDispatch ())
-				display.sleep ();
-		}
-		display.dispose ();
-	}
-	
-}
-
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet28.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet28.java
deleted file mode 100644
index c891fcc..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet28.java
+++ /dev/null
@@ -1,34 +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.swt.snippets;
-
-/*
- * Shell example snippet: open a shell maximized (full screen)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.widgets.*;
-
-public class Snippet28 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setMaximized (true);
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet280.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet280.java
deleted file mode 100644
index cf09b1c..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet280.java
+++ /dev/null
@@ -1,60 +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.swt.snippets;
-
-/*
- * draw a multi-gradient (without advanced graphics)
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet280 {
-
-public static void main (String [] args) {
-	final Display display = new Display ();
-	final Shell shell = new Shell (display, SWT.SHELL_TRIM | SWT.NO_BACKGROUND);
-	shell.setLayout(new FillLayout ());
-	shell.addListener (SWT.Paint, new Listener () {
-		public void handleEvent (Event e) {
-			GC gc = e.gc;
-			Rectangle rect = shell.getClientArea ();
-			Color color1 = new Color (display, 234, 246, 253);
-			Color color2 = new Color (display, 217, 240, 252);
-			gc.setForeground(color1);
-			gc.setBackground(color2);
-			gc.fillGradientRectangle (rect.x, rect.y, rect.width, rect.height / 2, true);
-			color1.dispose ();
-			color2.dispose ();
-			Color color3 = new Color (display, 190, 230, 253);
-			Color color4 = new Color (display, 167, 217, 245);
-			gc.setForeground(color3);
-			gc.setBackground(color4);
-			gc.fillGradientRectangle (rect.x, rect.y + (rect.height / 2), rect.width, rect.height / 2 + 1, true);
-			color3.dispose ();
-			color4.dispose ();
-			
-		}
-	});
-	shell.setSize (200, 64);
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ())
-			display.sleep ();
-	}
-	display.dispose ();
-}
-
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet281.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet281.java
deleted file mode 100644
index 95e0aca..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet281.java
+++ /dev/null
@@ -1,61 +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.swt.snippets;
-
-/*
- * draw a multi-gradient
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet281 {
-
-public static void main (String [] args) {
-	final Display display = new Display ();
-	final Shell shell = new Shell (display, SWT.SHELL_TRIM | SWT.NO_BACKGROUND);
-	shell.setLayout(new FillLayout ());
-	shell.addListener (SWT.Paint, new Listener () {
-		public void handleEvent (Event e) {
-			GC gc = e.gc;
-			Rectangle rect = shell.getClientArea ();
-			Color color1 = new Color (display, 234, 246, 253);
-			Color color2 = new Color (display, 217, 240, 252);
-			Color color3 = new Color (display, 190, 230, 253);
-			Color color4 = new Color (display, 167, 217, 245);
-			Pattern p1 = new Pattern (display, 0, 0, 0, rect.height / 2, color1, color2);
-			gc.setBackgroundPattern (p1);
-			gc.fillRectangle (rect.x, rect.y, rect.width, rect.height / 2);
-			Pattern p2 = new Pattern (display, 0, rect.height / 2, 0, rect.height, color3, color4);
-			gc.setBackgroundPattern (p2);
-			gc.fillRectangle (rect.x, rect.y + (rect.height / 2), rect.width, rect.height / 2 + 1);
-			p1.dispose ();
-			p2.dispose ();
-			color1.dispose ();
-			color2.dispose ();
-			color3.dispose ();
-			color4.dispose ();
-		}
-	});
-	shell.setSize (200, 64);
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ())
-			display.sleep ();
-	}
-	display.dispose ();
-}
-
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet282.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet282.java
deleted file mode 100644
index 7d884dd..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet282.java
+++ /dev/null
@@ -1,108 +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.swt.snippets;
-
-/*
- * Copy/paste image to/from clipboard.
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.dnd.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet282 {
-
-	public static void main(String[] args) {
-		final Display display = new Display();
-		final Clipboard clipboard = new Clipboard(display);
-		final Shell shell = new Shell(display, SWT.SHELL_TRIM);
-		shell.setLayout(new GridLayout());
-		shell.setText("Clipboard ImageTransfer");
-
-	    final Button imageButton = new Button(shell, SWT.NONE );
-	    GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true);
-	    gd.minimumHeight = 400;
-	    gd.minimumWidth = 600;
-	    imageButton.setLayoutData(gd);
-
-		Composite buttons = new Composite(shell, SWT.NONE);
-		buttons.setLayout(new GridLayout(4, true));
-		Button button = new Button(buttons, SWT.PUSH);
-		button.setText("Open");
-		button.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event event) {
-				FileDialog dialog = new FileDialog (shell, SWT.OPEN);
-				dialog.setText("Open an image file or cancel");
-				String string = dialog.open ();
-				if (string != null) {
-					Image image = imageButton.getImage();
-					if (image != null) image.dispose();
-					image = new Image(display, string);
-					imageButton.setImage(image);
-				}
-			}
-		});
-
-		button = new Button(buttons, SWT.PUSH);
-		button.setText("Copy");
-		button.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event event) {
-				Image image = imageButton.getImage();
-				if (image != null) {
-					ImageTransfer transfer = ImageTransfer.getInstance();
-					clipboard.setContents(new Object[]{image.getImageData()}, new Transfer[]{transfer});
-				}
-			}
-		});
-
-		button = new Button(buttons, SWT.PUSH);
-		button.setText("Paste");
-		button.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event event) {
-				ImageTransfer transfer = ImageTransfer.getInstance();
-				ImageData imageData = (ImageData)clipboard.getContents(transfer);
-				if (imageData != null) {
-					imageButton.setText("");
-					Image image = imageButton.getImage();
-					if (image != null) image.dispose();
-					image = new Image(display, imageData);
-					imageButton.setImage(image);
-				} else {
-					imageButton.setText("No image");
-				}
-			}
-		});
-		
-		button = new Button(buttons, SWT.PUSH);
-		button.setText("Clear");
-		button.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event event) {
-				imageButton.setText("");
-				Image image = imageButton.getImage();
-				if (image != null) image.dispose();
-				imageButton.setImage(null);
-			}
-		});
-		
-		shell.pack();
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		display.dispose();
-	}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet283.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet283.java
deleted file mode 100644
index 952e0cd..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet283.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.swt.snippets;
-
-/*
- * Table example snippet: Draw left aligned icon, text and selection
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet283 {
-	public static void main(String[] args) {
-		Display display = new Display();
-		Image image = new Image (display, Snippet283.class.getResourceAsStream("eclipse.png"));
-		Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		final Table table = new Table(shell, SWT.FULL_SELECTION);
-		for (int i = 0; i < 8; i++) {
-			TableItem item = new TableItem(table, SWT.NONE);
-			item.setText ("Item " + i + " with long text that scrolls.");
-			if (i % 2 == 1) item.setImage (image);
-		}
-		table.addListener(SWT.MouseDown, new Listener() {
-			public void handleEvent(Event event) {
-				Rectangle rect = table.getClientArea ();
-				Point point = new Point (event.x, event.y);
-				if (table.getItem(point) != null) return;
-				for (int i=table.getTopIndex (); i<table.getItemCount(); i++) {
-					TableItem item = table.getItem (i);
-					Rectangle itemRect = item.getBounds ();
-					if (!itemRect.intersects (rect)) return;
-					itemRect.x = rect.x;
-					itemRect.width = rect.width;
-					if (itemRect.contains (point)) {
-						table.setSelection (item);
-						Event selectionEvent = new Event ();
-						selectionEvent.item = item;
-						table.notifyListeners(SWT.Selection, selectionEvent);
-						return;
-					}
-				}
-			}
-		});
-		/*
-		 * NOTE: MeasureItem, PaintItem and EraseItem are called repeatedly.
-		 * Therefore, it is critical for performance that these methods be
-		 * as efficient as possible.
-		 */
-		table.addListener(SWT.EraseItem, new Listener() {
-			public void handleEvent(Event event) {
-				event.detail &= ~SWT.FOREGROUND;
-				String osName = System.getProperty("os.name");
-				if (osName != null && osName.indexOf ("Windows") != -1) {
-					if (osName.indexOf ("Vista") != -1 || osName.indexOf ("unknown") != -1) {
-						return;
-					}
-				}
-				event.detail &= ~(SWT.FOREGROUND | SWT.SELECTED | SWT.HOT | SWT.FOCUSED);
-				GC gc = event.gc;
-				TableItem item = (TableItem)event.item;
-				Rectangle rect = table.getClientArea ();
-				Rectangle itemRect = item.getBounds ();
-				itemRect.x = rect.x;
-				itemRect.width = rect.width;
-				gc.setClipping ((Rectangle) null);
-				gc.fillRectangle (itemRect);
-			}
-		});
-		table.addListener(SWT.PaintItem, new Listener() {
-			public void handleEvent(Event event) {
-				TableItem item = (TableItem)event.item;
-				GC gc = event.gc;
-				Image image = item.getImage (0);
-				String text = item.getText (0);
-				Point textExtent = gc.stringExtent (text);
-				Rectangle imageRect = item.getImageBounds(0);
-				Rectangle textRect = item.getTextBounds (0);
-				int textY = textRect.y + Math.max (0, (textRect.height - textExtent.y) / 2);
-				if (image == null) {
-					gc.drawString(text, imageRect.x, textY, true);
-				} else {
-					Rectangle imageExtent = image.getBounds ();
-					int imageY = imageRect.y + Math.max (0, (imageRect.height - imageExtent.height) / 2);
-					gc.drawImage (image, imageRect.x, imageY);
-					gc.drawString (text, textRect.x, textY, true);
-				}
-			}
-		});
-		shell.pack();
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch()) display.sleep();
-		}
-		display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet284.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet284.java
deleted file mode 100644
index ae3f3a3..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet284.java
+++ /dev/null
@@ -1,81 +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.swt.snippets;
-
-/*
- * Drag and Drop example snippet: drag a URL between two labels.
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.dnd.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet284 {
-
-public static void main (String [] args) {
-	
-	Display display = new Display ();
-	final Shell shell = new Shell (display);
-	shell.setText("URLTransfer");
-	shell.setLayout(new FillLayout());
-	final Label label1 = new Label (shell, SWT.BORDER);
-	label1.setText ("http://www.eclipse.org");
-	final Label label2 = new Label (shell, SWT.BORDER);
-	setDragSource (label1);
-	setDropTarget (label2);
-	shell.setSize(600, 300);
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-public static void setDragSource (final Label label) {
-	int operations = DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_LINK;
-	final DragSource source = new DragSource (label, operations);
-	source.setTransfer(new Transfer[] {URLTransfer.getInstance()});
-	source.addDragListener (new DragSourceListener () {
-		public void dragStart(DragSourceEvent e) {
-		}
-		public void dragSetData(DragSourceEvent e) {
-			e.data = label.getText();
-		}
-		public void dragFinished(DragSourceEvent event) {
-		}
-	});
-}
-
-public static void setDropTarget (final Label label) {
-	int operations = DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_LINK;
-	DropTarget target = new DropTarget(label, operations);
-	target.setTransfer(new Transfer[] {URLTransfer.getInstance()});
-	target.addDropListener (new DropTargetAdapter() {
-		public void dragEnter(DropTargetEvent e) {
-			if (e.detail == DND.DROP_NONE)
-				e.detail = DND.DROP_LINK;
-		}
-		public void dragOperationChanged(DropTargetEvent e) {
-			if (e.detail == DND.DROP_NONE)
-				e.detail = DND.DROP_LINK;
-		}
-		public void drop(DropTargetEvent event) {
-			if (event.data == null) {
-				event.detail = DND.DROP_NONE;
-				return;
-			}
-			label.setText(((String) event.data));
-		}
-	});
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet285.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet285.java
deleted file mode 100644
index 251fb9d..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet285.java
+++ /dev/null
@@ -1,106 +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.swt.snippets;
-
-/*
- * create a circular shell from a path.
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet285 {
-	static void loadPath(Region region, float[] points, byte[] types) {
-		int start = 0, end = 0;
-		for (int i = 0; i < types.length; i++) {
-			switch (types[i]) {
-				case SWT.PATH_MOVE_TO: {
-					if (start != end) {
-						int n = 0;
-						int[] temp = new int[end - start];
-						for (int k = start; k < end; k++) {
-							temp[n++] = Math.round(points[k]);
-						}
-						region.add(temp);
-					}
-					start = end;
-					end += 2;
-					break;
-				}
-				case SWT.PATH_LINE_TO: {
-					end += 2;
-					break;
-				}
-				case SWT.PATH_CLOSE: {
-					if (start != end) {
-						int n = 0;
-						int[] temp = new int[end - start];
-						for (int k = start; k < end; k++) {
-							temp[n++] = Math.round(points[k]);
-						}
-						region.add(temp);
-					}
-					start = end;
-					break;
-				}
-			}
-		}
-	}
-	public static void main(String[] args) {
-		int width = 250, height = 250;
-		final Display display = new Display();
-		final Shell shell = new Shell(display, SWT.NO_TRIM);
-		final Path path = new Path(display);
-		path.addArc(0, 0, width, height, 0, 360);
-		Path path2 = new Path(display, path, 0.1f);
-		path.dispose();
-		PathData data = path2.getPathData();
-		path2.dispose();
-		Region region = new Region(display);
-		loadPath(region, data.points, data.types);
-		shell.setRegion(region);
-		Listener listener = new Listener() {
-			public void handleEvent(Event event) {
-				switch (event.type) {
-					case SWT.MouseDown: {
-						shell.dispose();
-						break;
-					}
-					case SWT.Paint: {
-						GC gc = event.gc;
-						Rectangle rect = shell.getClientArea();
-						Pattern pattern = new Pattern(display, rect.x, rect.y
-								+ rect.height, rect.x + rect.width, rect.y, display
-								.getSystemColor(SWT.COLOR_BLUE), display
-								.getSystemColor(SWT.COLOR_WHITE));
-						gc.setBackgroundPattern(pattern);
-						gc.fillRectangle(rect);
-						pattern.dispose();
-						break;
-					}
-				}
-			}
-		};
-		shell.addListener(SWT.MouseDown, listener);
-		shell.addListener(SWT.Paint, listener);
-		shell.setSize(width, height);
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		display.dispose();
-	}
-	
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet286.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet286.java
deleted file mode 100644
index 6f0696c..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet286.java
+++ /dev/null
@@ -1,61 +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.swt.snippets;
-
-/*
- * use a menu item's armListener to update a status line.
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet286 {
-
-	public static void main(java.lang.String[] args) {
-		Display display = new Display();
-		Shell shell = new Shell(display);
-		shell.setLayout(new GridLayout());
-		
-		Canvas blankCanvas = new Canvas(shell, SWT.BORDER);
-		blankCanvas.setLayoutData(new GridData(200, 200));
-		final Label statusLine = new Label(shell, SWT.NONE);
-		statusLine.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
-
-		Menu bar = new Menu (shell, SWT.BAR);
-		shell.setMenuBar (bar);
-		
-		MenuItem menuItem = new MenuItem (bar, SWT.CASCADE);
-		menuItem.setText ("Test");
-		Menu menu = new Menu(bar);
-		menuItem.setMenu (menu);
-		
-		for (int i = 0; i < 5; i++) {
-			MenuItem item = new MenuItem (menu, SWT.PUSH);
-			item.setText ("Item " + i);
-			item.addArmListener(new ArmListener() {
-				public void widgetArmed(ArmEvent e) {
-					statusLine.setText(((MenuItem)e.getSource()).getText());
-				}
-			});
-		}
-		
-		shell.pack();
-		shell.open();
-		
-		while(!shell.isDisposed()) {
-			if(!display.readAndDispatch()) display.sleep();
-		}
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet287.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet287.java
deleted file mode 100644
index 7aee84e..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet287.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Tree example snippet: search for a string in a Tree recursively
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet287 {
-
-static Tree tree;
-public static void main(String[] args) {
-	final String SEARCH_STRING = "4b";
-
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setBounds (10,10,300,300);
-	shell.setLayout (new GridLayout ());
-
-	/* create the Tree */
-	tree = new Tree (shell, SWT.FULL_SELECTION);
-	tree.setLinesVisible (true);
-	tree.setLayoutData (new GridData (GridData.FILL_BOTH));
-	for (int i = 0; i < 3; i++) {
-		new TreeColumn (tree, SWT.NONE).setWidth (90);
-	}
-	int index = 0;
-	for (int i = 0; i < 3; i++) {
-		TreeItem item = createItem (null, index++);
-		for (int j = 0; j < i; j++) {
-			item = createItem (item, index++);
-		}
-	}
-
-	Button button = new Button (shell, SWT.PUSH);
-	button.setText ("Find '" + SEARCH_STRING + "'");
-	button.addListener (SWT.Selection, new Listener () {
-		public void handleEvent (Event event) {
-			int itemCount = tree.getItemCount ();
-			for (int i = 0; i < itemCount; i++) {
-				TreeItem item = tree.getItem (i);
-				boolean success = find (item, SEARCH_STRING);
-				if (success) {
-					System.out.println ("Found it");
-					return;
-				}
-			}
-			System.out.println ("Did not find it");
-		}
-	});
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-
-/* for creating sample Tree */
-static TreeItem createItem (TreeItem parent, int itemIndex) {
-	TreeItem newItem = null;
-	if (parent == null) {	/* root level item */
-		newItem = new TreeItem (tree, SWT.NONE);
-	} else {
-		newItem = new TreeItem (parent, SWT.NONE);
-	}
-	String indexString = String.valueOf (itemIndex); 
-	newItem.setText(new String[] {
-		indexString + 'a', indexString + 'b', indexString + 'c'});
-	return newItem;
-}
-
-/* recursive find */
-public static boolean find (TreeItem item, String searchString) {
-	/* check this item */
-	for (int i = 0; i < tree.getColumnCount (); i++) {
-		String contents = item.getText (i);
-		if ((contents.toUpperCase ().indexOf (searchString.toUpperCase ())) != -1) {
-			tree.setSelection (item);
-			return true;
-		}
-	}
-
-	if (!item.getExpanded ()) return false; /* don't check child items */
-
-	/* check child items */
-	int childCount = item.getItemCount ();
-	for (int i = 0; i < childCount; i++) {
-		TreeItem child = item.getItem (i);
-		boolean success = find (child, searchString);
-		if (success) return true;
-	}
-
-	return false;
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet288.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet288.java
deleted file mode 100644
index b3f5e86..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet288.java
+++ /dev/null
@@ -1,188 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Create a ToolBar containing animated GIFs
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import java.io.File;
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet288 {
-	
-	static Display display;
-	static Shell shell;
-	static GC shellGC;
-	static Color shellBackground;
-	static ImageLoader[] loader;
-	static ImageData[][] imageDataArray;
-	static Thread animateThread[];
-	static Image[][] image;
-	private static ToolItem item[];
-	static final boolean useGIFBackground = false;
-
-	public static void main (String [] args) {
-		display = new Display();
-		Shell shell = new Shell (display);
-		shellBackground = shell.getBackground();
-		FileDialog dialog = new FileDialog(shell, SWT.OPEN | SWT.MULTI);
-		dialog.setText("Select Multiple Animated GIFs");
-		dialog.setFilterExtensions(new String[] {"*.gif"});
-		String filename = dialog.open();
-		String filenames[] = dialog.getFileNames();
-		int numToolBarItems = filenames.length;
-		if (numToolBarItems > 0) {
-			try {
-				loadAllImages(new File(filename).getParent(), filenames);
-			} catch (SWTException e) {
-				System.err.println("There was an error loading an image.");
-				e.printStackTrace();
-			}
-			ToolBar toolBar = new ToolBar (shell, SWT.FLAT | SWT.BORDER | SWT.WRAP);
-			item = new ToolItem[numToolBarItems];
-			for (int i = 0; i < numToolBarItems; i++) {
-				item[i] = new ToolItem (toolBar, SWT.PUSH);
-				item[i].setImage(image[i][0]);
-			}
-			toolBar.pack ();
-			shell.open ();
-			
-			startAnimationThreads();
-			
-			while (!shell.isDisposed()) {
-				if (!display.readAndDispatch ()) display.sleep ();
-			}
-			
-			for (int i = 0; i < numToolBarItems; i++) {
-				for (int j = 0; j < image[i].length; j++) {
-					image[i][j].dispose();
-				}
-			}
-			display.dispose ();
-		}
-	}
-
-	private static void loadAllImages(String directory, String[] filenames) throws SWTException {
-		int numItems = filenames.length;
-		loader = new ImageLoader[numItems];
-		imageDataArray = new ImageData[numItems][];
-		image = new Image[numItems][];
-		for (int i = 0; i < numItems; i++) {
-			loader[i] = new ImageLoader();
-			int fullWidth = loader[i].logicalScreenWidth;
-			int fullHeight = loader[i].logicalScreenHeight;
-			imageDataArray[i] = loader[i].load(directory + File.separator + filenames[i]);
-			int numFramesOfAnimation = imageDataArray[i].length;
-			image[i] = new Image[numFramesOfAnimation];
-			for (int j = 0; j < numFramesOfAnimation; j++) {
-				if (j == 0) {
-					//for the first frame of animation, just draw the first frame
-					image[i][j] = new Image(display, imageDataArray[i][j]);
-					fullWidth = imageDataArray[i][j].width;
-					fullHeight = imageDataArray[i][j].height;
-				}
-				else {
-					//after the first frame of animation, draw the background or previous frame first, then the new image data 
-					image[i][j] = new Image(display, fullWidth, fullHeight);
-					GC gc = new GC(image[i][j]);
-					gc.setBackground(shellBackground);
-					gc.fillRectangle(0, 0, fullWidth, fullHeight);
-					ImageData imageData = imageDataArray[i][j];
-					switch (imageData.disposalMethod) {
-					case SWT.DM_FILL_BACKGROUND:
-						/* Fill with the background color before drawing. */
-						Color bgColor = null;
-						if (useGIFBackground && loader[i].backgroundPixel != -1) {
-							bgColor = new Color(display, imageData.palette.getRGB(loader[i].backgroundPixel));
-						}
-						gc.setBackground(bgColor != null ? bgColor : shellBackground);
-						gc.fillRectangle(imageData.x, imageData.y, imageData.width, imageData.height);
-						if (bgColor != null) bgColor.dispose();
-						break;
-					default:
-						/* Restore the previous image before drawing. */
-						gc.drawImage(
-							image[i][j-1],
-							0,
-							0,
-							fullWidth,
-							fullHeight,
-							0,
-							0,
-							fullWidth,
-							fullHeight);
-						break;
-					}
-					Image newFrame = new Image(display, imageData);
-					gc.drawImage(newFrame,
-							0,
-							0,
-							imageData.width,
-							imageData.height,
-							imageData.x,
-							imageData.y,
-							imageData.width,
-							imageData.height);
-					newFrame.dispose();
-					gc.dispose();
-				}
-			}
-		}
-	}
-
-	private static void startAnimationThreads() {
-		animateThread = new Thread[image.length];
-		for (int ii = 0; ii < image.length; ii++) {
-			final int i = ii;
-			animateThread[i] = new Thread("Animation "+i) {
-				int imageDataIndex = 0;
-				public void run() {
-					try {
-						int repeatCount = loader[i].repeatCount;
-						while (loader[i].repeatCount == 0 || repeatCount > 0) {
-							imageDataIndex = (imageDataIndex + 1) % imageDataArray[i].length;
-							if (!display.isDisposed()) {
-								display.asyncExec(new Runnable() {
-									public void run() {
-										if (!item[i].isDisposed())
-											item[i].setImage(image[i][imageDataIndex]);
-									}
-								});
-							}
-							
-							/* Sleep for the specified delay time (adding commonly-used slow-down fudge factors). */
-							try {
-								int ms = imageDataArray[i][imageDataIndex].delayTime * 10;
-								if (ms < 20) ms += 30;
-								if (ms < 30) ms += 10;
-								Thread.sleep(ms);
-							} catch (InterruptedException e) {
-							}
-
-							/* If we have just drawn the last image, decrement the repeat count and start again. */
-							if (imageDataIndex == imageDataArray[i].length - 1) repeatCount--;
-						}
-					} catch (SWTException ex) {
-						System.out.println("There was an error animating the GIF");
-						ex.printStackTrace();
-					}
-				}
-			};
-			animateThread[i].setDaemon(true);
-			animateThread[i].start();
-		}
-	}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet289.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet289.java
deleted file mode 100644
index 59e69fe..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet289.java
+++ /dev/null
@@ -1,67 +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.swt.snippets;
-
-/*
- * Combo example snippet: add an item to a combo box
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet289  {
-public static void main(String[] args) {
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setLayout(new FillLayout());
-	final Combo combo = new Combo(shell, SWT.NONE);
-	combo.setItems(new String [] {"1111", "2222", "3333", "4444"});
-	combo.setText(combo.getItem(0));
-	combo.addVerifyListener(new VerifyListener() {
-		public void verifyText(VerifyEvent e) {
-			String newText = e.text;
-			try {
-				Integer.parseInt(newText);
-			} catch (NumberFormatException ex) {
-				e.doit = false;
-			}
-		}
-	});
-	combo.addTraverseListener(new TraverseListener() {
-		public void keyTraversed(TraverseEvent e) {
-			if (e.detail == SWT.TRAVERSE_RETURN) {
-				e.doit = false;
-				e.detail = SWT.TRAVERSE_NONE;
-				String newText = combo.getText();
-				try {
-					Integer.parseInt(newText);
-					combo.add(newText);
-					combo.setSelection(new Point(0, newText.length()));
-				} catch (NumberFormatException ex) {
-				}
-			}
-		}
-	});
-
-	shell.pack();
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet29.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet29.java
deleted file mode 100644
index 8c8c36f..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet29.java
+++ /dev/null
@@ -1,49 +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.swt.snippets;
-
-/*
- * Menu example snippet: create a bar and pull down menu (accelerators, mnemonics)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet29 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	Menu bar = new Menu (shell, SWT.BAR);
-	shell.setMenuBar (bar);
-	MenuItem fileItem = new MenuItem (bar, SWT.CASCADE);
-	fileItem.setText ("&File");
-	Menu submenu = new Menu (shell, SWT.DROP_DOWN);
-	fileItem.setMenu (submenu);
-	MenuItem item = new MenuItem (submenu, SWT.PUSH);
-	item.addListener (SWT.Selection, new Listener () {
-		public void handleEvent (Event e) {
-			System.out.println ("Select All");
-		}
-	});
-	item.setText ("Select &All\tCtrl+A");
-	item.setAccelerator (SWT.MOD1 + 'A');
-	shell.setSize (200, 200);
-	shell.open ();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet290.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet290.java
deleted file mode 100644
index eb91c12..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet290.java
+++ /dev/null
@@ -1,45 +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.swt.snippets;
-
-/* 
- * Canvas snippet: ignore 2nd mouse up event after double-click
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.events.*;
-
-public class Snippet290 {
-
-public static void main(String [] args) {
-	final Display display = new Display();
-	final Shell shell = new Shell(display);
-	shell.addMouseListener(new MouseAdapter() {
-		public void mouseUp(MouseEvent e) {
-			if (e.count == 1) {
-				System.out.println("Mouse up");
-			}
-		}
-		public void mouseDoubleClick(MouseEvent e) {
-			System.out.println("Double-click");
-		}
-	});
-	shell.setBounds(10, 10, 200, 200);
-	shell.open ();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch()) display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet291.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet291.java
deleted file mode 100644
index fc6ba89..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet291.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/* 
- * Give accessible names to a tree and its tree items
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.accessibility.*;
-
-public class Snippet291 {
-	public static void main(String[] args) {
-		final Display display = new Display();
-		Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		final Tree tree = new Tree(shell, SWT.BORDER);
-		for (int i = 0; i < 5; i++) {
-			TreeItem treeItem = new TreeItem (tree, SWT.NULL);
-			treeItem.setText ("item" + i);
-			for (int j = 0; j < 3; j++) {
-				TreeItem subItem = new TreeItem(treeItem, SWT.NONE);
-				subItem.setText("item" + i + j);
-			}
-		}
-		tree.getAccessible().addAccessibleListener(new AccessibleAdapter() {
-			public void getName(AccessibleEvent e) {
-				if (e.childID == ACC.CHILDID_SELF) {
-					e.result = "This is the Accessible Name for the Tree";
-				} else {
-					TreeItem item = (TreeItem)display.findWidget(tree, e.childID);
-					if (item != null) {
-						e.result = "This is the Accessible Name for the TreeItem: " + item.getText();
-					}
-				}
-			}
-		});
-		shell.pack();
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch()) display.sleep();
-		}
-		display.dispose();
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet292.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet292.java
deleted file mode 100644
index 0436d6c..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet292.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/* 
- * Take a snapshot of a control
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet292 {
-	public static void main(String[] args) {
-		final Display display = new Display();
-		Shell shell = new Shell(display);
-		final Tree tree = new Tree(shell, SWT.BORDER);
-		for (int i = 0; i < 5; i++) {
-			TreeItem treeItem = new TreeItem (tree, SWT.NULL);
-			treeItem.setText ("TreeItem " + i);
-			for (int j = 0; j < 3; j++) {
-				TreeItem subItem = new TreeItem(treeItem, SWT.NONE);
-				subItem.setText("SubItem " + i + "-" + j);
-			}
-			if (i % 3 == 0) treeItem.setExpanded (true);
-		}
-		final Label label = new Label (shell, SWT.NONE);
-		label.addListener (SWT.Dispose, new Listener () {
-			public void handleEvent (Event e) {
-				Image image = label.getImage ();
-				if (image != null) image.dispose ();
-			}
-		});
-		Button button = new Button (shell, SWT.PUSH);
-		button.setText ("Snapshot");
-		button.addListener (SWT.Selection, new Listener () {
-			public void handleEvent (Event e) {
-				Image image = label.getImage ();
-				if (image != null) image.dispose ();
-				image = new Image (display, tree.getBounds ());
-				GC gc = new GC (image);
-				tree.print (gc);
-				gc.dispose ();
-				label.setImage (image);
-			}
-		});
-		GridLayout layout = new GridLayout (2, true);
-		shell.setLayout(layout);
-		tree.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true));
-		label.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true));
-		button.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true, 2, 1));
-		shell.pack();
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch()) display.sleep();
-		}
-		display.dispose();
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet293.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet293.java
deleted file mode 100644
index b4bc599..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet293.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * create a tri-state button.
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet293 {
-
-	public static void main(java.lang.String[] args) {
-			Display display = new Display();
-			Shell shell = new Shell(display);
-			shell.setLayout(new GridLayout());
-			
-			Button b1 = new Button (shell, SWT.CHECK);
-			b1.setText("State 1");
-			b1.setSelection(true);
-			
-			Button b2 = new Button (shell, SWT.CHECK);
-			b2.setText("State 2");
-			b2.setSelection(false);
-			
-			Button b3 = new Button (shell, SWT.CHECK);
-			b3.setText("State 3");
-			b3.setSelection(true);
-			b3.setGrayed(true);
-			
-			shell.pack();
-			shell.open();
-			while (!shell.isDisposed()) {
-				if (!display.readAndDispatch())
-					display.sleep();
-			}
-			display.dispose();
-		}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet294.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet294.java
deleted file mode 100644
index 6f8d668..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet294.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-/*
- * Region on a control: create a non-rectangular button
- * 
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.4
- */
-
-public class Snippet294 {
-
-	static int[] circle(int r, int offsetX, int offsetY) {
-		int[] polygon = new int[8 * r + 4];
-		// x^2 + y^2 = r^2
-		for (int i = 0; i < 2 * r + 1; i++) {
-			int x = i - r;
-			int y = (int)Math.sqrt(r*r - x*x);
-			polygon[2*i] = offsetX + x;
-			polygon[2*i+1] = offsetY + y;
-			polygon[8*r - 2*i - 2] = offsetX + x;
-			polygon[8*r - 2*i - 1] = offsetY - y;
-		}
-		return polygon;
-	}
-
-	public static void main(String[] args) {
-		final Display display = new Display();
-		
-		final Shell shell = new Shell(display);
-		shell.setText("Regions on a Control");
-		shell.setLayout(new FillLayout());
-		shell.setBackground(display.getSystemColor(SWT.COLOR_DARK_RED));
-		
-		Button b2 = new Button(shell, SWT.PUSH);
-		b2.setText("Button with Regions");
-		
-		// define a region that looks like a circle with two holes in ot
-		Region region = new Region();
-		region.add(circle(67, 87, 77));
-		region.subtract(circle(20, 87, 47));
-		region.subtract(circle(20, 87, 113));
-		
-		// define the shape of the button using setRegion
-		b2.setRegion(region);
-		b2.setLocation(100,50);
-		
-		b2.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				shell.close();
-			}
-		});
-		
-		shell.setSize(200,200);
-		shell.open();
-		
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		region.dispose();
-		display.dispose();
-	}
-	
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet295.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet295.java
deleted file mode 100644
index aec4242..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet295.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * create a dialog Shell and prompt for a text string
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet295 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	final Shell shell = new Shell (display);
-	shell.setText("Shell");
-	FillLayout fillLayout = new FillLayout();
-	fillLayout.marginWidth = 10;
-	fillLayout.marginHeight = 10;
-	shell.setLayout(fillLayout);
-
-	Button open = new Button (shell, SWT.PUSH);
-	open.setText ("Prompt for a String");
-	open.addSelectionListener (new SelectionAdapter () {
-		public void widgetSelected (SelectionEvent e) {
-			final Shell dialog = new Shell (shell, SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL);
-			dialog.setText("Dialog Shell");
-			FormLayout formLayout = new FormLayout ();
-			formLayout.marginWidth = 10;
-			formLayout.marginHeight = 10;
-			formLayout.spacing = 10;
-			dialog.setLayout (formLayout);
-
-			Label label = new Label (dialog, SWT.NONE);
-			label.setText ("Type a String:");
-			FormData data = new FormData ();
-			label.setLayoutData (data);
-
-			Button cancel = new Button (dialog, SWT.PUSH);
-			cancel.setText ("Cancel");
-			data = new FormData ();
-			data.width = 60;
-			data.right = new FormAttachment (100, 0);
-			data.bottom = new FormAttachment (100, 0);
-			cancel.setLayoutData (data);
-			cancel.addSelectionListener (new SelectionAdapter () {
-				public void widgetSelected (SelectionEvent e) {
-					System.out.println("User cancelled dialog");
-					dialog.close ();
-				}
-			});
-
-			final Text text = new Text (dialog, SWT.BORDER);
-			data = new FormData ();
-			data.width = 200;
-			data.left = new FormAttachment (label, 0, SWT.DEFAULT);
-			data.right = new FormAttachment (100, 0);
-			data.top = new FormAttachment (label, 0, SWT.CENTER);
-			data.bottom = new FormAttachment (cancel, 0, SWT.DEFAULT);
-			text.setLayoutData (data);
-
-			Button ok = new Button (dialog, SWT.PUSH);
-			ok.setText ("OK");
-			data = new FormData ();
-			data.width = 60;
-			data.right = new FormAttachment (cancel, 0, SWT.DEFAULT);
-			data.bottom = new FormAttachment (100, 0);
-			ok.setLayoutData (data);
-			ok.addSelectionListener (new SelectionAdapter () {
-				public void widgetSelected (SelectionEvent e) {
-					System.out.println ("User typed: " + text.getText ());
-					dialog.close ();
-				}
-			});
-
-			dialog.setDefaultButton (ok);
-			dialog.pack ();
-			dialog.open ();
-		}
-	});
-	shell.pack ();
-	shell.open ();
-	
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet296.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet296.java
deleted file mode 100644
index e1c048e..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet296.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * ScrolledComposite snippet: use a ScrolledComposite to scroll a Tree vertically
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet296 {
-	
-public static void main (String[] args) {
-	final Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setBounds (10, 10, 200, 300);
-	final ScrolledComposite sc = new ScrolledComposite (shell, SWT.VERTICAL);
-	sc.setBounds (10, 10, 180, 200);
-	final int clientWidth = sc.getClientArea ().width;
-
-	final Tree tree = new Tree (sc, SWT.NONE);
-	for (int i = 0; i < 99; i++) {
-		TreeItem item = new TreeItem (tree, SWT.NONE);
-		item.setText ("item " + i);
-		new TreeItem (item, SWT.NONE).setText ("child");
-	}
-	sc.setContent (tree);
-	int prefHeight = tree.computeSize (SWT.DEFAULT, SWT.DEFAULT).y;
-	tree.setSize (clientWidth, prefHeight);
-	/*
-	 * The following listener ensures that the Tree is always large
-	 * enough to not need to show its own vertical scrollbar.
-	 */
-	tree.addTreeListener (new TreeListener () {
-		public void treeExpanded (TreeEvent e) {
-			int prefHeight = tree.computeSize (SWT.DEFAULT, SWT.DEFAULT).y;
-			tree.setSize (clientWidth, prefHeight);
-		}
-		public void treeCollapsed (TreeEvent e) {
-			int prefHeight = tree.computeSize (SWT.DEFAULT, SWT.DEFAULT).y;
-			tree.setSize (clientWidth, prefHeight);
-		}
-	});
-
-	Button downButton = new Button (shell, SWT.PUSH);
-	downButton.setBounds (10, 220, 80, 30);
-	downButton.setText ("Down 10px");
-	downButton.addListener (SWT.Selection, new Listener () {
-		public void handleEvent (Event event) {
-			sc.setOrigin (0, sc.getOrigin ().y + 10);
-		}
-	});
-	Button upButton = new Button (shell, SWT.PUSH);
-	upButton.setBounds (100, 220, 80, 30);
-	upButton.setText ("Up 10px");
-	upButton.addListener (SWT.Selection, new Listener () {
-		public void handleEvent (Event event) {
-			sc.setOrigin (0, sc.getOrigin ().y - 10);
-		}
-	});
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet297.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet297.java
deleted file mode 100644
index f4c7128..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet297.java
+++ /dev/null
@@ -1,67 +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.swt.snippets;
-
-/*
- * Table example snippet: create a table with column header images
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet297 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Image images[] = new Image[] {
-		display.getSystemImage(SWT.ICON_INFORMATION),
-		display.getSystemImage(SWT.ICON_ERROR),
-		display.getSystemImage(SWT.ICON_QUESTION),
-		display.getSystemImage(SWT.ICON_WARNING),
-	};
-	String[] titles = {"Information", "Error", "Question", "Warning"};
-	String[] questions = {"who?", "what?", "where?", "when?", "why?"};
-	Shell shell = new Shell (display);
-	shell.setLayout(new GridLayout());
-	Table table = new Table (shell, SWT.MULTI | SWT.BORDER | SWT.FULL_SELECTION);
-	GridData data = new GridData (SWT.FILL, SWT.FILL, true, true);
-	data.heightHint = 200;
-	table.setLayoutData (data);
-	table.setLinesVisible (true);
-	table.setHeaderVisible (true);
-	for (int i=0; i<titles.length; i++) {
-		TableColumn column = new TableColumn (table, SWT.NONE);
-		column.setText (titles [i]);
-		column.setImage(images [i]);
-	}	
-	int count = 128;
-	for (int i=0; i<count; i++) {
-		TableItem item = new TableItem (table, SWT.NONE);
-		item.setText (0, "some info");
-		item.setText (1, "error #" + i);
-		item.setText (2, questions [i % questions.length]);
-		item.setText (3, "look out!");
-	}
-	for (int i=0; i<titles.length; i++) {
-		table.getColumn (i).pack ();
-	}	
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet3.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet3.java
deleted file mode 100644
index a95f1ed..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet3.java
+++ /dev/null
@@ -1,72 +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.swt.snippets;
-
-/*
- * Table example snippet: find a table cell from mouse down (SWT.FULL_SELECTION)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.graphics.*;
-
-public class Snippet3 {
-
-public static void main(String[] args) {
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	final Table table = new Table(shell, SWT.BORDER | SWT.V_SCROLL
-			| SWT.FULL_SELECTION);
-	table.setHeaderVisible(true);
-	table.setLinesVisible(true);
-	final int rowCount = 64, columnCount = 4;
-	for (int i = 0; i < columnCount; i++) {
-		TableColumn column = new TableColumn(table, SWT.NONE);
-		column.setText("Column " + i);
-	}
-	for (int i = 0; i < rowCount; i++) {
-		TableItem item = new TableItem(table, SWT.NONE);
-		for (int j = 0; j < columnCount; j++) {
-			item.setText(j, "Item " + i + "-" + j);
-		}
-	}
-	for (int i = 0; i < columnCount; i++) {
-		table.getColumn(i).pack();
-	}
-	Point size = table.computeSize(SWT.DEFAULT, 200);
-	table.setSize(size);
-	shell.pack();
-	table.addListener(SWT.MouseDown, new Listener() {
-		public void handleEvent(Event event) {
-			Point pt = new Point(event.x, event.y);
-			TableItem item = table.getItem(pt);
-			if (item == null)
-				return;
-			for (int i = 0; i < columnCount; i++) {
-				Rectangle rect = item.getBounds(i);
-				if (rect.contains(pt)) {
-					int index = table.indexOf(item);
-					System.out.println("Item " + index + "-" + i);
-				}
-			}
-		}
-	});
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	display.dispose();
-}
-
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet30.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet30.java
deleted file mode 100644
index bcbd760..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet30.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Program example snippet: invoke the system text editor on autoexec.bat
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.program.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet30 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Program p = Program.findProgram (".txt");
-	if (p != null) p.execute ("c:\\autoexec.bat"); // Windows-specific filename
-	display.dispose ();
-}
-
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet31.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet31.java
deleted file mode 100644
index e898c1e..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet31.java
+++ /dev/null
@@ -1,65 +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.swt.snippets;
-
-/*
- * Tracker example snippet: create a tracker (drag when "torn off")
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet31 {
-
-public static void main (String [] args) {
-	final Display display = new Display ();
-	final Shell shell = new Shell (display);
-	shell.setSize (200, 200);
-	shell.open ();
-	Listener listener = new Listener () {
-		Point point = null;
-		static final int JITTER = 8;
-		public void handleEvent (Event event) {
-			switch (event.type) {
-				case SWT.MouseDown:
-					point = new Point (event.x, event.y);
-					break;
-				case SWT.MouseMove:
-					if (point == null) return;
-					int deltaX = point.x - event.x, deltaY = point.y - event.y;
-					if (Math.abs (deltaX) < JITTER && Math.abs (deltaY) < JITTER) {
-						return;
-					}
-					Tracker tracker = new Tracker (display, SWT.NONE);
-					Rectangle rect = display.map (shell, null, shell.getClientArea ());
-					rect.x -= deltaX;
-					rect.y -= deltaY;
-					tracker.setRectangles (new Rectangle [] {rect});
-					tracker.open ();
-					//FALL THROUGH
-				case SWT.MouseUp:
-					point = null;
-					break;
-			}
-		}
-	};
-	shell.addListener (SWT.MouseDown, listener);
-	shell.addListener (SWT.MouseMove, listener);
-	shell.addListener (SWT.MouseUp, listener);
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet32.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet32.java
deleted file mode 100644
index 61cbda9..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet32.java
+++ /dev/null
@@ -1,50 +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.swt.snippets;
-
-/*
- * Program example snippet: find the icon of the program that edits .bmp files
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.program.*;
-
-public class Snippet32 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	Label label = new Label (shell, SWT.NONE);
-	label.setText ("Can't find icon for .bmp");
-	Image image = null;
-	Program p = Program.findProgram (".bmp");
-	if (p != null) {
-		ImageData data = p.getImageData ();
-		if (data != null) {
-			image = new Image (display, data);
-			label.setImage (image);
-		}
-	}
-	label.pack ();
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	if (image != null) image.dispose ();
-	display.dispose ();
-}
-
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet33.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet33.java
deleted file mode 100644
index 24fc913..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet33.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.swt.snippets;
-
-/*
- * DirectoryDialog example snippet: prompt for a directory
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.widgets.*;
-
-public class Snippet33 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.open ();
-	DirectoryDialog dialog = new DirectoryDialog (shell);
-	dialog.setFilterPath ("c:\\"); //Windows specific
-	System.out.println ("RESULT=" + dialog.open ());
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet34.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet34.java
deleted file mode 100644
index 27765cb..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet34.java
+++ /dev/null
@@ -1,46 +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.swt.snippets;
- 
-/*
- * Label example snippet: create a label (with an image)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet34 {
-
-public static void main (String[] args) {
-	Display display = new Display();
-	Image image = new Image (display, 16, 16);
-	Color color = display.getSystemColor (SWT.COLOR_RED);
-	GC gc = new GC (image);
-	gc.setBackground (color);
-	gc.fillRectangle (image.getBounds ());
-	gc.dispose ();
-	Shell shell = new Shell (display);
-	Label label = new Label (shell, SWT.BORDER);
-	label.setImage (image);
-	label.pack ();
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep (); 
-	} 
-	image.dispose ();
-	display.dispose ();
-}
-
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet35.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet35.java
deleted file mode 100644
index 38387ce..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet35.java
+++ /dev/null
@@ -1,41 +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.swt.snippets;
- 
-/*
- * Table example snippet: create a table (no columns, no headers)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet35 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	Table table = new Table (shell, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
-	for (int i=0; i<12; i++) {
-		TableItem item = new TableItem (table, 0);
-		item.setText ("Item " + i);
-	}
-	table.setSize (100, 100);
-	shell.setSize (200, 200);
-	shell.open ();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet36.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet36.java
deleted file mode 100644
index 85e7284..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet36.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
- 
-/*
- * ToolBar example snippet: create a flat tool bar (images)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet36 {
-
-public static void main (String [] args) {
-	Display display = new Display();
-	Image image = new Image (display, 16, 16);
-	Color color = display.getSystemColor (SWT.COLOR_RED);
-	GC gc = new GC (image);
-	gc.setBackground (color);
-	gc.fillRectangle (image.getBounds ());
-	gc.dispose ();
-	Shell shell = new Shell (display);
-	ToolBar toolBar = new ToolBar (shell, SWT.FLAT | SWT.BORDER);
-	for (int i=0; i<12; i++) {
-		ToolItem item = new ToolItem (toolBar, SWT.DROP_DOWN);
-		item.setImage (image);
-	}
-	toolBar.pack ();
-	shell.open ();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	image.dispose ();
-	display.dispose ();
-}
-
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet37.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet37.java
deleted file mode 100644
index 6dcf6cb..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet37.java
+++ /dev/null
@@ -1,38 +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.swt.snippets;
-
-/*
- * Label example snippet: create a label (a separator)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet37 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setLayout (new FillLayout ());
-	new Label (shell, SWT.SEPARATOR | SWT.HORIZONTAL);
-	new Label (shell, SWT.SEPARATOR | SWT.VERTICAL);
-	shell.setSize (200, 200);
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet38.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet38.java
deleted file mode 100644
index 4bae3a5..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet38.java
+++ /dev/null
@@ -1,57 +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.swt.snippets;
-
-/*
- * Table example snippet: create a table (columns, headers, lines)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet38 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	Table table = new Table (shell, SWT.MULTI | SWT.BORDER | SWT.FULL_SELECTION);
-	table.setLinesVisible (true);
-	table.setHeaderVisible (true);
-	String[] titles = {" ", "C", "!", "Description", "Resource", "In Folder", "Location"};
-	for (int i=0; i<titles.length; i++) {
-		TableColumn column = new TableColumn (table, SWT.NONE);
-		column.setText (titles [i]);
-	}	
-	int count = 128;
-	for (int i=0; i<count; i++) {
-		TableItem item = new TableItem (table, SWT.NONE);
-		item.setText (0, "x");
-		item.setText (1, "y");
-		item.setText (2, "!");
-		item.setText (3, "this stuff behaves the way I expect");
-		item.setText (4, "almost everywhere");
-		item.setText (5, "some.folder");
-		item.setText (6, "line " + i + " in nowhere");
-	}
-	for (int i=0; i<titles.length; i++) {
-		table.getColumn (i).pack ();
-	}	
-	table.setSize (table.computeSize (SWT.DEFAULT, 200));
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet39.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet39.java
deleted file mode 100644
index 63285a4..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet39.java
+++ /dev/null
@@ -1,50 +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.swt.snippets;
-
-/*
- * CCombo example snippet: create a CCombo
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet39 {
-	public static void main(String[] args) {
-		Display display = new Display();
-		Shell shell = new Shell(display);
-		shell.setLayout(new GridLayout());
-		
-		CCombo combo = new CCombo(shell, SWT.FLAT | SWT.BORDER);
-		combo.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
-		for (int i = 0; i < 5; i++) {
-			combo.add("item" + i);
-		}
-		combo.setText("item0");
-
-		combo.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				System.out.println("Item selected");
-			};
-		});
-
-		shell.pack();
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch()) display.sleep();
-		}
-	}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet4.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet4.java
deleted file mode 100644
index 8fc8411..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet4.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
- 
-/*
- * Shell example snippet: prevent escape from closing a dialog
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet4 {
-
-	public static void main(String[] args) {
-		Display display = new Display();
-		final Shell shell = new Shell(display);
-		Button b = new Button(shell, SWT.PUSH);
-		b.setText("Open Dialog ...");
-		b.pack();
-		b.setLocation(10, 10);
-		b.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent se) {
-				Shell dialog = new Shell(shell, SWT.DIALOG_TRIM);
-				dialog.addListener(SWT.Traverse, new Listener() {
-					public void handleEvent(Event e) {
-						if (e.detail == SWT.TRAVERSE_ESCAPE) {
-							e.doit = false;
-						}
-					}
-				});
-				dialog.open();
-			}
-		});
-		shell.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		display.dispose();
-	}
-
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet40.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet40.java
deleted file mode 100644
index 582576b..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet40.java
+++ /dev/null
@@ -1,44 +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.swt.snippets;
- 
-/*
- * Menu example snippet: create a popup menu (set in multiple controls)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet40 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	Composite c1 = new Composite (shell, SWT.BORDER);
-	c1.setSize (100, 100);
-	Composite c2 = new Composite (shell, SWT.BORDER);
-	c2.setBounds (100, 0, 100, 100);
-	Menu menu = new Menu (shell, SWT.POP_UP);
-	MenuItem item = new MenuItem (menu, SWT.PUSH);
-	item.setText ("Popup");
-	c1.setMenu (menu);
-	c2.setMenu (menu);
-	shell.setMenu (menu);
-	shell.setSize (300, 300);
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet41.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet41.java
deleted file mode 100644
index 140e19c..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet41.java
+++ /dev/null
@@ -1,43 +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.swt.snippets;
-
-/*
- * Tool Tips example snippet: create tool tips for a tab item, tool item, and shell
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet41 {
-
-public static void main (String [] args) {
-	String string = "This is a string\nwith a new line.";
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	TabFolder folder = new TabFolder (shell, SWT.BORDER);
-	folder.setSize (200, 200);
-	TabItem item0 = new TabItem (folder, 0);
-	item0.setToolTipText ("TabItem toolTip: " + string);
-	ToolBar bar = new ToolBar (shell, SWT.BORDER);
-	bar.setBounds (0, 200, 200, 64);
-	ToolItem item1 = new ToolItem (bar, 0);
-	item1.setToolTipText ("ToolItem toolTip: " + string);
-	shell.setToolTipText ("Shell toolTip: " + string);
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet42.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet42.java
deleted file mode 100644
index 9adf41f..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet42.java
+++ /dev/null
@@ -1,28 +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.swt.snippets;
-
-/*
- * Display example snippet: get the bounds and client area of a display
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.widgets.*;
-
-public class Snippet42 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	System.out.println ("Display Bounds=" + display.getBounds () + " Display ClientArea=" + display.getClientArea ());
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet43.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet43.java
deleted file mode 100644
index c8e6344..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet43.java
+++ /dev/null
@@ -1,54 +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.swt.snippets;
-
-/*
- * Caret example snippet: create a caret (using an image)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet43 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.open ();
-	Caret caret = new Caret (shell, SWT.NONE);
-	Color white = display.getSystemColor (SWT.COLOR_WHITE);
-	Color black = display.getSystemColor (SWT.COLOR_BLACK);
-	Image image = new Image (display, 20, 20);
-	GC gc = new GC (image);
-	gc.setBackground (black);
-	gc.fillRectangle (0, 0, 20, 20);
-	gc.setForeground (white);
-	gc.drawLine (0, 0, 19, 19);
-	gc.drawLine (19, 0, 0, 19);
-	gc.dispose ();
-	caret.setLocation (10, 10);
-	caret.setImage (image);
-	gc = new GC (shell);
-	gc.drawImage (image, 10, 64);
-	caret.setVisible (false);
-	gc.drawString ("Test", 12, 12);
-	caret.setVisible (true);
-	gc.dispose ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	image.dispose ();
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet44.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet44.java
deleted file mode 100644
index 8056868..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet44.java
+++ /dev/null
@@ -1,43 +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.swt.snippets;
-
-/*
- * Cursor example snippet: set the hand cursor into a control
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet44 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	final Cursor cursor = new Cursor (display, SWT.CURSOR_HAND);
-	Shell shell = new Shell (display);
-	shell.open ();
-	final Button b = new Button (shell, 0);
-	b.setBounds (10, 10, 200, 200);
-	b.addListener (SWT.Selection, new Listener () {
-		public void handleEvent (Event e) {
-			b.setCursor (cursor);
-		}
-	});
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	cursor.dispose ();
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet45.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet45.java
deleted file mode 100644
index 52acee3..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet45.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Scale example snippet: create a scale (maximum 40, page increment 5)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet45 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	Scale scale = new Scale (shell, SWT.BORDER);
-	scale.setSize (200, 64);
-	scale.setMaximum (40);
-	scale.setPageIncrement (5);
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet46.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet46.java
deleted file mode 100644
index 37ac629..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet46.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.swt.snippets;
- 
-/*
- * Composite example snippet: intercept mouse events (drag a button with the mouse)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet46 {
-public static void main (String [] args) {
-	Display display = new Display ();
-	final Shell shell = new Shell (display);
-	final Composite composite = new Composite (shell, SWT.NONE);
-	composite.setEnabled (false);
-	composite.setLayout (new FillLayout ());
-	Button button = new Button (composite, SWT.PUSH);
-	button.setText ("Button");
-	composite.pack ();
-	composite.setLocation (10, 10);
-	final Point [] offset = new Point [1];
-	Listener listener = new Listener () {
-		public void handleEvent (Event event) {
-			switch (event.type) {
-				case SWT.MouseDown:
-					Rectangle rect = composite.getBounds ();
-					if (rect.contains (event.x, event.y)) {
-						Point pt1 = composite.toDisplay (0, 0);
-						Point pt2 = shell.toDisplay (event.x, event.y); 
-						offset [0] = new Point (pt2.x - pt1.x, pt2.y - pt1.y);
-					}
-					break;
-				case SWT.MouseMove:
-					if (offset [0] != null) {
-						Point pt = offset [0];
-						composite.setLocation (event.x - pt.x, event.y - pt.y);
-					}
-					break;
-				case SWT.MouseUp:
-					offset [0] = null;
-					break;
-			}
-		}
-	};
-	shell.addListener (SWT.MouseDown, listener);
-	shell.addListener (SWT.MouseUp, listener);
-	shell.addListener (SWT.MouseMove, listener);
-	shell.setSize (300, 300);
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet47.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet47.java
deleted file mode 100644
index 16055ca..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet47.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.swt.snippets;
-
-/*
- * ToolBar example snippet: create tool bar (normal, hot and disabled images)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet47 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-
-	Image image = new Image (display, 20, 20);
-	Color color = display.getSystemColor (SWT.COLOR_BLUE);
-	GC gc = new GC (image);
-	gc.setBackground (color);
-	gc.fillRectangle (image.getBounds ());
-	gc.dispose ();
-	
-	Image disabledImage = new Image (display, 20, 20);
-	color = display.getSystemColor (SWT.COLOR_GREEN);
-	gc = new GC (disabledImage);
-	gc.setBackground (color);
-	gc.fillRectangle (disabledImage.getBounds ());
-	gc.dispose ();
-	
-	Image hotImage = new Image (display, 20, 20);
-	color = display.getSystemColor (SWT.COLOR_RED);
-	gc = new GC (hotImage);
-	gc.setBackground (color);
-	gc.fillRectangle (hotImage.getBounds ());
-	gc.dispose ();
-	
-	ToolBar bar = new ToolBar (shell, SWT.BORDER | SWT.FLAT);
-	bar.setSize (200, 32);
-	for (int i=0; i<12; i++) {
-		ToolItem item = new ToolItem (bar, 0);
-		item.setImage (image);
-		item.setDisabledImage (disabledImage);
-		item.setHotImage (hotImage);
-		if (i % 3 == 0) item.setEnabled (false);
-	}
-	
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	image.dispose ();
-	disabledImage.dispose ();
-	hotImage.dispose ();
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet48.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet48.java
deleted file mode 100644
index f63ba77..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet48.java
+++ /dev/null
@@ -1,119 +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.swt.snippets;
- 
-/*
- * Canvas example snippet: scroll an image (flicker free, no double buffering)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet48 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setLayout(new FillLayout());
-	Image originalImage = null;
-	FileDialog dialog = new FileDialog (shell, SWT.OPEN);
-	dialog.setText ("Open an image file or cancel");
-	String string = dialog.open ();
-	if (string != null) {
-		originalImage = new Image (display, string);
-	}
-	if (originalImage == null) {
-		int width = 150, height = 200;
-		originalImage = new Image (display, width, height);
-		GC gc = new GC (originalImage);
-		gc.fillRectangle (0, 0, width, height);
-		gc.drawLine (0, 0, width, height);
-		gc.drawLine (0, height, width, 0);
-		gc.drawText ("Default Image", 10, 10);
-		gc.dispose ();
-	}
-	final Image image = originalImage;
-	final Point origin = new Point (0, 0);
-	final Canvas canvas = new Canvas (shell, SWT.NO_BACKGROUND |
-			SWT.NO_REDRAW_RESIZE | SWT.V_SCROLL | SWT.H_SCROLL);
-	final ScrollBar hBar = canvas.getHorizontalBar ();
-	hBar.addListener (SWT.Selection, new Listener () {
-		public void handleEvent (Event e) {
-			int hSelection = hBar.getSelection ();
-			int destX = -hSelection - origin.x;
-			Rectangle rect = image.getBounds ();
-			canvas.scroll (destX, 0, 0, 0, rect.width, rect.height, false);
-			origin.x = -hSelection;
-		}
-	});
-	final ScrollBar vBar = canvas.getVerticalBar ();
-	vBar.addListener (SWT.Selection, new Listener () {
-		public void handleEvent (Event e) {
-			int vSelection = vBar.getSelection ();
-			int destY = -vSelection - origin.y;
-			Rectangle rect = image.getBounds ();
-			canvas.scroll (0, destY, 0, 0, rect.width, rect.height, false);
-			origin.y = -vSelection;
-		}
-	});
-	canvas.addListener (SWT.Resize,  new Listener () {
-		public void handleEvent (Event e) {
-			Rectangle rect = image.getBounds ();
-			Rectangle client = canvas.getClientArea ();
-			hBar.setMaximum (rect.width);
-			vBar.setMaximum (rect.height);
-			hBar.setThumb (Math.min (rect.width, client.width));
-			vBar.setThumb (Math.min (rect.height, client.height));
-			int hPage = rect.width - client.width;
-			int vPage = rect.height - client.height;
-			int hSelection = hBar.getSelection ();
-			int vSelection = vBar.getSelection ();
-			if (hSelection >= hPage) {
-				if (hPage <= 0) hSelection = 0;
-				origin.x = -hSelection;
-			}
-			if (vSelection >= vPage) {
-				if (vPage <= 0) vSelection = 0;
-				origin.y = -vSelection;
-			}
-			canvas.redraw ();
-		}
-	});
-	canvas.addListener (SWT.Paint, new Listener () {
-		public void handleEvent (Event e) {
-			GC gc = e.gc;
-			gc.drawImage (image, origin.x, origin.y);
-			Rectangle rect = image.getBounds ();
-			Rectangle client = canvas.getClientArea ();
-			int marginWidth = client.width - rect.width;
-			if (marginWidth > 0) {
-				gc.fillRectangle (rect.width, 0, marginWidth, client.height);
-			}
-			int marginHeight = client.height - rect.height;
-			if (marginHeight > 0) {
-				gc.fillRectangle (0, rect.height, client.width, marginHeight);
-			}
-		}
-	});
-	shell.setSize (200, 150);
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	originalImage.dispose();
-	display.dispose ();
-}
-
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet49.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet49.java
deleted file mode 100644
index b66a128..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet49.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * ToolBar example snippet: create tool bar (wrap on resize)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet49 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	final Shell shell = new Shell (display);
-	final ToolBar toolBar = new ToolBar (shell, SWT.WRAP);
-	for (int i=0; i<12; i++) {
-		ToolItem item = new ToolItem (toolBar, SWT.PUSH);
-		item.setText ("Item " + i);
-	}
-	shell.addListener (SWT.Resize, new Listener () {
-		public void handleEvent (Event e) {
-			Rectangle rect = shell.getClientArea ();
-			Point size = toolBar.computeSize (rect.width, SWT.DEFAULT);
-			toolBar.setSize (size);
-		}
-	});
-	toolBar.pack ();
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet5.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet5.java
deleted file mode 100644
index e3ea978..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet5.java
+++ /dev/null
@@ -1,60 +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.swt.snippets;
-
-/*
- * ScrolledComposite example snippet: scroll a control in a scrolled composite
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.custom.*;
-
-public class Snippet5 {
-
-public static void main (String [] args) 
-{
-    Display display = new Display ();
-    Shell shell = new Shell (display);
-    shell.setLayout(new FillLayout());
-
-    // this button is always 400 x 400. Scrollbars appear if the window is resized to be
-    // too small to show part of the button
-    ScrolledComposite c1 = new ScrolledComposite(shell, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
-    Button b1 = new Button(c1, SWT.PUSH);
-    b1.setText("fixed size button");
-    b1.setSize(400, 400);
-    c1.setContent(b1);
-
-    // this button has a minimum size of 400 x 400. If the window is resized to be big
-    // enough to show more than 400 x 400, the button will grow in size. If the window
-    // is made too small to show 400 x 400, scrollbars will appear.
-    ScrolledComposite c2 = new ScrolledComposite(shell, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
-    Button b2 = new Button(c2, SWT.PUSH);
-    b2.setText("expanding button");
-    c2.setContent(b2);
-    c2.setExpandHorizontal(true);
-    c2.setExpandVertical(true);
-    c2.setMinWidth(400);
-    c2.setMinHeight(400);
-
-    shell.setSize(600, 300);
-    shell.open ();
-    while (!shell.isDisposed ()) {
-        if (!display.readAndDispatch ()) display.sleep ();
-    }
-    display.dispose ();
-}
-
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet50.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet50.java
deleted file mode 100644
index 786d299..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet50.java
+++ /dev/null
@@ -1,38 +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.swt.snippets;
- 
-/*
- * Shell example snippet: create a dialog shell
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.widgets.*;
-
-public class Snippet50 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setText ("Shell");
-	shell.setSize (200, 200);
-	shell.open ();
-	Shell dialog = new Shell (shell);
-	dialog.setText ("Dialog");
-	dialog.setSize (200, 200);
-	dialog.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet51.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet51.java
deleted file mode 100644
index 301bd74..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet51.java
+++ /dev/null
@@ -1,41 +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.swt.snippets;
-
-/*
- * Table example snippet: scroll a table (set the top index)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet51 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	Table table = new Table (shell, SWT.BORDER | SWT.MULTI);
-	table.setSize (200, 200);
-	for (int i=0; i<128; i++) {
-		TableItem item = new TableItem (table, SWT.NONE);
-		item.setText ("Item " + i);
-	}
-	table.setTopIndex (95);
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet52.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet52.java
deleted file mode 100644
index 3442460..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet52.java
+++ /dev/null
@@ -1,41 +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.swt.snippets;
-
-/*
- * Table example snippet: select an index (select and scroll)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet52 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	Table table = new Table (shell, SWT.BORDER | SWT.MULTI);
-	table.setSize (200, 200);
-	for (int i=0; i<128; i++) {
-		TableItem item = new TableItem (table, SWT.NONE);
-		item.setText ("Item " + i);
-	}
-	table.setSelection (95);
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet53.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet53.java
deleted file mode 100644
index 26cae45..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet53.java
+++ /dev/null
@@ -1,49 +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.swt.snippets;
- 
-/*
- * Table example snippet: remove selected items
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet53 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	final Table table = new Table (shell, SWT.BORDER | SWT.MULTI);
-	table.setSize (200, 200);
-	for (int i=0; i<128; i++) {
-		TableItem item = new TableItem (table, SWT.NONE);
-		item.setText ("Item " + i);
-	}
-	Menu menu = new Menu (shell, SWT.POP_UP);
-	table.setMenu (menu);
-	MenuItem item = new MenuItem (menu, SWT.PUSH);
-	item.setText ("Delete Selection");
-	item.addListener (SWT.Selection, new Listener () {
-		public void handleEvent (Event event) {
-			table.remove (table.getSelectionIndices ());
-		}
-	});
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet54.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet54.java
deleted file mode 100644
index 910b3a4..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet54.java
+++ /dev/null
@@ -1,41 +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.swt.snippets;
- 
-/*
- * Sash example snippet: create a sash (allow it to be moved)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet54 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	final Sash sash = new Sash (shell, SWT.BORDER | SWT.VERTICAL);
-	sash.setBounds (10, 10, 32, 100);
-	sash.addListener (SWT.Selection, new Listener () {
-		public void handleEvent (Event e) {
-			sash.setBounds (e.x, e.y, e.width, e.height);
-		}
-	});
-	shell.open ();
-	sash.setFocus ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet55.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet55.java
deleted file mode 100644
index 0e6a83f..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet55.java
+++ /dev/null
@@ -1,43 +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.swt.snippets;
- 
-/*
- * Text example snippet: resize a text control (show about 10 characters)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet55 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	Text text = new Text (shell, SWT.BORDER);
-	int columns = 10;
-	GC gc = new GC (text);
-	FontMetrics fm = gc.getFontMetrics ();
-	int width = columns * fm.getAverageCharWidth ();
-	int height = fm.getHeight ();
-	gc.dispose ();
-	text.setSize (text.computeSize (width, height));
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet56.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet56.java
deleted file mode 100644
index 9eeabb8..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet56.java
+++ /dev/null
@@ -1,50 +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.swt.snippets;
-
-/*
- * ProgressBar example snippet: update a progress bar (from another thread)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet56 {
-
-	public static void main(String[] args) {
-		final Display display = new Display();
-		Shell shell = new Shell(display);
-		final ProgressBar bar = new ProgressBar(shell, SWT.SMOOTH);
-		bar.setBounds(10, 10, 200, 32);
-		shell.open();
-		final int maximum = bar.getMaximum();
-		new Thread() {
-			public void run() {
-				for (final int[] i = new int[1]; i[0] <= maximum; i[0]++) {
-				try {Thread.sleep (100);} catch (Throwable th) {}
-					if (display.isDisposed()) return;
-					display.asyncExec(new Runnable() {
-						public void run() {
-						if (bar.isDisposed ()) return;
-							bar.setSelection(i[0]);
-						}
-					});
-				}
-			}
-		}.start();
-		while (!shell.isDisposed()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-		}
-		display.dispose();
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet57.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet57.java
deleted file mode 100644
index 84295f6..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet57.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * ProgressBar example snippet: update a progress bar (from the UI thread)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet57 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	ProgressBar bar = new ProgressBar (shell, SWT.SMOOTH);
-	bar.setBounds (10, 10, 200, 32);
-	shell.open ();
-	for (int i=0; i<=bar.getMaximum (); i++) {
-		try {Thread.sleep (100);} catch (Throwable th) {}
-		bar.setSelection (i);
-	}
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet58.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet58.java
deleted file mode 100644
index a914414..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet58.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * ToolBar example snippet: place a combo box in a tool bar
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet58 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	ToolBar bar = new ToolBar (shell, SWT.BORDER);
-	for (int i=0; i<4; i++) {
-		ToolItem item = new ToolItem (bar, 0);
-		item.setText ("Item " + i);
-	}
-	ToolItem sep = new ToolItem (bar, SWT.SEPARATOR);
-	int start = bar.getItemCount ();
-	for (int i=start; i<start+4; i++) {
-		ToolItem item = new ToolItem (bar, 0);
-		item.setText ("Item " + i);
-	}
-	Combo combo = new Combo (bar, SWT.READ_ONLY);
-	for (int i=0; i<4; i++) {
-		combo.add ("Item " + i);
-	}
-	combo.pack ();
-	sep.setWidth (combo.getSize ().x);
-	sep.setControl (combo);
-	bar.pack ();
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet59.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet59.java
deleted file mode 100644
index 978dacd..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet59.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * List example snippet: print selected items in a list
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet59 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	final List list = new List (shell, SWT.BORDER | SWT.MULTI | SWT.V_SCROLL);
-	for (int i=0; i<128; i++) list.add ("Item " + i);
-	list.setBounds (0, 0, 100, 100);
-	list.addListener (SWT.Selection, new Listener () {
-		public void handleEvent (Event e) {
-			String string = "";
-			int [] selection = list.getSelectionIndices ();
-			for (int i=0; i<selection.length; i++) string += selection [i] + " ";
-			System.out.println ("Selection={" + string + "}");
-		}
-	});
-	list.addListener (SWT.DefaultSelection, new Listener () {
-		public void handleEvent (Event e) {
-			String string = "";
-			int [] selection = list.getSelectionIndices ();
-			for (int i=0; i<selection.length; i++) string += selection [i] + " ";
-			System.out.println ("DefaultSelection={" + string + "}");
-		}
-	});
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet6.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet6.java
deleted file mode 100644
index 5332477..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet6.java
+++ /dev/null
@@ -1,61 +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.swt.snippets;
-
-/*
- * GridLayout example snippet: insert widgets into a grid layout
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.1
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet6 {
-
-public static void main (String [] args) {
-    Display display = new Display ();
-    final Shell shell = new Shell (display);
-    shell.setLayout(new GridLayout());
-    final Composite c = new Composite(shell, SWT.NONE);
-    GridLayout layout = new GridLayout();
-    layout.numColumns = 3;
-    c.setLayout(layout);
-    for (int i = 0; i < 10; i++) {
-        Button b = new Button(c, SWT.PUSH);
-        b.setText("Button "+i);
-    }
-
-    Button b = new Button(shell, SWT.PUSH);
-    b.setText("add a new button at row 2 column 1");
-    final int[] index = new int[1];
-    b.addListener(SWT.Selection, new Listener() {
-        public void handleEvent(Event e) {
-            Button s = new Button(c, SWT.PUSH);
-            s.setText("Special "+index[0]);
-            index[0]++;
-            Control[] children = c.getChildren();
-            s.moveAbove(children[3]);
-            shell.layout(new Control[] {s});
-        }
-    });
-
-    shell.open ();
-    while (!shell.isDisposed ()) {
-        if (!display.readAndDispatch ()) display.sleep ();
-    }
-    display.dispose ();
-}
-
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet60.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet60.java
deleted file mode 100644
index 92bce12..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet60.java
+++ /dev/null
@@ -1,43 +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.swt.snippets;
-
-/*
- * Display example snippet: create two one shot timers (5000 ms, 2000 ms)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.widgets.*;
-
-public class Snippet60 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setSize (200, 200);
-	shell.open ();
-	display.timerExec (5000, new Runnable () {
-		public void run () {
-			System.out.println ("5000");
-		}
-	});
-	display.timerExec (2000, new Runnable () {
-		public void run () {
-			System.out.println ("2000");
-		}
-	});
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet61.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet61.java
deleted file mode 100644
index cc95e6b..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet61.java
+++ /dev/null
@@ -1,76 +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.swt.snippets;
-
-/*
- * Tree example snippet: print selected items in a tree
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet61 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setLayout (new FillLayout ());
-	final Tree tree = new Tree (shell, SWT.BORDER | SWT.MULTI | SWT.V_SCROLL);
-	for (int i=0; i<4; i++) {
-		TreeItem item0 = new TreeItem (tree, 0);
-		item0.setText ("Item " + i);
-		for (int j=0; j<4; j++) {
-			TreeItem item1 = new TreeItem (item0, 0);
-			item1.setText ("SubItem " + i + " " + j);
-			for (int k=0; k<4; k++) {
-				TreeItem item2 = new TreeItem (item1, 0);
-				item2.setText ("SubItem " + i + " " + j + " " + k);
-			}	
-		}
-	}
-	tree.addListener (SWT.Selection, new Listener () {
-		public void handleEvent (Event e) {
-			String string = "";
-			TreeItem [] selection = tree.getSelection ();
-			for (int i=0; i<selection.length; i++) string += selection [i] + " ";
-			System.out.println ("Selection={" + string + "}");
-		}
-	});
-	tree.addListener (SWT.DefaultSelection, new Listener () {
-		public void handleEvent (Event e) {
-			String string = "";
-			TreeItem [] selection = tree.getSelection ();
-			for (int i=0; i<selection.length; i++) string += selection [i] + " ";
-			System.out.println ("DefaultSelection={" + string + "}");
-		}
-	});
-	tree.addListener (SWT.Expand, new Listener () {
-		public void handleEvent (Event e) {
-			System.out.println ("Expand={" + e.item + "}");
-		}
-	});
-	tree.addListener (SWT.Collapse, new Listener () {
-		public void handleEvent (Event e) {
-			System.out.println ("Collapse={" + e.item + "}");
-		}
-	});
-	tree.getItems () [0].setExpanded (true);
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet62.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet62.java
deleted file mode 100644
index 81b9677..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet62.java
+++ /dev/null
@@ -1,66 +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.swt.snippets;
- 
-/*
- * Control example snippet: print mouse state and button (down, move, up)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.1
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet62 {
-
-static String stateMask (int stateMask) {
-	String string = "";
-	if ((stateMask & SWT.CTRL) != 0) string += " CTRL";
-	if ((stateMask & SWT.ALT) != 0) string += " ALT";
-	if ((stateMask & SWT.SHIFT) != 0) string += " SHIFT";
-	if ((stateMask & SWT.COMMAND) != 0) string += " COMMAND";
-	return string;
-}
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	final Shell shell = new Shell (display);
-	Listener listener = new Listener () {
-		public void handleEvent (Event e) {
-			String string = "Unknown";
-			switch (e.type) {
-				case SWT.MouseDown: string = "DOWN"; break;
-				case SWT.MouseMove: string = "MOVE"; break;
-				case SWT.MouseUp: string = "UP"; break;
-			}
-			string +=": button: " + e.button + ", ";
-			string += "stateMask=0x" + Integer.toHexString (e.stateMask) + stateMask (e.stateMask) + ", x=" + e.x + ", y=" + e.y;
-			if ((e.stateMask & SWT.BUTTON1) != 0) string += " BUTTON1";
-			if ((e.stateMask & SWT.BUTTON2) != 0) string += " BUTTON2";
-			if ((e.stateMask & SWT.BUTTON3) != 0) string += " BUTTON3";
-			if ((e.stateMask & SWT.BUTTON4) != 0) string += " BUTTON4";
-			if ((e.stateMask & SWT.BUTTON5) != 0) string += " BUTTON5";
-			System.out.println (string);
-		}
-	};
-	shell.addListener (SWT.MouseDown, listener);
-	shell.addListener (SWT.MouseMove, listener);
-	shell.addListener (SWT.MouseUp, listener);
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet63.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet63.java
deleted file mode 100644
index 9cae1a1..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet63.java
+++ /dev/null
@@ -1,57 +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.swt.snippets;
-
-/*
- * Shell example snippet: create a dialog shell (prompt for a value)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet63 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.pack ();
-	shell.open ();
-	final boolean [] result = new boolean [1];
-	final Shell dialog = new Shell (shell, SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL);
-	dialog.setLayout (new RowLayout ());
-	final Button ok = new Button (dialog, SWT.PUSH);
-	ok.setText ("OK");
-	Button cancel = new Button (dialog, SWT.PUSH);
-	cancel.setText ("Cancel");
-	Listener listener =new Listener () {
-		public void handleEvent (Event event) {
-			result [0] = event.widget == ok;
-			dialog.close ();
-		}
-	};
-	ok.addListener (SWT.Selection, listener);
-	cancel.addListener (SWT.Selection, listener);
-	dialog.pack ();
-	dialog.open ();
-	System.out.println ("Prompt ...");
-	while (!dialog.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	System.out.println ("Result: " + result [0]);
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet64.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet64.java
deleted file mode 100644
index 8a8db13..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet64.java
+++ /dev/null
@@ -1,56 +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.swt.snippets;
- 
-/*
- * Table example snippet: print selected items in a table
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet64 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	final Table table = new Table (shell, SWT.BORDER | SWT.MULTI | SWT.V_SCROLL);
-	for (int i=0; i<16; i++) {
-		TableItem item = new TableItem (table, 0);
-		item.setText ("Item " + i);
-	}
-	table.setBounds (0, 0, 100, 100);
-	table.addListener (SWT.Selection, new Listener () {
-		public void handleEvent (Event e) {
-			String string = "";
-			TableItem [] selection = table.getSelection ();
-			for (int i=0; i<selection.length; i++) string += selection [i] + " ";
-			System.out.println ("Selection={" + string + "}");
-		}
-	});
-	table.addListener (SWT.DefaultSelection, new Listener () {
-		public void handleEvent (Event e) {
-			String string = "";
-			TableItem [] selection = table.getSelection ();
-			for (int i=0; i<selection.length; i++) string += selection [i] + " ";
-			System.out.println ("DefaultSelection={" + string + "}");
-		}
-	});
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet65.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet65.java
deleted file mode 100644
index 320552f..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet65.java
+++ /dev/null
@@ -1,81 +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.swt.snippets;
- 
-/*
- * FormLayout example snippet: create a simple dialog using form layout
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet65 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	final Shell shell = new Shell (display);
-	Label label = new Label (shell, SWT.WRAP);
-	label.setText ("This is a long text string that will wrap when the dialog is resized.");
-	List list = new List (shell, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
-	list.setItems (new String [] {"Item 1", "Item 2"});
-	Button button1 = new Button (shell, SWT.PUSH);
-	button1.setText ("OK");
-	Button button2 = new Button (shell, SWT.PUSH);
-	button2.setText ("Cancel");
-	
-	final int insetX = 4, insetY = 4;
-	FormLayout formLayout = new FormLayout ();
-	formLayout.marginWidth = insetX;
-	formLayout.marginHeight = insetY;
-	shell.setLayout (formLayout);
-	
-	Point size = label.computeSize (SWT.DEFAULT, SWT.DEFAULT);
-	final FormData labelData = new FormData (size.x, SWT.DEFAULT);
-	labelData.left = new FormAttachment (0, 0);
-	labelData.right = new FormAttachment (100, 0);
-	label.setLayoutData (labelData);
-	shell.addListener (SWT.Resize, new Listener () {
-		public void handleEvent (Event e) {
-			Rectangle rect = shell.getClientArea ();
-			labelData.width = rect.width - insetX * 2;
-			shell.layout ();
-		}
-	});
-		
-	FormData button2Data = new FormData ();
-	button2Data.right = new FormAttachment (100, -insetX);
-	button2Data.bottom = new FormAttachment (100, 0);
-	button2.setLayoutData (button2Data);
-	
-	FormData button1Data = new FormData ();
-	button1Data.right = new FormAttachment (button2, -insetX);
-	button1Data.bottom = new FormAttachment (100, 0);
-	button1.setLayoutData (button1Data);
-	
-	FormData listData = new FormData ();
-	listData.left = new FormAttachment (0, 0);
-	listData.right = new FormAttachment (100, 0);
-	listData.top = new FormAttachment (label, insetY);
-	listData.bottom = new FormAttachment (button2, -insetY);
-	list.setLayoutData (listData);
-	
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet66.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet66.java
deleted file mode 100644
index 2328f87..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet66.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * GC example snippet: implement a simple scribble program
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet66 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	final Shell shell = new Shell (display);
-	Listener listener = new Listener () {
-		int lastX = 0, lastY = 0;
-		public void handleEvent (Event event) {
-			switch (event.type) {
-				case SWT.MouseMove:
-					if ((event.stateMask & SWT.BUTTON1) == 0) break;
-					GC gc = new GC (shell);
-					gc.drawLine (lastX, lastY, event.x, event.y);
-					gc.dispose ();
-					//FALL THROUGH
-				case SWT.MouseDown:
-					lastX = event.x;
-					lastY = event.y;
-					break;
-			}
-		}
-	};
-	shell.addListener (SWT.MouseDown, listener);
-	shell.addListener (SWT.MouseMove, listener);
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet67.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet67.java
deleted file mode 100644
index 0214e9d..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet67.java
+++ /dev/null
@@ -1,55 +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.swt.snippets;
-
-/*
- * ToolBar example snippet: place a drop down menu in a tool bar
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet67 {
-
-public static void main (String [] args) {
-	final Display display = new Display ();
-	final Shell shell = new Shell (display);
-	final ToolBar toolBar = new ToolBar (shell, SWT.NONE);
-	final Menu menu = new Menu (shell, SWT.POP_UP);
-	for (int i=0; i<8; i++) {
-		MenuItem item = new MenuItem (menu, SWT.PUSH);
-		item.setText ("Item " + i);
-	}
-	final ToolItem item = new ToolItem (toolBar, SWT.DROP_DOWN);
-	item.addListener (SWT.Selection, new Listener () {
-		public void handleEvent (Event event) {
-			if (event.detail == SWT.ARROW) {
-				Rectangle rect = item.getBounds ();
-				Point pt = new Point (rect.x, rect.y + rect.height);
-				pt = toolBar.toDisplay (pt);
-				menu.setLocation (pt.x, pt.y);
-				menu.setVisible (true);
-			}
-		}
-	});
-	toolBar.pack ();
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	menu.dispose ();
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet68.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet68.java
deleted file mode 100644
index d952b1e..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet68.java
+++ /dev/null
@@ -1,60 +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.swt.snippets;
- 
-/*
- * Display example snippet: stop a repeating timer when a button is pressed
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet68 {
-
-public static void main (String [] args) {
-	final Display display = new Display ();
-	final Color red = display.getSystemColor (SWT.COLOR_RED);
-	final Color blue = display.getSystemColor (SWT.COLOR_BLUE);
-	Shell shell = new Shell (display);
-	shell.setLayout (new RowLayout ());
-	Button button = new Button (shell, SWT.PUSH);
-	button.setText ("Stop Timer");
-	final Label label = new Label (shell, SWT.BORDER);
-	label.setBackground (red);
-	final int time = 500;
-	final Runnable timer = new Runnable () {
-		public void run () {
-			if (label.isDisposed ()) return;
-			Color color = label.getBackground ().equals (red) ? blue : red;
-			label.setBackground (color);
-			display.timerExec (time, this);
-		}
-	};
-	display.timerExec (time, timer);
-	button.addListener (SWT.Selection, new Listener () {
-		public void handleEvent (Event event) {
-			display.timerExec (-1, timer);
-		}
-	});
-	button.pack ();
-	label.setLayoutData (new RowData (button.getSize ()));
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet69.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet69.java
deleted file mode 100644
index 94bf999..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet69.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * FormLayout example snippet: center a label and single line text using a form layout
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet69 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	Label label = new Label (shell, SWT.NONE | SWT.BORDER);
-	label.setText ("Name");
-	Text text = new Text (shell, SWT.NONE);
-
-	FormLayout layout = new FormLayout ();
-	layout.marginWidth = layout.marginHeight = 5;
-	shell.setLayout (layout);
-
-	GC gc = new GC (text);
-	FontMetrics fm = gc.getFontMetrics ();
-	int charWidth = fm.getAverageCharWidth ();
-	int width = text.computeSize (charWidth * 8, SWT.DEFAULT).x;
-	gc.dispose ();
-	FormData data = new FormData (width, SWT.DEFAULT);
-	text.setLayoutData (data);
-	data.left = new FormAttachment (label, 5);
-	data.top = new FormAttachment (label, 0, SWT.CENTER);
-	
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet7.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet7.java
deleted file mode 100644
index e28363e..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet7.java
+++ /dev/null
@@ -1,63 +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.swt.snippets;
-
-/*
- * example snippet: create a table (lazy)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet7 {
-	
-public static void main (String [] args) {
-	final Display display = new Display ();
-	final Image image = new Image (display, 16, 16);
-	GC gc = new GC (image);
-	gc.setBackground (display.getSystemColor (SWT.COLOR_RED));
-	gc.fillRectangle (image.getBounds ());
-	gc.dispose ();
-	final Shell shell = new Shell (display);
-	shell.setText ("Lazy Table");
-	shell.setLayout (new FillLayout ());
-	final Table table = new Table (shell, SWT.BORDER | SWT.MULTI);
-	table.setSize (200, 200);
-	Thread thread = new Thread () {
-		public void run () {
-			for (int i=0; i<20000; i++) {
-				if (table.isDisposed ()) return;
-				final int [] index = new int [] {i};
-				display.syncExec (new Runnable () {
-					public void run () {
-						if (table.isDisposed ()) return;
-						TableItem item = new TableItem (table, SWT.NONE);
-						item.setText ("Table Item " + index [0]);
-						item.setImage (image);
-					}
-				});
-			}
-		}
-	};
-	thread.start ();
-	shell.setSize (200, 200);
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	image.dispose ();
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet70.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet70.java
deleted file mode 100644
index aac2779..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet70.java
+++ /dev/null
@@ -1,67 +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.swt.snippets;
-
-/*
- * GC example snippet: create an icon (in memory)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet70 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Color red = display.getSystemColor (SWT.COLOR_RED);
-	Color white = display.getSystemColor (SWT.COLOR_WHITE);
-	Color black = display.getSystemColor (SWT.COLOR_BLACK);
-	
-	Image image = new Image (display, 20, 20);
-	GC gc = new GC (image);
-	gc.setBackground (red);
-	gc.fillRectangle (5, 5, 10, 10);
-	gc.dispose ();
-	ImageData imageData = image.getImageData ();
-	
-	PaletteData palette = new PaletteData (
-		new RGB [] {
-			new RGB (0, 0, 0),
-			new RGB (0xFF, 0xFF, 0xFF),
-		});
-	ImageData maskData = new ImageData (20, 20, 1, palette);
-	Image mask = new Image (display, maskData);
-	gc = new GC (mask);
-	gc.setBackground (black);
-	gc.fillRectangle (0, 0, 20, 20);
-	gc.setBackground (white);
-	gc.fillRectangle (5, 5, 10, 10);
-	gc.dispose ();
-	maskData = mask.getImageData ();
-	
-	Image icon = new Image (display, imageData, maskData);
-	Shell shell = new Shell (display);
-	Button button = new Button (shell, SWT.PUSH);
-	button.setImage (icon);
-	button.setSize (60, 60);
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	icon.dispose ();
-	image.dispose ();
-	mask.dispose ();
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet71.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet71.java
deleted file mode 100644
index ca0d4fc..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet71.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * FormLayout example snippet: create a simple OK/CANCEL dialog using form layout
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet71 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.pack ();
-	shell.open ();
-	Shell dialog = new Shell (shell, SWT.DIALOG_TRIM);
-	Label label = new Label (dialog, SWT.NONE);
-	label.setText ("Exit the application?");
-	Button okButton = new Button (dialog, SWT.PUSH);
-	okButton.setText ("&OK");
-	Button cancelButton = new Button (dialog, SWT.PUSH);
-	cancelButton.setText ("&Cancel");
-	
-	FormLayout form = new FormLayout ();
-	form.marginWidth = form.marginHeight = 8;
-	dialog.setLayout (form);
-	FormData okData = new FormData ();
-	okData.top = new FormAttachment (label, 8);
-	okButton.setLayoutData (okData);
-	FormData cancelData = new FormData ();
-	cancelData.left = new FormAttachment (okButton, 8);
-	cancelData.top = new FormAttachment (okButton, 0, SWT.TOP);
-	cancelButton.setLayoutData (cancelData);
-	
-	dialog.setDefaultButton (okButton);
-	dialog.pack ();
-	dialog.open ();
-	
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet72.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet72.java
deleted file mode 100644
index 2d6c89a..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet72.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * FileDialog example snippet: prompt for a file name (to save)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet72 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.open ();
-	FileDialog dialog = new FileDialog (shell, SWT.SAVE);
-	dialog.setFilterNames (new String [] {"Batch Files", "All Files (*.*)"});
-	dialog.setFilterExtensions (new String [] {"*.bat", "*.*"}); //Windows wild cards
-	dialog.setFilterPath ("c:\\"); //Windows path
-	dialog.setFileName ("fred.bat");
-	System.out.println ("Save to: " + dialog.open ());
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet73.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet73.java
deleted file mode 100644
index 45d855c..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet73.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.swt.snippets;
-
-/*
- * Menu example snippet: enable menu items dynamically (when menu shown)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet73 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	final Tree tree = new Tree (shell, SWT.BORDER | SWT.MULTI);
-	final Menu menu = new Menu (shell, SWT.POP_UP);
-	tree.setMenu (menu);
-	for (int i=0; i<12; i++) {
-		TreeItem treeItem = new TreeItem (tree, SWT.NONE);
-		treeItem.setText ("Item " + i);
-		MenuItem menuItem = new MenuItem (menu, SWT.PUSH);
-		menuItem.setText (treeItem.getText ());
-	}
-	menu.addListener (SWT.Show, new Listener () {
-		public void handleEvent (Event event) {
-			MenuItem [] menuItems = menu.getItems ();
-			TreeItem [] treeItems = tree.getSelection ();
-			for (int i=0; i<menuItems.length; i++) {
-				String text = menuItems [i].getText ();
-				int index = 0;
-				while (index<treeItems.length) {
-					if (treeItems [index].getText ().equals (text)) break;
-					index++;
-				}
-				menuItems [i].setEnabled (index != treeItems.length);
-			}
-		}
-	});
-	tree.setSize (200, 200);
-	shell.setSize (300, 300);
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet74.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet74.java
deleted file mode 100644
index de8bdb0..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet74.java
+++ /dev/null
@@ -1,35 +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.swt.snippets;
-
-/*
- * Caret example snippet: create a caret
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet74 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	Caret caret = new Caret (shell, SWT.NONE);
-	caret.setBounds (10, 10, 2, 32);
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet75.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet75.java
deleted file mode 100644
index 0c279ce..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet75.java
+++ /dev/null
@@ -1,100 +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.swt.snippets;
-
-/*
- * Composite example snippet: set the tab traversal order of children
- * In this example, composite1 (i.e. c1) tab order is set to: B2, B1, B3, and
- * shell tab order is set to: c1, B7, toolBar1, (c4: no focusable children), c2, L2
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet75 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setLayout (new RowLayout ());
-	
-	Composite c1 = new Composite (shell, SWT.BORDER);
-	c1.setLayout (new RowLayout ());
-	Button b1 = new Button (c1, SWT.PUSH);
-	b1.setText ("B&1");
-	Button r1 = new Button (c1, SWT.RADIO);
-	r1.setText ("R1");
-	Button r2 = new Button (c1, SWT.RADIO);
-	r2.setText ("R&2");
-	Button r3 = new Button (c1, SWT.RADIO);
-	r3.setText ("R3");
-	Button b2 = new Button (c1, SWT.PUSH);
-	b2.setText ("B2");
-	List l1 = new List (c1, SWT.SINGLE | SWT.BORDER);
-	l1.setItems (new String [] {"L1"});
-	Button b3 = new Button (c1, SWT.PUSH);
-	b3.setText ("B&3");
-	Button b4 = new Button (c1, SWT.PUSH);
-	b4.setText ("B&4");
-	
-	Composite c2 = new Composite (shell, SWT.BORDER);
-	c2.setLayout (new RowLayout ());
-	Button b5 = new Button (c2, SWT.PUSH);
-	b5.setText ("B&5");
-	Button b6 = new Button (c2, SWT.PUSH);
-	b6.setText ("B&6");
-	
-	List l2 = new List (shell, SWT.SINGLE | SWT.BORDER);
-	l2.setItems (new String [] {"L2"});
-	
-	ToolBar tb1 = new ToolBar (shell, SWT.FLAT | SWT.BORDER);
-	ToolItem i1 = new ToolItem (tb1, SWT.RADIO);
-	i1.setText ("I1");
-	ToolItem i2 = new ToolItem (tb1, SWT.RADIO);
-	i2.setText ("I2");
-	Combo combo1 = new Combo (tb1, SWT.READ_ONLY | SWT.BORDER);
-	combo1.setItems (new String [] {"C1"});
-	combo1.setText ("C1");
-	combo1.pack ();
-	ToolItem i3 = new ToolItem (tb1, SWT.SEPARATOR);
-	i3.setWidth (combo1.getSize ().x);
-	i3.setControl (combo1);
-	ToolItem i4 = new ToolItem (tb1, SWT.PUSH);
-	i4.setText ("I&4");
-	ToolItem i5 = new ToolItem (tb1, SWT.CHECK);
-	i5.setText ("I5");
-	
-	Button b7 = new Button (shell, SWT.PUSH);
-	b7.setText ("B&7");
-	
-	Composite c4 = new Composite (shell, SWT.BORDER);
-	Composite c5 = new Composite (c4, SWT.BORDER);
-	c5.setLayout(new FillLayout());
-	new Label(c5, SWT.NONE).setText("No");
-	c5.pack();
-
-	Control [] tabList1 = new Control [] {b2, b1, b3};
-	c1.setTabList (tabList1);
-	Control [] tabList2 = new Control [] {c1, b7, tb1, c4, c2, l2};
-	shell.setTabList (tabList2);
-
-	shell.pack ();
-	shell.open ();
-	
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet76.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet76.java
deleted file mode 100644
index e81783b..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet76.java
+++ /dev/null
@@ -1,43 +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.swt.snippets;
-
-/*
- * TabFolder example snippet: create a tab folder (six pages)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet76 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	final Shell shell = new Shell (display);
-	final TabFolder tabFolder = new TabFolder (shell, SWT.BORDER);
-	for (int i=0; i<6; i++) {
-		TabItem item = new TabItem (tabFolder, SWT.NONE);
-		item.setText ("TabItem " + i);
-		Button button = new Button (tabFolder, SWT.PUSH);
-		button.setText ("Page " + i);
-		item.setControl (button);
-	}
-	tabFolder.pack ();
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet77.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet77.java
deleted file mode 100644
index a9b276a..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet77.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Table example snippet: resize columns as table resizes
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet77 {
-
-public static void main(String[] args) {
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setLayout(new FillLayout());
-		
-	final Composite comp = new Composite(shell, SWT.NONE);
-	final Table table = new Table(comp, SWT.BORDER | SWT.V_SCROLL);
-	table.setHeaderVisible(true);
-	table.setLinesVisible(true);
-	final TableColumn column1 = new TableColumn(table, SWT.NONE);
-	column1.setText("Column 1");
-	final TableColumn column2 = new TableColumn(table, SWT.NONE);
-	column2.setText("Column 2");
-	for (int i = 0; i < 10; i++) {
-		TableItem item = new TableItem(table, SWT.NONE);
-		item.setText(new String[] {"item 0" + i, "item 1"+i});
-	}
-	comp.addControlListener(new ControlAdapter() {
-		public void controlResized(ControlEvent e) {
-			Rectangle area = comp.getClientArea();
-			Point size = table.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-			ScrollBar vBar = table.getVerticalBar();
-			int width = area.width - table.computeTrim(0,0,0,0).width - vBar.getSize().x;
-			if (size.y > area.height + table.getHeaderHeight()) {
-				// Subtract the scrollbar width from the total column width
-				// if a vertical scrollbar will be required
-				Point vBarSize = vBar.getSize();
-				width -= vBarSize.x;
-			}
-			Point oldSize = table.getSize();
-			if (oldSize.x > area.width) {
-				// table is getting smaller so make the columns 
-				// smaller first and then resize the table to
-				// match the client area width
-				column1.setWidth(width/3);
-				column2.setWidth(width - column1.getWidth());
-				table.setSize(area.width, area.height);
-			} else {
-				// table is getting bigger so make the table 
-				// bigger first and then make the columns wider
-				// to match the client area width
-				table.setSize(area.width, area.height);
-				column1.setWidth(width/3);
-				column2.setWidth(width - column1.getWidth());
-			}
-		}
-	});
-		
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet78.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet78.java
deleted file mode 100644
index e81da90..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet78.java
+++ /dev/null
@@ -1,75 +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.swt.snippets;
-
-/*
- * Drag and Drop example snippet: drag text between two labels
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.dnd.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet78 {
-
-public static void main (String [] args) {
-	
-	Display display = new Display ();
-	final Shell shell = new Shell (display);
-	shell.setLayout(new FillLayout());
-	final Label label1 = new Label (shell, SWT.BORDER);
-	label1.setText ("TEXT");
-	final Label label2 = new Label (shell, SWT.BORDER);
-	setDragDrop (label1);
-	setDragDrop (label2);
-	shell.setSize (200, 200);
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-public static void setDragDrop (final Label label) {
-	
-	Transfer[] types = new Transfer[] {TextTransfer.getInstance()};
-	int operations = DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_LINK;
-	
-	final DragSource source = new DragSource (label, operations);
-	source.setTransfer(types);
-	source.addDragListener (new DragSourceListener () {
-		public void dragStart(DragSourceEvent event) {
-			event.doit = (label.getText ().length () != 0);
-		}
-		public void dragSetData (DragSourceEvent event) {
-			event.data = label.getText ();
-		}
-		public void dragFinished(DragSourceEvent event) {
-			if (event.detail == DND.DROP_MOVE)
-				label.setText ("");
-		}
-	});
-
-	DropTarget target = new DropTarget(label, operations);
-	target.setTransfer(types);
-	target.addDropListener (new DropTargetAdapter() {
-		public void drop(DropTargetEvent event) {
-			if (event.data == null) {
-				event.detail = DND.DROP_NONE;
-				return;
-			}
-			label.setText ((String) event.data);
-		}
-	});
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet79.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet79.java
deleted file mode 100644
index 945d35f..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet79.java
+++ /dev/null
@@ -1,193 +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.swt.snippets;
-
-/*
- * Drag and Drop example snippet: define my own data transfer type
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.1
- */
-import java.io.*;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.dnd.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet79 {
-
-/* The data being transferred is an <bold>array of type MyType</bold> where MyType is define as: */
-static class MyType {
-	String fileName;
-	long fileLength;
-	long lastModified;
-}
-
-static class MyTransfer extends ByteArrayTransfer {
-
-	private static final String MYTYPENAME = "name_for_my_type";
-	private static final int MYTYPEID = registerType (MYTYPENAME);
-	private static MyTransfer _instance = new MyTransfer ();
-
-public static MyTransfer getInstance () {
-	return _instance;
-}
-
-public void javaToNative (Object object, TransferData transferData) {
-	if (!checkMyType(object) || !isSupportedType (transferData)) {
-		DND.error(DND.ERROR_INVALID_DATA);
-	}
-	MyType [] myTypes = (MyType []) object;
-	try {
-		// write data to a byte array and then ask super to convert to pMedium
-		ByteArrayOutputStream out = new ByteArrayOutputStream ();
-		DataOutputStream writeOut = new DataOutputStream (out);
-		for (int i = 0, length = myTypes.length; i < length; i++) {
-			byte [] buffer = myTypes [i].fileName.getBytes ();
-			writeOut.writeInt (buffer.length);
-			writeOut.write (buffer);
-			writeOut.writeLong (myTypes [i].fileLength);
-			writeOut.writeLong (myTypes [i].lastModified);
-		}
-		byte [] buffer = out.toByteArray ();
-		writeOut.close ();
-		super.javaToNative (buffer, transferData);
-	}
-	catch (IOException e) {}
-}
-
-public Object nativeToJava (TransferData transferData) {
-	if (isSupportedType (transferData)) {
-		byte [] buffer = (byte []) super.nativeToJava (transferData);
-		if (buffer == null) return null;
-
-		MyType [] myData = new MyType [0];
-		try {
-			ByteArrayInputStream in = new ByteArrayInputStream (buffer);
-			DataInputStream readIn = new DataInputStream (in);
-			while (readIn.available () > 20) {
-				MyType datum = new MyType ();
-				int size = readIn.readInt ();
-				byte [] name = new byte [size];
-				readIn.read (name);
-				datum.fileName = new String (name);
-				datum.fileLength = readIn.readLong ();
-				datum.lastModified = readIn.readLong ();
-				MyType [] newMyData = new MyType [myData.length + 1];
-				System.arraycopy (myData, 0, newMyData, 0, myData.length);
-				newMyData [myData.length] = datum;
-				myData = newMyData;
-			}
-			readIn.close ();
-		}
-		catch (IOException ex) {
-			return null;
-		}
-		return myData;
-	}
-
-	return null;
-}
-
-protected String [] getTypeNames () {
-	return new String [] {MYTYPENAME};
-}
-
-protected int [] getTypeIds () {
-	return new int [] {MYTYPEID};
-}
-
-boolean checkMyType(Object object) {
-	if (object == null || 
-		!(object instanceof MyType[]) || 
-		((MyType[])object).length == 0) {
-		return false;
-	}
-	MyType[] myTypes = (MyType[])object;
-	for (int i = 0; i < myTypes.length; i++) {
-		if (myTypes[i] == null || 
-			myTypes[i].fileName == null || 
-			myTypes[i].fileName.length() == 0) {
-			return false;
-		}
-	}
-	return true;
-}
-
-protected boolean validate(Object object) {
-	return checkMyType(object);
-}
-}
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setLayout (new FillLayout ());
-	final Label label1 = new Label (shell, SWT.BORDER | SWT.WRAP);
-	label1.setText ("Drag Source for MyData[]");
-	final Label label2 = new Label (shell, SWT.BORDER | SWT.WRAP);
-	label2.setText ("Drop Target for MyData[]");
-
-	DragSource source = new DragSource (label1, DND.DROP_COPY);
-	source.setTransfer (new Transfer [] {MyTransfer.getInstance ()});
-	source.addDragListener (new DragSourceAdapter () {
-		public void dragSetData (DragSourceEvent event) {
-			MyType myType1 = new MyType ();
-			myType1.fileName = "C:\\abc.txt";
-			myType1.fileLength = 1000;
-			myType1.lastModified = 12312313;
-			MyType myType2 = new MyType ();
-			myType2.fileName = "C:\\xyz.txt";
-			myType2.fileLength = 500;
-			myType2.lastModified = 12312323;
-			event.data = new MyType [] {myType1, myType2};
-		}
-	});
-	DropTarget target = new DropTarget (label2, DND.DROP_COPY | DND.DROP_DEFAULT);
-	target.setTransfer (new Transfer [] {MyTransfer.getInstance ()});
-	target.addDropListener (new DropTargetAdapter () {
-		public void dragEnter (DropTargetEvent event) {
-			if (event.detail == DND.DROP_DEFAULT) {
-				event.detail = DND.DROP_COPY;
-			}
-		}
-
-		public void dragOperationChanged (DropTargetEvent event) {
-			if (event.detail == DND.DROP_DEFAULT) {
-				event.detail = DND.DROP_COPY;
-			}
-		}
-
-		public void drop (DropTargetEvent event) {
-			if (event.data != null) {
-				MyType [] myTypes = (MyType []) event.data;
-				if (myTypes != null) {
-					String string = "";
-					for (int i = 0; i < myTypes.length; i++) {
-						string += myTypes [i].fileName + " ";
-					}
-					label2.setText (string);
-				}
-			}
-		}
-
-	});
-	shell.setSize (200, 200);
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet8.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet8.java
deleted file mode 100644
index 0912b79..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet8.java
+++ /dev/null
@@ -1,72 +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.swt.snippets;
- 
-/*
- * Tree example snippet: create a tree (lazy)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-import java.io.*;
-
-public class Snippet8 {
-	
-public static void main (String [] args) {
-	final Display display = new Display ();
-	final Shell shell = new Shell (display);
-	shell.setText ("Lazy Tree");
-	shell.setLayout (new FillLayout ());
-	final Tree tree = new Tree (shell, SWT.BORDER);
-	File [] roots = File.listRoots ();
-	for (int i=0; i<roots.length; i++) {
-		TreeItem root = new TreeItem (tree, 0);
-		root.setText (roots [i].toString ());
-		root.setData (roots [i]);
-		new TreeItem (root, 0);
-	}
-	tree.addListener (SWT.Expand, new Listener () {
-		public void handleEvent (final Event event) {
-			final TreeItem root = (TreeItem) event.item;
-			TreeItem [] items = root.getItems ();
-			for (int i= 0; i<items.length; i++) {
-				if (items [i].getData () != null) return;
-				items [i].dispose ();
-			}
-			File file = (File) root.getData ();
-			File [] files = file.listFiles ();
-			if (files == null) return;
-			for (int i= 0; i<files.length; i++) {
-				TreeItem item = new TreeItem (root, 0);
-				item.setText (files [i].getName ());
-				item.setData (files [i]);
-				if (files [i].isDirectory()) {
-					new TreeItem (item, 0);
-				}
-			}
-		}
-	});
-	Point size = tree.computeSize (300, SWT.DEFAULT);
-	int width = Math.max (300, size.x);
-	int height = Math.max (300, size.y);
-	shell.setSize (shell.computeSize (width, height));
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet80.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet80.java
deleted file mode 100644
index 6505582..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet80.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.swt.snippets;
-
-/*
- * Tree example snippet: limit selection to items that match a pattern
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet80 {
-	
-public static void main(String[] args) {
-	final Display display = new Display();
-	final Shell shell = new Shell(display);
-	shell.setLayout(new FillLayout());
-	final Tree tree = new Tree(shell, SWT.BORDER | SWT.MULTI);
-	for (int i = 0; i < 2; i++) {
-		TreeItem item = new TreeItem(tree, SWT.NONE);
-		item.setText("item " + i);
-		for (int j = 0; j < 2; j++) {
-			TreeItem subItem = new TreeItem(item, SWT.NONE);
-			subItem.setText("item " + j);
-			for (int k = 0; k < 2; k++) {
-				TreeItem subsubItem = new TreeItem(subItem, SWT.NONE);
-				subsubItem.setText("item " + k);
-			}
-		}
-	}
-	
-	tree.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			TreeItem[] selection = tree.getSelection();
-			TreeItem[] revisedSelection = new TreeItem[0];
-			for (int i = 0; i < selection.length; i++) {
-				String text = selection[i].getText();
-				if (text.indexOf("1") > 0) {
-					TreeItem[] newSelection = new TreeItem[revisedSelection.length + 1];
-					System.arraycopy(revisedSelection, 0, newSelection, 0, revisedSelection.length);
-					newSelection[revisedSelection.length] = selection[i];
-					revisedSelection = newSelection;
-				}
-			}
-			tree.setSelection(revisedSelection);
-		}
-	});
-
-	shell.setSize(300, 300);
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet81.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet81.java
deleted file mode 100644
index de57edd..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet81.java
+++ /dev/null
@@ -1,157 +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.swt.snippets;
- 
-/*
- * OLE and ActiveX example snippet: browse the typelibinfo for a program id (win32 only)
- * NOTE: This snippet uses internal SWT packages that are
- * subject to change without notice.
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.internal.ole.win32.*;
-import org.eclipse.swt.ole.win32.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet81 {
-	
-public static void main(String[] args) {
-	
-	if (args.length == 0) {
-		System.out.println("Usage: java Main <program id>");
-		return;
-	}
-
-	String progID = args[0];
-	
-	Display display = new Display();
-	Shell shell = new Shell(display);
-
-	OleFrame frame = new OleFrame(shell, SWT.NONE);
-	OleControlSite site = null;
-	OleAutomation auto = null;
-	try {
-		site = new OleControlSite(frame, SWT.NONE, progID);	
-		auto = new OleAutomation(site);
-	} catch (SWTException ex) {
-		System.out.println("Unable to open type library for "+progID);
-		return;
-	}
-		
-	printTypeInfo(auto);
-	
-	auto.dispose();
-	shell.dispose();
-	display.dispose();
-
-}
-
-private static void printTypeInfo(OleAutomation auto) {
-	TYPEATTR typeattr = auto.getTypeInfoAttributes();
-	if (typeattr != null) {		
-		if (typeattr.cFuncs > 0) System.out.println("Functions :\n");
-		for (int i = 0; i < typeattr.cFuncs; i++) {			
-			OleFunctionDescription data = auto.getFunctionDescription(i);
-			String argList = "";
-			int firstOptionalArgIndex = data.args.length - data.optionalArgCount;
-			for (int j = 0; j < data.args.length; j++) {
-				argList += "[";
-				if (j >= firstOptionalArgIndex) argList += "optional, ";
-				argList += getDirection(data.args[j].flags)+"] "+getTypeName(data.args[j].type)+" "+data.args[j].name;
-				if ( j < data.args.length - 1) argList += ", ";
-			}			
-			System.out.println(getInvokeKind(data.invokeKind)+" (id = "+data.id+") : "
-					        +"\n\tSignature   : "+getTypeName(data.returnType)+" "+data.name+"("+argList+")"
-			                    +"\n\tDescription : "+data.documentation
-			                    +"\n\tHelp File   : "+data.helpFile+"\n");
-		}
-		
-		if (typeattr.cVars > 0) System.out.println("\n\nVariables  :\n");
-		for (int i = 0; i < typeattr.cVars; i++) {
-			OlePropertyDescription data = auto.getPropertyDescription(i);
-			System.out.println("PROPERTY (id = "+data.id+") :"
-			                    +"\n\tName : "+data.name
-			                    +"\n\tType : "+getTypeName(data.type)+"\n");
-		}
-	}
-}
-private static String getTypeName(int type) {
-	switch (type) {
-		case OLE.VT_BOOL : return "boolean";
-		case OLE.VT_R4 : return "float";
-		case OLE.VT_R8 : return "double";
-		case OLE.VT_I4 : return "int";
-		case OLE.VT_DISPATCH : return "IDispatch";
-		case OLE.VT_UNKNOWN : return "IUnknown";
-		case OLE.VT_I2 : return "short";
-		case OLE.VT_BSTR : return "String";
-		case OLE.VT_VARIANT : return "Variant";
-		case OLE.VT_CY : return "Currency";
-		case OLE.VT_DATE : return "Date";
-		case OLE.VT_UI1 : return "unsigned char";
-		case OLE.VT_UI4 : return "unsigned int";
-		case OLE.VT_USERDEFINED : return "UserDefined";
-		case OLE.VT_HRESULT : return "int";
-		case OLE.VT_VOID : return "void";
-		
-		case OLE.VT_BYREF | OLE.VT_BOOL : return "boolean *";
-		case OLE.VT_BYREF | OLE.VT_R4 : return "float *";
-		case OLE.VT_BYREF | OLE.VT_R8 : return "double *";
-		case OLE.VT_BYREF | OLE.VT_I4 : return "int *";
-		case OLE.VT_BYREF | OLE.VT_DISPATCH : return "IDispatch *";
-		case OLE.VT_BYREF | OLE.VT_UNKNOWN : return "IUnknown *";
-		case OLE.VT_BYREF | OLE.VT_I2 : return "short *";
-		case OLE.VT_BYREF | OLE.VT_BSTR : return "String *";
-		case OLE.VT_BYREF | OLE.VT_VARIANT : return "Variant *";
-		case OLE.VT_BYREF | OLE.VT_CY : return "Currency *";
-		case OLE.VT_BYREF | OLE.VT_DATE : return "Date *";
-		case OLE.VT_BYREF | OLE.VT_UI1 : return "unsigned char *";
-		case OLE.VT_BYREF | OLE.VT_UI4 : return "unsigned int *";
-		case OLE.VT_BYREF | OLE.VT_USERDEFINED : return "UserDefined *";
-	}
-	return "unknown "+ type;	
-}
-private static String getDirection(int direction){
-	String dirString = "";
-	boolean comma = false;
-	if ((direction & OLE.IDLFLAG_FIN) != 0) {
-		dirString += "in";
-		comma = true;
-	}
-	if ((direction & OLE.IDLFLAG_FOUT) != 0){
-		if (comma) dirString += ", ";
-		dirString += "out";
-		comma = true;
-	}
-	if ((direction & OLE.IDLFLAG_FLCID) != 0){
-		if (comma) dirString += ", ";
-		dirString += "lcid";
-		comma = true;
-	}
-	if ((direction & OLE.IDLFLAG_FRETVAL) != 0){
-		if (comma) dirString += ", "; 
-		dirString += "retval";
-	}
-	
-	return dirString;
-}
-private static String getInvokeKind(int invKind) {
-	switch (invKind) {
-		case OLE.INVOKE_FUNC : return "METHOD";
-		case OLE.INVOKE_PROPERTYGET : return "PROPERTY GET";
-		case OLE.INVOKE_PROPERTYPUT : return "PROPERTY PUT";
-		case OLE.INVOKE_PROPERTYPUTREF : return "PROPERTY PUT BY REF";
-	}
-	return "unknown "+invKind;
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet82.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet82.java
deleted file mode 100644
index 2bd7232..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet82.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.swt.snippets;
- 
-/*
- * CTabFolder example snippet: prevent an item from closing
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- * 
- * @since 3.0
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet82 {
-	
-public static void main(String[] args) {
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setLayout(new FillLayout());
-	CTabFolder folder = new CTabFolder(shell, SWT.BORDER);
-	for (int i = 0; i < 4; i++) {
-		CTabItem item = new CTabItem(folder, SWT.CLOSE);
-		item.setText("Item "+i);
-		Text text = new Text(folder, SWT.MULTI);
-		text.setText("Content for Item "+i);
-		item.setControl(text);
-	}
-	
-	final CTabItem specialItem = new CTabItem(folder, SWT.CLOSE);
-	specialItem.setText("Don't Close Me");
-	Text text = new Text(folder, SWT.MULTI);
-	text.setText("This tab can never be closed");
-	specialItem.setControl(text);
-		
-	folder.addCTabFolder2Listener(new CTabFolder2Adapter() {
-		public void close(CTabFolderEvent event) {
-			if (event.item.equals(specialItem)) {
-				event.doit = false;
-			}
-		}
-	});
-	
-	final CTabItem noCloseItem = new CTabItem(folder, SWT.NONE);
-	noCloseItem.setText("No Close Button");
-	Text text2 = new Text(folder, SWT.MULTI);
-	text2.setText("This tab does not have a close button");
-	noCloseItem.setControl(text2);
-	
-	shell.pack();
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet83.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet83.java
deleted file mode 100644
index eff8fcd..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet83.java
+++ /dev/null
@@ -1,169 +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.swt.snippets;
- 
-/*
- * Drag and Drop example snippet: determine data types available (win32 only)
- * NOTE: This snippet uses internal SWT packages that are
- * subject to change without notice.
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.dnd.*;
-import org.eclipse.swt.internal.ole.win32.*;
-import org.eclipse.swt.internal.win32.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet83 extends ByteArrayTransfer {
-
-private static Snippet83 _instance = new Snippet83();
-private int[] ids;
-private String[] names;
-	
-public static void main(String[] args) {
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setLayout(new FillLayout());
-	final Table control = new Table(shell, SWT.NONE);
-	TableItem item = new TableItem(control, SWT.NONE);
-	item.setText("Drag data over this site to see the native transfer type.");
-	DropTarget target = new DropTarget(control, DND.DROP_DEFAULT | DND.DROP_COPY | DND.DROP_LINK | DND.DROP_MOVE);
-	target.setTransfer(new Transfer[] {Snippet83.getInstance()});
-	target.addDropListener(new DropTargetAdapter() {
-		public void dragEnter(DropTargetEvent event) {			
-			String ops = "";
-			if ((event.operations & DND.DROP_COPY) != 0) ops += "Copy;";
-			if ((event.operations & DND.DROP_MOVE) != 0) ops += "Move;";
-			if ((event.operations & DND.DROP_LINK) != 0) ops += "Link;";
-			control.removeAll();
-			TableItem item1 = new TableItem(control,SWT.NONE);
-			item1.setText("Allowed Operations are "+ops);
-			
-			if (event.detail == DND.DROP_DEFAULT) {
-				if ((event.operations & DND.DROP_COPY) != 0) {
-					event.detail = DND.DROP_COPY;
-				} else if ((event.operations & DND.DROP_LINK) != 0) {
-					event.detail = DND.DROP_LINK;
-				} else if ((event.operations & DND.DROP_MOVE) != 0) {
-					event.detail = DND.DROP_MOVE;
-				}
-			}
-			
-			TransferData[] data = event.dataTypes;
-			for (int i = 0; i < data.length; i++) {
-				int id = data[i].type;
-				String name = getNameFromId(id);
-				TableItem item2 = new TableItem(control,SWT.NONE);
-				item2.setText("Data type is "+id+" "+name);
-			}
-		}
-	});
-	
-	shell.setSize(400, 400);
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	display.dispose();
-}
-
-public static Snippet83 getInstance () {
-	return _instance;
-}
-Snippet83() {
-	ids = new int[80000];
-	names = new String[80000];
-	for (int i = 0; i < ids.length; i++) {
-		ids[i] = i;
-		names[i] = getNameFromId(i);
-	}
-}
-public void javaToNative (Object object, TransferData transferData) {
-}
-public Object nativeToJava(TransferData transferData){
-	return "Hello World";
-}
-protected String[] getTypeNames(){
-	return names;
-}
-protected int[] getTypeIds(){
-	return ids;
-}
-static String getNameFromId(int id) {
-	String name = null;
-	int maxSize = 128;
-	TCHAR buffer = new TCHAR(0, maxSize);
-	int size = COM.GetClipboardFormatName(id, buffer, maxSize);
-	if (size != 0) {
-		name = buffer.toString(0, size);
-	} else {
-		switch (id) {
-			case COM.CF_HDROP:
-				name = "CF_HDROP";
-				break;
-			case COM.CF_TEXT:
-				name = "CF_TEXT";
-				break;
-			case COM.CF_BITMAP:
-				name = "CF_BITMAP";
-				break;
-			case COM.CF_METAFILEPICT:
-				name = "CF_METAFILEPICT";
-				break;
-			case COM.CF_SYLK:
-				name = "CF_SYLK";
-				break;
-			case COM.CF_DIF:
-				name = "CF_DIF";
-				break;
-			case COM.CF_TIFF:
-				name = "CF_TIFF";
-				break;
-			case COM.CF_OEMTEXT:
-				name = "CF_OEMTEXT";
-				break;
-			case COM.CF_DIB:
-				name = "CF_DIB";
-				break;
-			case COM.CF_PALETTE:
-				name = "CF_PALETTE";
-				break;
-			case COM.CF_PENDATA:
-				name = "CF_PENDATA";
-				break;
-			case COM.CF_RIFF:
-				name = "CF_RIFF";
-				break;
-			case COM.CF_WAVE:
-				name = "CF_WAVE";
-				break;
-			case COM.CF_UNICODETEXT:
-				name = "CF_UNICODETEXT";
-				break;
-			case COM.CF_ENHMETAFILE:
-				name = "CF_ENHMETAFILE";
-				break;
-			case COM.CF_LOCALE:
-				name = "CF_LOCALE";
-				break;
-			case COM.CF_MAX:
-				name = "CF_MAX";
-				break;
-		}
-		
-	}
-	return name;
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet84.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet84.java
deleted file mode 100644
index 01ff113..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet84.java
+++ /dev/null
@@ -1,98 +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.swt.snippets;
- 
-/*
- * Drag and Drop example snippet: define a default operation (in this example, Copy)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.dnd.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet84 {
-	
-public static void main(String[] args) {
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setLayout(new FillLayout());
-	
-	final Label label = new Label(shell, SWT.BORDER);
-	label.setText("Drag Source");
-	DragSource source = new DragSource(label, DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK);
-	source.setTransfer(new Transfer[] {TextTransfer.getInstance()});
-	source.addDragListener(new DragSourceAdapter() {
-		public void dragSetData(DragSourceEvent event) {
-			event.data = "Text Transferred";
-		}
-		public void dragFinished(DragSourceEvent event) {
-			if (event.doit) {
-				String operation = null;
-				switch (event.detail) {
-				case DND.DROP_MOVE:
-					operation = "moved"; break;
-				case DND.DROP_COPY:
-					operation = "copied"; break;
-				case DND.DROP_LINK:
-					operation = "linked"; break;
-				case DND.DROP_NONE:
-					operation = "disallowed"; break;
-				default:
-					operation = "unknown"; break;
-				}
-				label.setText("Drag Source (data "+operation+")");
-			} else {
-				label.setText("Drag Source (drag cancelled)");
-			}
-		}
-	});
-
-	final Text text = new Text(shell, SWT.BORDER | SWT.MULTI);
-	text.setText("Drop Target");
-	DropTarget target = new DropTarget(text, DND.DROP_DEFAULT | DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK);
-	target.setTransfer(new Transfer[] {TextTransfer.getInstance()});
-	target.addDropListener(new DropTargetAdapter() {
-		public void dragEnter(DropTargetEvent event) {
-			if (event.detail == DND.DROP_DEFAULT) event.detail = DND.DROP_COPY;
-		}
-		public void dragOperationChanged(DropTargetEvent event) {
-			if (event.detail == DND.DROP_DEFAULT) event.detail = DND.DROP_COPY;
-		}
-		public void drop(DropTargetEvent event) {
-			String operation = null;
-			switch (event.detail) {
-			case DND.DROP_MOVE:
-				operation = "moved"; break;
-			case DND.DROP_COPY:
-				operation = "copied"; break;
-			case DND.DROP_LINK:
-				operation = "linked"; break;
-			case DND.DROP_NONE:
-				operation = "disallowed"; break;
-			default:
-				operation = "unknown"; break;
-			}
-			text.append("\n"+operation+(String)event.data);
-		}
-	});
-	
-	shell.setSize(400, 400);
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet85.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet85.java
deleted file mode 100644
index 22cd08d..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet85.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * PocketPC example snippet: Hello World
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet85 {
-
-public static void main(String[] args) {
-	Display display = new Display();
-
-	/* 
-	 * Create a Shell with the default style
-	 * i.e. full screen, no decoration on PocketPC.
-	 */
-	Shell shell = new Shell(display);
-
-	/* 
-	 * Set a text so that the top level Shell
-	 * also appears in the PocketPC task list
-	 */
-	shell.setText("Main");
-
-	/*
-	 * Set a menubar to follow UI guidelines
-	 * on PocketPC
-	 */
-	Menu mb = new Menu(shell, SWT.BAR);
-	shell.setMenuBar(mb);
-
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet86.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet86.java
deleted file mode 100644
index 5299249..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet86.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * PocketPC Shell example snippet: 'Ok' button
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet86 {
-
-public static void main(String[] args) {
-	Display display = new Display();
-	Shell shell = new Shell(display, SWT.CLOSE);
-	shell.setText("Main");
-	Menu mb = new Menu(shell, SWT.BAR);
-	shell.setMenuBar(mb);
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet87.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet87.java
deleted file mode 100644
index a400686..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet87.java
+++ /dev/null
@@ -1,43 +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.swt.snippets;
- 
-/*
- * PocketPC Shell example snippet: resize automatically as SIP is on or off
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet87 {
-
-public static void main(String[] args) {
-	Display display = new Display();
-	Shell shell = new Shell(display, SWT.RESIZE);
-	shell.setText("Main");
-	Menu mb = new Menu(shell, SWT.BAR);
-	shell.setMenuBar(mb);
-	/* Add a button to make the resize more visual */
-	FillLayout layout = new FillLayout();
-	shell.setLayout(layout);
-	Button button = new Button(shell, SWT.PUSH);
-	button.setText("Main");
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet88.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet88.java
deleted file mode 100644
index 36c60df..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet88.java
+++ /dev/null
@@ -1,84 +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.swt.snippets;
-
-/*
- * TableEditor example snippet: edit the text of a table item (in place)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet88 {
-	
-public static void main(String[] args) {
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setLayout(new FillLayout());
-	final Table table = new Table(shell, SWT.FULL_SELECTION | SWT.HIDE_SELECTION);
-	TableColumn column1 = new TableColumn(table, SWT.NONE);
-	TableColumn column2 = new TableColumn(table, SWT.NONE);
-	for (int i = 0; i < 10; i++) {
-		TableItem item = new TableItem(table, SWT.NONE);
-		item.setText(new String[] {"item " + i, "edit this value"});
-	}
-	column1.pack();
-	column2.pack();
-	
-	final TableEditor editor = new TableEditor(table);
-	//The editor must have the same size as the cell and must
-	//not be any smaller than 50 pixels.
-	editor.horizontalAlignment = SWT.LEFT;
-	editor.grabHorizontal = true;
-	editor.minimumWidth = 50;
-	// editing the second column
-	final int EDITABLECOLUMN = 1;
-	
-	table.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			// Clean up any previous editor control
-			Control oldEditor = editor.getEditor();
-			if (oldEditor != null) oldEditor.dispose();
-	
-			// Identify the selected row
-			TableItem item = (TableItem)e.item;
-			if (item == null) return;
-	
-			// The control that will be the editor must be a child of the Table
-			Text newEditor = new Text(table, SWT.NONE);
-			newEditor.setText(item.getText(EDITABLECOLUMN));
-			newEditor.addModifyListener(new ModifyListener() {
-				public void modifyText(ModifyEvent me) {
-					Text text = (Text)editor.getEditor();
-					editor.getItem().setText(EDITABLECOLUMN, text.getText());
-				}
-			});
-			newEditor.selectAll();
-			newEditor.setFocus();
-			editor.setEditor(newEditor, item, EDITABLECOLUMN);
-		}
-	});
-	shell.setSize(300, 300);
-	shell.open();
-	
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	display.dispose();
-}
-
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet89.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet89.java
deleted file mode 100644
index f6725bc..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet89.java
+++ /dev/null
@@ -1,50 +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.swt.snippets;
- 
-/*
- * Menu example snippet: create a menu with radio items
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.events.*;
-
-public class Snippet89 {
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	Menu menu = new Menu (shell, SWT.POP_UP);
-	for (int i=0; i<4; i++) {
-		MenuItem item = new MenuItem (menu, SWT.RADIO);
-		item.setText ("Item " + i);
-		item.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				MenuItem item = (MenuItem)e.widget;
-				if (item.getSelection ()) {
-					System.out.println (item + " selected");
-				} else {
-					System.out.println (item + " unselected");
-				}
-			}
-		});
-	}
-	shell.setMenu (menu);
-	shell.setSize (300, 300);
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet9.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet9.java
deleted file mode 100644
index e55be2f..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet9.java
+++ /dev/null
@@ -1,85 +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.swt.snippets;
-
-/*
- * Composite example snippet: scroll a child control automatically
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet9 {
-	
-public static void main (String [] args) {
-	Display display = new Display ();
-	final Shell shell = new Shell (display, SWT.SHELL_TRIM | SWT.H_SCROLL | SWT.V_SCROLL);
-	final Composite composite = new Composite (shell, SWT.BORDER);
-	composite.setSize (700, 600);
-	final Color red = display.getSystemColor (SWT.COLOR_RED);
-	composite.addPaintListener (new PaintListener() {
-		public void paintControl (PaintEvent e) {
-			e.gc.setBackground (red);
-			e.gc.fillOval (5, 5, 690, 590);
-		}
-	});
-	final ScrollBar hBar = shell.getHorizontalBar ();
-	hBar.addListener (SWT.Selection, new Listener () {
-		public void handleEvent (Event e) {
-			Point location = composite.getLocation ();
-			location.x = -hBar.getSelection ();
-			composite.setLocation (location);
-		}
-	});
-	final ScrollBar vBar = shell.getVerticalBar ();
-	vBar.addListener (SWT.Selection, new Listener () {
-		public void handleEvent (Event e) {
-			Point location = composite.getLocation ();
-			location.y = -vBar.getSelection ();
-			composite.setLocation (location);
-		}
-	});
-	shell.addListener (SWT.Resize,  new Listener () {
-		public void handleEvent (Event e) {
-			Point size = composite.getSize ();
-			Rectangle rect = shell.getClientArea ();
-			hBar.setMaximum (size.x);
-			vBar.setMaximum (size.y);
-			hBar.setThumb (Math.min (size.x, rect.width));
-			vBar.setThumb (Math.min (size.y, rect.height));
-			int hPage = size.x - rect.width;
-			int vPage = size.y - rect.height;
-			int hSelection = hBar.getSelection ();
-			int vSelection = vBar.getSelection ();
-			Point location = composite.getLocation ();
-			if (hSelection >= hPage) {
-				if (hPage <= 0) hSelection = 0;
-				location.x = -hSelection;
-			}
-			if (vSelection >= vPage) {
-				if (vPage <= 0) vSelection = 0;
-				location.y = -vSelection;
-			}
-			composite.setLocation (location);
-		}
-	});
-	shell.open ();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet90.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet90.java
deleted file mode 100644
index 7bf13cd..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet90.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Tree example snippet: detect mouse down in a tree item
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet90 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	final Tree tree = new Tree (shell, SWT.BORDER | SWT.MULTI);
-	for (int i=0; i<12; i++) {
-		TreeItem treeItem = new TreeItem (tree, SWT.NONE);
-		treeItem.setText ("Item " + i);
-	}
-	tree.addListener (SWT.MouseDown, new Listener () {
-		public void handleEvent (Event event) {
-			Point point = new Point (event.x, event.y);
-			TreeItem item = tree.getItem (point);
-			if (item != null) {
-				System.out.println ("Mouse down: " + item);
-			}
-		}
-	});
-	tree.setSize (200, 200);
-	shell.setSize (300, 300);
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet91.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet91.java
deleted file mode 100644
index cff9535..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet91.java
+++ /dev/null
@@ -1,157 +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.swt.snippets;
- 
-/*
- * Drag and Drop example snippet: drag leaf items in a tree
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.dnd.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet91 {
-
-public static void main (String [] args) {
-	
-	final Display display = new Display ();
-	final Shell shell = new Shell (display);
-	shell.setLayout(new FillLayout());
-	final Tree tree = new Tree(shell, SWT.BORDER);
-	for (int i = 0; i < 3; i++) {
-		TreeItem item = new TreeItem(tree, SWT.NONE);
-		item.setText("item "+i);
-		for (int j = 0; j < 3; j++) {
-			TreeItem subItem = new TreeItem(item, SWT.NONE);
-			subItem.setText("item "+i+" "+j);
-			for (int k = 0; k < 3; k++) {
-				TreeItem subsubItem = new TreeItem(subItem, SWT.NONE);
-				subsubItem.setText("item "+i+" "+j+" "+k);
-			}
-		}
-	}
-	
-	Transfer[] types = new Transfer[] {TextTransfer.getInstance()};
-	int operations = DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_LINK;
-	
-	final DragSource source = new DragSource (tree, operations);
-	source.setTransfer(types);
-	final TreeItem[] dragSourceItem = new TreeItem[1];
-	source.addDragListener (new DragSourceListener () {
-		public void dragStart(DragSourceEvent event) {
-			TreeItem[] selection = tree.getSelection();
-			if (selection.length > 0 && selection[0].getItemCount() == 0) {
-				event.doit = true;
-				dragSourceItem[0] = selection[0];
-			} else {
-				event.doit = false;
-			}
-		};
-		public void dragSetData (DragSourceEvent event) {
-			event.data = dragSourceItem[0].getText();
-		}
-		public void dragFinished(DragSourceEvent event) {
-			if (event.detail == DND.DROP_MOVE)
-				dragSourceItem[0].dispose();
-				dragSourceItem[0] = null;
-		}
-	});
-
-	DropTarget target = new DropTarget(tree, operations);
-	target.setTransfer(types);
-	target.addDropListener (new DropTargetAdapter() {
-		public void dragOver(DropTargetEvent event) {
-			event.feedback = DND.FEEDBACK_EXPAND | DND.FEEDBACK_SCROLL;
-			if (event.item != null) {
-				TreeItem item = (TreeItem)event.item;
-				Point pt = display.map(null, tree, event.x, event.y);
-				Rectangle bounds = item.getBounds();
-				if (pt.y < bounds.y + bounds.height/3) {
-					event.feedback |= DND.FEEDBACK_INSERT_BEFORE;
-				} else if (pt.y > bounds.y + 2*bounds.height/3) {
-					event.feedback |= DND.FEEDBACK_INSERT_AFTER;
-				} else {
-					event.feedback |= DND.FEEDBACK_SELECT;
-				}
-			}
-		}
-		public void drop(DropTargetEvent event) {
-			if (event.data == null) {
-				event.detail = DND.DROP_NONE;
-				return;
-			}
-			String text = (String)event.data;
-			if (event.item == null) {
-				TreeItem item = new TreeItem(tree, SWT.NONE);
-				item.setText(text);
-			} else {
-				TreeItem item = (TreeItem)event.item;
-				Point pt = display.map(null, tree, event.x, event.y);
-				Rectangle bounds = item.getBounds();
-				TreeItem parent = item.getParentItem();
-				if (parent != null) {
-					TreeItem[] items = parent.getItems();
-					int index = 0;
-					for (int i = 0; i < items.length; i++) {
-						if (items[i] == item) {
-							index = i;
-							break;
-						}
-					}
-					if (pt.y < bounds.y + bounds.height/3) {
-						TreeItem newItem = new TreeItem(parent, SWT.NONE, index);
-						newItem.setText(text);
-					} else if (pt.y > bounds.y + 2*bounds.height/3) {
-						TreeItem newItem = new TreeItem(parent, SWT.NONE, index+1);
-						newItem.setText(text);
-					} else {
-						TreeItem newItem = new TreeItem(item, SWT.NONE);
-						newItem.setText(text);
-					}
-					
-				} else {
-					TreeItem[] items = tree.getItems();
-					int index = 0;
-					for (int i = 0; i < items.length; i++) {
-						if (items[i] == item) {
-							index = i;
-							break;
-						}
-					}
-					if (pt.y < bounds.y + bounds.height/3) {
-						TreeItem newItem = new TreeItem(tree, SWT.NONE, index);
-						newItem.setText(text);
-					} else if (pt.y > bounds.y + 2*bounds.height/3) {
-						TreeItem newItem = new TreeItem(tree, SWT.NONE, index+1);
-						newItem.setText(text);
-					} else {
-						TreeItem newItem = new TreeItem(item, SWT.NONE);
-						newItem.setText(text);
-					}
-				}
-				
-				
-			}
-		}
-	});
-
-	shell.setSize (400, 400);
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet92.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet92.java
deleted file mode 100644
index 75a7108..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet92.java
+++ /dev/null
@@ -1,77 +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.swt.snippets;
-
-/*
- * Cursor example snippet: create a cursor from a source and a mask
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet92 {
-
-public static void main (String [] args) {
-	Display display = new Display();
-	Color white = display.getSystemColor (SWT.COLOR_WHITE);
-	Color black = display.getSystemColor (SWT.COLOR_BLACK);
-	
-	//Create a source ImageData of depth 1 (monochrome)
-	PaletteData palette = new PaletteData (new RGB [] {white.getRGB(), black.getRGB(),});
-	ImageData sourceData = new ImageData (20, 20, 1, palette);
-	for (int i = 0; i < 10; i ++) {
-		for (int j = 0; j < 20; j++) {
-			sourceData.setPixel(i, j, 1);
-		}
-	}
-	
-	//Create a mask ImageData of depth 1 (monochrome)
-	palette = new PaletteData (new RGB [] {white.getRGB(), black.getRGB(),});
-	ImageData maskData = new ImageData (20, 20, 1, palette);
-	for (int i = 0; i < 20; i ++) {
-		for (int j = 0; j < 10; j++) {
-			maskData.setPixel(i, j, 1);
-		}
-	}
-	//Create cursor
-	Cursor cursor = new Cursor(display, sourceData, maskData, 10, 10);
-	
-	Shell shell = new Shell(display);
-	final Image source = new Image (display,sourceData);
-	final Image mask = new Image (display, maskData);
-	//Draw source and mask just to show what they look like
-	shell.addPaintListener(new PaintListener() {
-		public void paintControl(PaintEvent e) {
-			GC gc = e.gc;
-			gc.drawString("source: ", 10, 10);
-			gc.drawImage(source, 0, 0, 20, 20, 60, 10, 20, 20);
-			gc.drawString("mask: ",10, 40);
-			gc.drawImage(mask, 0, 0, 20, 20, 60, 40, 20, 20);
-		}
-	});
-	shell.setSize(150, 150);
-	shell.open();
-	shell.setCursor(cursor);
-	
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	cursor.dispose();
-	source.dispose();
-	mask.dispose();
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet93.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet93.java
deleted file mode 100644
index 255729d..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet93.java
+++ /dev/null
@@ -1,42 +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.swt.snippets;
-
-/*
- * GC example snippet: measure a string
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet93 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	Shell shell = new Shell (display);
-	shell.setLayout (new RowLayout ());
-	Label label = new Label (shell, SWT.NONE);
-	GC gc = new GC (label);
-	Point size = gc.textExtent ("Hello");
-	gc.dispose ();
-	label.setText ("Hello -> " + size);
-	shell.pack ();
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet94.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet94.java
deleted file mode 100644
index 9b26e21..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet94.java
+++ /dev/null
@@ -1,83 +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.swt.snippets;
-
-/*
- * Clipboard example snippet: copy and paste data with the clipboard
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.dnd.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet94 {
-
-public static void main( String[] args) {
-	Display display = new Display ();
-	final Clipboard cb = new Clipboard(display);
-	final Shell shell = new Shell (display);
-	shell.setLayout(new FormLayout());
-	final Text text = new Text(shell, SWT.BORDER | SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL);
-	
-	Button copy = new Button(shell, SWT.PUSH);
-	copy.setText("Copy");
-	copy.addListener (SWT.Selection, new Listener () {
-		public void handleEvent (Event e) {
-			String textData = text.getSelectionText();
-			if (textData.length() > 0) {
-				TextTransfer textTransfer = TextTransfer.getInstance();
-				cb.setContents(new Object[]{textData}, new Transfer[]{textTransfer});
-			}
-		}
-	});
-	
-	Button paste = new Button(shell, SWT.PUSH);
-	paste.setText("Paste");
-	paste.addListener (SWT.Selection, new Listener () {
-		public void handleEvent (Event e) {
-			TextTransfer transfer = TextTransfer.getInstance();
-			String data = (String)cb.getContents(transfer);
-			if (data != null) {
-				text.insert(data);
-			}
-		}
-	});
-	
-	FormData data = new FormData();
-	data.left = new FormAttachment(paste, 0, SWT.LEFT);
-	data.right = new FormAttachment(100, -5);
-	data.top = new FormAttachment(0, 5);
-	copy.setLayoutData(data);
-	
-	data = new FormData();
-	data.right = new FormAttachment(100, -5);
-	data.top = new FormAttachment(copy, 5);
-	paste.setLayoutData(data);
-	
-	data = new FormData();
-	data.left = new FormAttachment(0, 5);
-	data.top = new FormAttachment(0, 5);
-	data.right = new FormAttachment(paste, -5);
-	data.bottom = new FormAttachment(100, -5);
-	text.setLayoutData(data);
-	
-	shell.setSize(200, 200);
-	shell.open();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	cb.dispose();
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet95.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet95.java
deleted file mode 100644
index 35dc101..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet95.java
+++ /dev/null
@@ -1,77 +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.swt.snippets;
- 
-/*
- * GC example snippet: capture a widget image with a GC
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet95 {
-
-public static void main(String[] args) {
-	final Display display = new Display();
-	final Shell shell = new Shell(display);
-	shell.setText("Widget");
-	
-	final Table table = new Table(shell, SWT.MULTI);
-	table.setLinesVisible(true);
-	table.setBounds(10, 10, 100, 100);
-	for (int i = 0; i < 9; i++) {
-		new TableItem(table, SWT.NONE).setText("item" + i);
-	}
-	
-	Button button = new Button(shell, SWT.PUSH);
-	button.setText("Capture");
-	button.pack();
-	button.setLocation(10, 140);
-	button.addListener(SWT.Selection, new Listener() {
-		public void handleEvent(Event event) {
-			Point tableSize = table.getSize();
-			GC gc = new GC(table);
-			final Image image =
-				new Image(display, tableSize.x, tableSize.y);
-			gc.copyArea(image, 0, 0);
-			gc.dispose();
-			
-			Shell popup = new Shell(shell);
-			popup.setText("Image");
-			popup.addListener(SWT.Close, new Listener() {
-				public void handleEvent(Event e) {
-					image.dispose();
-				}
-			});
-			
-			Canvas canvas = new Canvas(popup, SWT.NONE);
-			canvas.setBounds(10, 10, tableSize.x+10, tableSize.y+10);
-			canvas.addPaintListener(new PaintListener() {
-				public void paintControl(PaintEvent e) {
-					e.gc.drawImage(image, 0, 0);
-				}
-			});
-			popup.pack();
-			popup.open();
-		}
-	});
-	shell.pack();
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch()) display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet96.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet96.java
deleted file mode 100644
index cfe2485..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet96.java
+++ /dev/null
@@ -1,172 +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.swt.snippets;
-
-/*
- * TableCursor example snippet: navigate a table cells with arrow keys. 
- * Edit when user hits Return key.  Exit edit mode by hitting Escape (cancels edit)
- * or Return (applies edit to table).
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet96 {
-
-public static void main(String[] args) {
-	Display display = new Display();
-	Shell shell = new Shell(display);
-	shell.setLayout(new GridLayout());
-
-	// create a a table with 3 columns and fill with data
-	final Table table = new Table(shell, SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION);
-	table.setLayoutData(new GridData(GridData.FILL_BOTH));
-	TableColumn column1 = new TableColumn(table, SWT.NONE);
-	TableColumn column2 = new TableColumn(table, SWT.NONE);
-	TableColumn column3 = new TableColumn(table, SWT.NONE);
-	for (int i = 0; i < 100; i++) {
-		TableItem item = new TableItem(table, SWT.NONE);
-		item.setText(new String[] {"cell " + i + " 0", 	"cell " + i + " 1", "cell " + i + " 2" });
-	}
-	column1.pack();
-	column2.pack();
-	column3.pack();
-
-	// 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 column = cursor.getColumn();
-			text.setText(row.getText(column));
-			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 column = cursor.getColumn();
-						row.setText(column, text.getText());
-						text.dispose();
-					}
-					// close the text editor when the user hits "ESC"
-					if (e.character == SWT.ESC) {
-						text.dispose();
-					}
-				}
-			});
-			// close the text editor when the user tabs away
-			text.addFocusListener(new FocusAdapter() {
-				public void focusLost(FocusEvent e) {
-					text.dispose();
-				}
-			});
-			editor.setEditor(text);
-			text.setFocus();
-		}
-	});
-	// Hide the TableCursor when the user hits the "CTRL" or "SHIFT" 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.CTRL
-				|| e.keyCode == SWT.SHIFT
-				|| (e.stateMask & SWT.CONTROL) != 0
-				|| (e.stateMask & SWT.SHIFT) != 0) {
-				cursor.setVisible(false);
-			}
-		}
-	});
-	// When the user double clicks in the TableCursor, pop up a text editor so that 
-	// they can change the text of the cell
-	cursor.addMouseListener(new MouseAdapter() {
-		public void mouseDown(MouseEvent e) {
-			final Text text = new Text(cursor, SWT.NONE);
-			TableItem row = cursor.getRow();
-			int column = cursor.getColumn();
-			text.setText(row.getText(column));
-			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 column = cursor.getColumn();
-						row.setText(column, text.getText());
-						text.dispose();
-					}
-					// close the text editor when the user hits "ESC"
-					if (e.character == SWT.ESC) {
-						text.dispose();
-					}
-				}
-			});
-			// close the text editor when the user clicks away
-			text.addFocusListener(new FocusAdapter() {
-				public void focusLost(FocusEvent e) {
-					text.dispose();
-				}
-			});
-			editor.setEditor(text);
-			text.setFocus();
-		}
-	});
-	
-	// Show the TableCursor when the user releases the "SHIFT" or "CTRL" key.
-	// This signals the end of the multiple selection task.
-	table.addKeyListener(new KeyAdapter() {
-		public void keyReleased(KeyEvent e) {
-			if (e.keyCode == SWT.CONTROL && (e.stateMask & SWT.SHIFT) != 0)
-				return;
-			if (e.keyCode == SWT.SHIFT && (e.stateMask & SWT.CONTROL) != 0)
-				return;
-			if (e.keyCode != SWT.CONTROL
-				&& (e.stateMask & SWT.CONTROL) != 0)
-				return;
-			if (e.keyCode != SWT.SHIFT && (e.stateMask & SWT.SHIFT) != 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();
-		}
-	});
-
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet97.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet97.java
deleted file mode 100644
index 1d0174c..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet97.java
+++ /dev/null
@@ -1,55 +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.swt.snippets;
- 
-/*
- * Menu example snippet: fill a menu dynamically (when menu shown)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet97 {
-
-public static void main (String [] args) {
-	final Display display = new Display ();
-	Shell shell = new Shell (display);
-	final Tree tree = new Tree (shell, SWT.BORDER | SWT.MULTI);
-	final Menu menu = new Menu (shell, SWT.POP_UP);
-	tree.setMenu (menu);
-	for (int i=0; i<12; i++) {
-		TreeItem item = new TreeItem (tree, SWT.NONE);
-		item.setText ("Item " + i);
-	}
-	menu.addListener (SWT.Show, new Listener () {
-		public void handleEvent (Event event) {
-			MenuItem [] menuItems = menu.getItems ();
-			for (int i=0; i<menuItems.length; i++) {
-				menuItems [i].dispose ();
-			}
-			TreeItem [] treeItems = tree.getSelection ();
-			for (int i=0; i<treeItems.length; i++) {
-				MenuItem menuItem = new MenuItem (menu, SWT.PUSH);
-				menuItem.setText (treeItems [i].getText ());
-			}
-		}
-	});
-	tree.setSize (200, 200);
-	shell.setSize (300, 300);
-	shell.open ();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-} 
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet98.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet98.java
deleted file mode 100644
index f779186..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet98.java
+++ /dev/null
@@ -1,66 +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.swt.snippets;
- 
-/*
- * Composite example snippet: create and dispose children of a composite
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet98 {
-
-static int pageNum = 0;
-static Composite pageComposite;
-
-public static void main(String args[]) {
-	Display display = new Display();
-	final Shell shell = new Shell(display);
-	shell.setLayout(new GridLayout());
-	Button button = new Button(shell, SWT.PUSH);
-	button.setText("Push");
-	pageComposite = new Composite(shell, SWT.NONE);
-	pageComposite.setLayout(new GridLayout());
-	pageComposite.setLayoutData(new GridData());
-
-	button.addListener(SWT.Selection, new Listener() {
-		public void handleEvent(Event event) {
-			if ((pageComposite != null) && (!pageComposite.isDisposed())) {
-				pageComposite.dispose();
-			}
-			pageComposite = new Composite(shell, SWT.NONE);
-			pageComposite.setLayout(new GridLayout());
-			pageComposite.setLayoutData(new GridData());
-			if (pageNum++ % 2 == 0) {
-				Table table = new Table(pageComposite, SWT.BORDER);
-				table.setLayoutData(new GridData());
-				for (int i = 0; i < 5; i++) {
-					new TableItem(table, SWT.NONE).setText("table item " + i);
-				}
-			} else {
-				new Button(pageComposite, SWT.RADIO).setText("radio");
-			}
-			shell.layout(true);
-		}
-	});
-
-	shell.open();
-	while (!shell.isDisposed()) {
-		if (!display.readAndDispatch())
-			display.sleep();
-	}
-	display.dispose();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet99.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet99.java
deleted file mode 100644
index 86a3acc..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet99.java
+++ /dev/null
@@ -1,43 +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.swt.snippets;
- 
-/*
- * Shell example snippet: prevent a shell from closing (prompt the user)
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet99 {
-
-public static void main (String [] args) {
-	Display display = new Display ();
-	final Shell shell = new Shell (display);
-	shell.addListener (SWT.Close, new Listener () {
-		public void handleEvent (Event event) {
-			int style = SWT.APPLICATION_MODAL | SWT.YES | SWT.NO;
-			MessageBox messageBox = new MessageBox (shell, style);
-			messageBox.setText ("Information");
-			messageBox.setMessage ("Close the shell?");
-			event.doit = messageBox.open () == SWT.YES;
-		}
-	});
-	shell.pack ();
-	shell.open();
-	while (!shell.isDisposed ()) {
-		if (!display.readAndDispatch ()) display.sleep ();
-	}
-	display.dispose ();
-}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/SnippetLauncher.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/SnippetLauncher.java
deleted file mode 100644
index 3741990..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/SnippetLauncher.java
+++ /dev/null
@@ -1,95 +0,0 @@
-package org.eclipse.swt.snippets;
-
-/*
- * Simple "hackable" code that runs all of the SWT Snippets,
- * typically for testing. One example of a useful "hack" is
- * to add the line:
- *    if (source.indexOf("Table") == -1 && source.indexOf("Tree") == -1) continue;
- * after the line:
- *    String source = String.valueOf(buffer);
- * in order to run all of the Table and Tree Snippets.
- */
-import java.lang.reflect.*;
-import java.io.*;
-import org.eclipse.swt.SWT;
-
-public class SnippetLauncher {
-
-	public static void main (String [] args) {
-		File sourceDir = new File("src/org/eclipse/swt/snippets");
-		boolean hasSource = sourceDir.exists();
-		int count = 300;
-		if (hasSource) {
-			File [] files = sourceDir.listFiles();
-			if (files.length > 0) count = files.length;
-		}
-		for (int i = 1; i < count; i++) {
-			if (i == 136 || i == 151 || i == 180 || i == 219) continue;
-			String className = "Snippet" + i;
-			Class clazz = null;
-			try {
-				clazz = Class.forName("org.eclipse.swt.snippets." + className);
-			} catch (ClassNotFoundException e) {}
-			if (clazz != null) {
-				System.out.println("\n" + clazz.getName());
-				if (hasSource) {
-					File sourceFile = new File(sourceDir, className + ".java");
-					try {
-						FileReader reader = new FileReader(sourceFile);
-						char [] buffer = new char [(int)sourceFile.length()];
-						reader.read(buffer);
-						String source = String.valueOf(buffer);
-						int start = source.indexOf("package");
-						start = source.indexOf("/*", start);
-						int end = source.indexOf("* For a list of all");
-						System.out.println(source.substring(start, end-3));
-						boolean skip = false;
-						String platform = SWT.getPlatform();
-						if (source.indexOf("PocketPC") != -1) {
-							platform = "PocketPC";
-							skip = true;
-						} else if (source.indexOf("OpenGL") != -1) {
-							platform = "OpenGL";
-							skip = true;
-						} else if (source.indexOf("JavaXPCOM") != -1) {
-							platform = "JavaXPCOM";
-							skip = true;
-						} else {
-							String [] platforms = {"win32", "motif", "gtk", "photon", "carbon"};
-							for (int p = 0; p < platforms.length; p++) {
-								if (!platforms[p].equals(platform) && source.indexOf("." + platforms[p]) != -1) {
-									platform = platforms[p];
-									skip = true;
-									break;
-								}
-							}
-						}
-						if (skip) {
-							System.out.println("...skipping " + platform + " example...");
-							continue;
-						}
-					} catch (Exception e) {}
-				}
-				Method method = null;
-				String [] param = new String [0];
-				if (i == 81) param = new String[] {"Shell.Explorer"};
-				try {
-					method = clazz.getMethod("main", new Class[] {param.getClass()});
-				} catch (NoSuchMethodException e) {
-					System.out.println("   Did not find main(String [])");
-				}
-				if (method != null) {
-					try {
-						method.invoke(clazz, new Object [] {param});
-					} catch (IllegalAccessException e) {
-						System.out.println("   Failed to launch (illegal access)");
-					} catch (IllegalArgumentException e) {
-						System.out.println("   Failed to launch (illegal argument to main)");
-					} catch (InvocationTargetException e) {
-						System.out.println("   Exception in Snippet: " + e.getTargetException());
-					}
-				}
-			}
-		}
-	}
-}
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/cancel.gif b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/cancel.gif
deleted file mode 100644
index 6f64766..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/cancel.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/eclipse.png b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/eclipse.png
deleted file mode 100644
index 7397524..0000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/eclipse.png
+++ /dev/null
Binary files differ