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

Sprout from master 2003-02-17 22:32:01 UTC Grant Gayed <ggayed> '*** empty log message ***'
Cherrypick from master 2003-02-18 16:41:38 UTC Knut Radloff <kradloff> 'Fixes bug 30924':
    tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_custom_StyleRange.java
Delete:
    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/about.html
    examples/org.eclipse.swt.examples.controls/build.properties
    examples/org.eclipse.swt.examples.controls/doc-html/hglegal2002.htm
    examples/org.eclipse.swt.examples.controls/doc-html/ngibmcpy2002.gif
    examples/org.eclipse.swt.examples.controls/doc-html/swt_controls_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.launcher/.classpath
    examples/org.eclipse.swt.examples.launcher/.cvsignore
    examples/org.eclipse.swt.examples.launcher/.project
    examples/org.eclipse.swt.examples.launcher/about.html
    examples/org.eclipse.swt.examples.launcher/build.properties
    examples/org.eclipse.swt.examples.launcher/doc-html/hglegal2002.htm
    examples/org.eclipse.swt.examples.launcher/doc-html/ngibmcpy2002.gif
    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/about.html
    examples/org.eclipse.swt.examples.layouts/build.properties
    examples/org.eclipse.swt.examples.layouts/doc-html/hglegal2002.htm
    examples/org.eclipse.swt.examples.layouts/doc-html/ngibmcpy2002.gif
    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/about.html
    examples/org.eclipse.swt.examples.ole.win32/build.properties
    examples/org.eclipse.swt.examples.ole.win32/doc-html/hglegal2002.htm
    examples/org.eclipse.swt.examples.ole.win32/doc-html/ngibmcpy2002.gif
    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/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/about.html
    examples/org.eclipse.swt.examples.paint/build.properties
    examples/org.eclipse.swt.examples.paint/doc-html/hglegal2002.htm
    examples/org.eclipse.swt.examples.paint/doc-html/ngibmcpy2002.gif
    examples/org.eclipse.swt.examples.paint/doc-html/swt_paint_ex.html
    examples/org.eclipse.swt.examples.paint/icons/fill_none.gif
    examples/org.eclipse.swt.examples.paint/icons/fill_outline.gif
    examples/org.eclipse.swt.examples.paint/icons/fill_solid.gif
    examples/org.eclipse.swt.examples.paint/icons/linestyle_dash.gif
    examples/org.eclipse.swt.examples.paint/icons/linestyle_dashdot.gif
    examples/org.eclipse.swt.examples.paint/icons/linestyle_dot.gif
    examples/org.eclipse.swt.examples.paint/icons/linestyle_solid.gif
    examples/org.eclipse.swt.examples.paint/icons/options_font.gif
    examples/org.eclipse.swt.examples.paint/icons/paint_example.gif
    examples/org.eclipse.swt.examples.paint/icons/tool_airbrush.gif
    examples/org.eclipse.swt.examples.paint/icons/tool_ellipse.gif
    examples/org.eclipse.swt.examples.paint/icons/tool_line.gif
    examples/org.eclipse.swt.examples.paint/icons/tool_pencil.gif
    examples/org.eclipse.swt.examples.paint/icons/tool_polyline.gif
    examples/org.eclipse.swt.examples.paint/icons/tool_rectangle.gif
    examples/org.eclipse.swt.examples.paint/icons/tool_roundedrectangle.gif
    examples/org.eclipse.swt.examples.paint/icons/tool_text.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/AirbrushTool.java
    examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/BasicPaintSession.java
    examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/ContainerFigure.java
    examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/ContinuousPaintSession.java
    examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/DragPaintSession.java
    examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/EllipseFigure.java
    examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/EllipseTool.java
    examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/Figure.java
    examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/FigureDrawContext.java
    examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/LineFigure.java
    examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/LineTool.java
    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/PaintSession.java
    examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintSurface.java
    examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintTool.java
    examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintView.java
    examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PencilTool.java
    examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PointFigure.java
    examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PolyLineTool.java
    examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/RectangleFigure.java
    examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/RectangleTool.java
    examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/RoundedRectangleFigure.java
    examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/RoundedRectangleTool.java
    examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/SegmentedPaintSession.java
    examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/SolidEllipseFigure.java
    examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/SolidPolygonFigure.java
    examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/SolidRectangleFigure.java
    examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/SolidRoundedRectangleFigure.java
    examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/TextFigure.java
    examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/TextTool.java
    examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/ToolSettings.java
    examples/org.eclipse.swt.examples/.classpath
    examples/org.eclipse.swt.examples/.cvsignore
    examples/org.eclipse.swt.examples/.project
    examples/org.eclipse.swt.examples/about.html
    examples/org.eclipse.swt.examples/build.properties
    examples/org.eclipse.swt.examples/doc-html/hglegal2002.htm
    examples/org.eclipse.swt.examples/doc-html/ngibmcpy2002.gif
    examples/org.eclipse.swt.examples/doc-html/swt_addressbook_ex.html
    examples/org.eclipse.swt.examples/doc-html/swt_controls_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_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_control.properties
    examples/org.eclipse.swt.examples/src/examples_fileviewer.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_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/controlexample/AlignableTab.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/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/DialogTab.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/ListTab.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/SashTab.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/Tab.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/TreeTab.java
    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/closedFolder.gif
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/openFolder.gif
    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/target.gif
    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/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/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/Tab.java
    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/red.bmp
    examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/red_mask.bmp
diff --git a/examples/org.eclipse.swt.examples.controls/.classpath b/examples/org.eclipse.swt.examples.controls/.classpath
deleted file mode 100755
index da6f3cc..0000000
--- a/examples/org.eclipse.swt.examples.controls/.classpath
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-    <classpathentry kind="src" path="src"/>
-    <classpathentry kind="var" path="JRE_LIB"/>
-    <classpathentry kind="src" path="/org.eclipse.swt.examples"/>
-    <classpathentry kind="src" path="/org.eclipse.swt"/>
-    <classpathentry kind="var" path="ECLIPSE_HOME/plugins/org.eclipse.core.runtime_2.1.0/runtime.jar"/>
-    <classpathentry kind="var" path="ECLIPSE_HOME/plugins/org.eclipse.ui.workbench_2.1.0/workbench.jar"/>
-    <classpathentry kind="var" path="ECLIPSE_HOME/plugins/org.eclipse.jface_2.1.0/jface.jar"/>
-    <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 8ef8047..0000000
--- a/examples/org.eclipse.swt.examples.controls/.project
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<projectDescription>

-	<name>org.eclipse.swt.examples.controls</name>

-	<comment></comment>

-	<projects>

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

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

-	</projects>

-	<buildSpec>

-		<buildCommand>

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

-			<arguments>

-			</arguments>

-		</buildCommand>

-		<buildCommand>

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

-			<arguments>

-			</arguments>

-		</buildCommand>

-		<buildCommand>

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

-			<arguments>

-			</arguments>

-		</buildCommand>

-	</buildSpec>

-	<natures>

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

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

-	</natures>

-</projectDescription>

diff --git a/examples/org.eclipse.swt.examples.controls/about.html b/examples/org.eclipse.swt.examples.controls/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/examples/org.eclipse.swt.examples.controls/about.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>20th June, 2002</p>	
-<h3>License</h3>
-<p>Eclipse.org makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Common Public License Version 1.0 (&quot;CPL&quot;).  A copy of the CPL is available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>.
-For purposes of the CPL, &quot;Program&quot; will mean the Content.</p>
-
-<h3>Contributions</h3>
-
-<p>If this Content is licensed to you under the terms and conditions of the CPL, any Contributions, as defined in the CPL, uploaded, submitted, or otherwise
-made available to Eclipse.org, members of Eclipse.org and/or the host of Eclipse.org web site, by you that relate to such
-Content are provided under the terms and conditions of the CPL and can be made available to others under the terms of the CPL.</p>
-
-<p>If this Content is licensed to you under license terms and conditions other than the CPL (&quot;Other License&quot;), any modifications, enhancements and/or
-other code and/or documentation (&quot;Modifications&quot;) uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the
-host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available
-to others under the terms of the Other License.  In addition, with regard to Modifications for which you are the copyright holder, you are also
-providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of
-the CPL.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.examples.controls/build.properties b/examples/org.eclipse.swt.examples.controls/build.properties
deleted file mode 100755
index daf2c0b..0000000
--- a/examples/org.eclipse.swt.examples.controls/build.properties
+++ /dev/null
@@ -1,10 +0,0 @@
-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/hglegal2002.htm b/examples/org.eclipse.swt.examples.controls/doc-html/hglegal2002.htm
deleted file mode 100644
index 74393f0..0000000
--- a/examples/org.eclipse.swt.examples.controls/doc-html/hglegal2002.htm
+++ /dev/null
@@ -1,14 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">

-<html>

-<head>

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

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

-   <title>Legal Notices</title>

-</head>

-<body>

-

-<h3>

-<a NAME="Notices"></a>Notices</h3>

-(c) Copyright IBM Corp. 2000, 2002. All Rights Reserved.

-</body>

-</html>

diff --git a/examples/org.eclipse.swt.examples.controls/doc-html/ngibmcpy2002.gif b/examples/org.eclipse.swt.examples.controls/doc-html/ngibmcpy2002.gif
deleted file mode 100644
index 61cef48..0000000
--- a/examples/org.eclipse.swt.examples.controls/doc-html/ngibmcpy2002.gif
+++ /dev/null
Binary files differ
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 d18d828..0000000
--- a/examples/org.eclipse.swt.examples.controls/doc-html/swt_controls_ex.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">

-<html>

-<head>

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

-   <title>SWT - Controls Example</title>

-</head>

-<body>

-

-<h2>SWT Example - Controls Example</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 the control.

-</p>

-

-<h3>Running the example</h3>

-<p>From the Window menu select Show View --> Other.  

-In the Show View dialog, expand SWT Examples and select the

-view named SWT Controls.  A view titled SWT Controls will appear in your current perspective.

-</p>

-

-

-<p><a href="hglegal2002.htm"><img SRC="ngibmcpy2002.gif" ALT="Copyright IBM Corporation and others 2000, 2002.  All Rights Reserved." BORDER=0 height=14 width=324></a></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 418cd71..0000000
--- a/examples/org.eclipse.swt.examples.controls/plugin.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-providerName = Eclipse.org

-plugin.SWTControlsExample.name = SWT Controls Example Plugin

-category.SWTExamples.name = SWT Examples

-view.ControlsExample.name = SWT 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 common 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.
\ No newline at end of file
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 0bad5bc..0000000
--- a/examples/org.eclipse.swt.examples.controls/plugin.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<plugin

-   id="org.eclipse.swt.examples.controls"

-   name="%plugin.SWTControlsExample.name"

-   version="2.1.0"

-   provider-name="%providerName"

-   class="org.eclipse.swt.examples.controls.ControlPlugin">

-

-<!-- Runtime -->

-<!-- Runtime -->

-   <runtime>

-      <library name="controls.jar">

-            <packages prefixes="org.eclipse.swt.examples.controls"/>

-      </library>

-   </runtime>

-<!-- Required plugins -->

-   <requires>

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

-   </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>

-   </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 265131a..0000000
--- a/examples/org.eclipse.swt.examples.controls/src/import.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-# 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 25bf20e..0000000
--- a/examples/org.eclipse.swt.examples.controls/src/org/eclipse/swt/examples/controls/ControlPlugin.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.eclipse.swt.examples.controls;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2002.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html

- */

-

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

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

-

-/**

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

- */

-public class ControlPlugin extends AbstractUIPlugin {

-	/**

-	 * The constructor.

-	 */

-	public ControlPlugin(IPluginDescriptor descriptor) {

-		super(descriptor);

-	}

-	

-	/**

-	 * Clean up

-	 */

-	public void shutdown() throws CoreException {

-		super.shutdown();

-	}

-}

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 a55b754..0000000
--- a/examples/org.eclipse.swt.examples.controls/src/org/eclipse/swt/examples/controls/ControlView.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package org.eclipse.swt.examples.controls;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2002.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html

- */

- 

-import org.eclipse.swt.examples.controlexample.*;

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

-import org.eclipse.ui.part.*;

-

-/**

- * <code>Controls</code> is a simple demonstration

- * of the 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.launcher/.classpath b/examples/org.eclipse.swt.examples.launcher/.classpath
deleted file mode 100755
index eafbb18..0000000
--- a/examples/org.eclipse.swt.examples.launcher/.classpath
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-    <classpathentry kind="src" path="src"/>
-    <classpathentry kind="src" path="/org.eclipse.swt"/>
-    <classpathentry kind="src" path="/org.eclipse.swt.examples"/>
-    <classpathentry kind="var" path="JRE_LIB" rootpath="JRE_SRCROOT" sourcepath="JRE_SRC"/>
-    <classpathentry kind="var" path="ECLIPSE_HOME/plugins/org.eclipse.core.boot_2.1.0/boot.jar"/>
-    <classpathentry kind="var" path="ECLIPSE_HOME/plugins/org.eclipse.core.runtime_2.1.0/runtime.jar"/>
-    <classpathentry kind="var" path="ECLIPSE_HOME/plugins/org.eclipse.ui.workbench_2.1.0/workbench.jar"/>
-    <classpathentry kind="var" path="ECLIPSE_HOME/plugins/org.eclipse.jface_2.1.0/jface.jar"/>
-    <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 3aa0f07..0000000
--- a/examples/org.eclipse.swt.examples.launcher/.project
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<projectDescription>

-	<name>org.eclipse.swt.examples.launcher</name>

-	<comment></comment>

-	<projects>

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

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

-	</projects>

-	<buildSpec>

-		<buildCommand>

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

-			<arguments>

-			</arguments>

-		</buildCommand>

-		<buildCommand>

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

-			<arguments>

-			</arguments>

-		</buildCommand>

-		<buildCommand>

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

-			<arguments>

-			</arguments>

-		</buildCommand>

-	</buildSpec>

-	<natures>

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

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

-	</natures>

-</projectDescription>

diff --git a/examples/org.eclipse.swt.examples.launcher/about.html b/examples/org.eclipse.swt.examples.launcher/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/examples/org.eclipse.swt.examples.launcher/about.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>20th June, 2002</p>	
-<h3>License</h3>
-<p>Eclipse.org makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Common Public License Version 1.0 (&quot;CPL&quot;).  A copy of the CPL is available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>.
-For purposes of the CPL, &quot;Program&quot; will mean the Content.</p>
-
-<h3>Contributions</h3>
-
-<p>If this Content is licensed to you under the terms and conditions of the CPL, any Contributions, as defined in the CPL, uploaded, submitted, or otherwise
-made available to Eclipse.org, members of Eclipse.org and/or the host of Eclipse.org web site, by you that relate to such
-Content are provided under the terms and conditions of the CPL and can be made available to others under the terms of the CPL.</p>
-
-<p>If this Content is licensed to you under license terms and conditions other than the CPL (&quot;Other License&quot;), any modifications, enhancements and/or
-other code and/or documentation (&quot;Modifications&quot;) uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the
-host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available
-to others under the terms of the Other License.  In addition, with regard to Modifications for which you are the copyright holder, you are also
-providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of
-the CPL.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.examples.launcher/build.properties b/examples/org.eclipse.swt.examples.launcher/build.properties
deleted file mode 100755
index 8d7ddf7..0000000
--- a/examples/org.eclipse.swt.examples.launcher/build.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-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/hglegal2002.htm b/examples/org.eclipse.swt.examples.launcher/doc-html/hglegal2002.htm
deleted file mode 100644
index 74393f0..0000000
--- a/examples/org.eclipse.swt.examples.launcher/doc-html/hglegal2002.htm
+++ /dev/null
@@ -1,14 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">

-<html>

-<head>

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

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

-   <title>Legal Notices</title>

-</head>

-<body>

-

-<h3>

-<a NAME="Notices"></a>Notices</h3>

-(c) Copyright IBM Corp. 2000, 2002. All Rights Reserved.

-</body>

-</html>

diff --git a/examples/org.eclipse.swt.examples.launcher/doc-html/ngibmcpy2002.gif b/examples/org.eclipse.swt.examples.launcher/doc-html/ngibmcpy2002.gif
deleted file mode 100644
index 61cef48..0000000
--- a/examples/org.eclipse.swt.examples.launcher/doc-html/ngibmcpy2002.gif
+++ /dev/null
Binary files differ
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 6ed2891..0000000
--- a/examples/org.eclipse.swt.examples.launcher/doc-html/swt_launcher_ex.html
+++ /dev/null
@@ -1,45 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">

-<html>

-<head>

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

-   <title>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>

-

-<h3>Running the Example Launcher</h3>

-

-<p>

-From the Window menu, select Show View --> Other. 

-In the Show View dialog, expand SWT Examples and select the SWT Example Launcher view. 

-A view containing a list of examples will appear in your current perspective.

-Select an example from the list.  A brief description of the example is displayed.

-Click on the Run button to launch the example.

-</p>

-

-

-<h3>Details</h3>

-<p>The example launcher view contains a tree list, a text area, and a button.

-The tree list contains a list of all the SWT examples you can choose

-to run. When an example is selected from the tree, the text area

-displays a short description of the example. The selected example can

-be launched by clicking on the Run button.  Standalone examples are run in the 

-same thread as the workbench's UI but they are not integrated into the perspective. 

-The launcher invokes the <code>open()</code> method of the standalone example.

-</p>

-

-<p><a href="hglegal2002.htm"><img SRC="ngibmcpy2002.gif" ALT="Copyright IBM Corporation and others 2000, 2002.  All Rights Reserved." BORDER=0 height=14 width=324></a></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 05c328a..0000000
--- a/examples/org.eclipse.swt.examples.launcher/plugin.properties
+++ /dev/null
@@ -1,39 +0,0 @@
-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 5f38538..0000000
--- a/examples/org.eclipse.swt.examples.launcher/plugin.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<plugin

-   id="org.eclipse.swt.examples.launcher"

-   name="%plugin.SWTLauncherExample.name"

-   version="2.1.0"

-   provider-name="%providerName"

-   class="org.eclipse.swt.examples.launcher.LauncherPlugin">

-

-<!-- Runtime -->

-<!-- Runtime -->

-<!-- Runtime -->

-<!-- Runtime -->

-   <runtime>

-      <library name="launcher.jar">

-            <packages prefixes="org.eclipse.swt.examples.launcher"/>

-      </library>

-   </runtime>

-<!-- Required plugins -->

-   <requires>

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

-      <import plugin="org.eclipse.swt.examples"/>

-   </requires>

-

-

-<!-- Extension points -->

-   <extension-point id="launchItems" name="%extension-point.launchItems.name" schema="schema/org.eclipse.swt.examples.launcher.launchItems.exsd"/>

-

-<!-- Extensions -->

-   <extension

-         id="application"

-         point="org.eclipse.core.runtime.applications">

-      <application>

-         <run

-               name="%launchitem.LauncherApplication.name"

-               class="org.eclipse.swt.examples.launcher.LauncherApplication">

-         </run>

-      </application>

-   </extension>

-   <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 c91ddc5..0000000
--- a/examples/org.eclipse.swt.examples.launcher/schema/org.eclipse.swt.examples.launcher.launchItems.exsd
+++ /dev/null
@@ -1,195 +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 '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.

-   </documentation>

-</annotation>

-

-   <element name="extension">

-      <complexType>

-         <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 "Standalone Program" 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 "Workbench View" 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's will be discarded.

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  The unique id of the parent category.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="item">

-      <annotation>

-         <documentation>

-            Specifies a launch item.

-         </documentation>

-      </annotation>

-      <complexType>

-         <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'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 "false" to disable this launch item, or to "true" 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>

-

-</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 265131a..0000000
--- a/examples/org.eclipse.swt.examples.launcher/src/import.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-# 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 11ff937..0000000
--- a/examples/org.eclipse.swt.examples.launcher/src/org/eclipse/swt/examples/launcher/ItemDescriptor.java
+++ /dev/null
Binary files differ
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 9f6717e..0000000
--- a/examples/org.eclipse.swt.examples.launcher/src/org/eclipse/swt/examples/launcher/ItemTreeNode.java
+++ /dev/null
@@ -1,75 +0,0 @@
-package org.eclipse.swt.examples.launcher;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- */
-
-/**
- * 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 21a6801..0000000
--- a/examples/org.eclipse.swt.examples.launcher/src/org/eclipse/swt/examples/launcher/LauncherPlugin.java
+++ /dev/null
Binary files differ
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 8177538..0000000
--- a/examples/org.eclipse.swt.examples.launcher/src/org/eclipse/swt/examples/launcher/LauncherView.java
+++ /dev/null
@@ -1,229 +0,0 @@
-package org.eclipse.swt.examples.launcher;

-

-/*

- * Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html

- */

-

-import org.eclipse.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.NULL);

-		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);

-				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.NULL);

-		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 {

-			Class cl = Class.forName(itemDescriptor.getMainType());

-			Display display = workbenchShell.getDisplay();

-			Object exampleInstance = cl.newInstance();

-			Method openMethod = cl.getDeclaredMethod("open", new Class[] {Display.class});

-			openMethod.invoke(exampleInstance, new Object[] {display});

-		} catch (NoSuchMethodException e) {

-			LauncherPlugin.logError(LauncherPlugin.getResourceString("run.error.DoesNotImplementMethod"), null);

-		} catch (ClassNotFoundException e) {

-			LauncherPlugin.logError(LauncherPlugin.getResourceString("run.error.CouldNotFindClass"), e);

-		} 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);

-	}

-}
\ No newline at end of file
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 6eee1cd..0000000
--- a/examples/org.eclipse.swt.examples.launcher/src/org/eclipse/swt/examples/launcher/SplitLayout.java
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.layouts/.classpath b/examples/org.eclipse.swt.examples.layouts/.classpath
deleted file mode 100644
index da6f3cc..0000000
--- a/examples/org.eclipse.swt.examples.layouts/.classpath
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-    <classpathentry kind="src" path="src"/>
-    <classpathentry kind="var" path="JRE_LIB"/>
-    <classpathentry kind="src" path="/org.eclipse.swt.examples"/>
-    <classpathentry kind="src" path="/org.eclipse.swt"/>
-    <classpathentry kind="var" path="ECLIPSE_HOME/plugins/org.eclipse.core.runtime_2.1.0/runtime.jar"/>
-    <classpathentry kind="var" path="ECLIPSE_HOME/plugins/org.eclipse.ui.workbench_2.1.0/workbench.jar"/>
-    <classpathentry kind="var" path="ECLIPSE_HOME/plugins/org.eclipse.jface_2.1.0/jface.jar"/>
-    <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 cbc0d66..0000000
--- a/examples/org.eclipse.swt.examples.layouts/.project
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<projectDescription>

-	<name>org.eclipse.swt.examples.layouts</name>

-	<comment></comment>

-	<projects>

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

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

-	</projects>

-	<buildSpec>

-		<buildCommand>

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

-			<arguments>

-			</arguments>

-		</buildCommand>

-		<buildCommand>

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

-			<arguments>

-			</arguments>

-		</buildCommand>

-		<buildCommand>

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

-			<arguments>

-			</arguments>

-		</buildCommand>

-	</buildSpec>

-	<natures>

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

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

-	</natures>

-</projectDescription>

diff --git a/examples/org.eclipse.swt.examples.layouts/about.html b/examples/org.eclipse.swt.examples.layouts/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/examples/org.eclipse.swt.examples.layouts/about.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>20th June, 2002</p>	
-<h3>License</h3>
-<p>Eclipse.org makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Common Public License Version 1.0 (&quot;CPL&quot;).  A copy of the CPL is available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>.
-For purposes of the CPL, &quot;Program&quot; will mean the Content.</p>
-
-<h3>Contributions</h3>
-
-<p>If this Content is licensed to you under the terms and conditions of the CPL, any Contributions, as defined in the CPL, uploaded, submitted, or otherwise
-made available to Eclipse.org, members of Eclipse.org and/or the host of Eclipse.org web site, by you that relate to such
-Content are provided under the terms and conditions of the CPL and can be made available to others under the terms of the CPL.</p>
-
-<p>If this Content is licensed to you under license terms and conditions other than the CPL (&quot;Other License&quot;), any modifications, enhancements and/or
-other code and/or documentation (&quot;Modifications&quot;) uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the
-host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available
-to others under the terms of the Other License.  In addition, with regard to Modifications for which you are the copyright holder, you are also
-providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of
-the CPL.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.examples.layouts/build.properties b/examples/org.eclipse.swt.examples.layouts/build.properties
deleted file mode 100644
index a6d8f5e..0000000
--- a/examples/org.eclipse.swt.examples.layouts/build.properties
+++ /dev/null
@@ -1,10 +0,0 @@
-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/hglegal2002.htm b/examples/org.eclipse.swt.examples.layouts/doc-html/hglegal2002.htm
deleted file mode 100644
index 74393f0..0000000
--- a/examples/org.eclipse.swt.examples.layouts/doc-html/hglegal2002.htm
+++ /dev/null
@@ -1,14 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">

-<html>

-<head>

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

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

-   <title>Legal Notices</title>

-</head>

-<body>

-

-<h3>

-<a NAME="Notices"></a>Notices</h3>

-(c) Copyright IBM Corp. 2000, 2002. All Rights Reserved.

-</body>

-</html>

diff --git a/examples/org.eclipse.swt.examples.layouts/doc-html/ngibmcpy2002.gif b/examples/org.eclipse.swt.examples.layouts/doc-html/ngibmcpy2002.gif
deleted file mode 100644
index 61cef48..0000000
--- a/examples/org.eclipse.swt.examples.layouts/doc-html/ngibmcpy2002.gif
+++ /dev/null
Binary files differ
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 d021ab3..0000000
--- a/examples/org.eclipse.swt.examples.layouts/doc-html/swt_layout_ex.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">

-<html>

-<head>

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

-   <title>SWT - Layout Overview</title>

-</head>

-<body>

-

-<h2>SWT Example - Layout Overview</h2>

-

-<p>	

-This example is a simple demonstration of common SWT layouts. 

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

-</p>

-

-<h3>Running the example</h3>

-

-<p>From the Window menu select Show View --> Other.  

-In the Show View dialog, expand SWT Examples and select the

-view named SWT Layouts.  A view titled SWT Layouts will appear in your current perspective.

-</p>

-

-<p><a href="hglegal2002.htm"><img SRC="ngibmcpy2002.gif" ALT="Copyright IBM Corporation and others 2000, 2002.  All Rights Reserved." BORDER=0 height=14 width=324></a></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 2e18a43..0000000
--- a/examples/org.eclipse.swt.examples.layouts/plugin.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-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 a2428dd..0000000
--- a/examples/org.eclipse.swt.examples.layouts/plugin.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-   id="org.eclipse.swt.examples.layouts"
-   name="%plugin.SWTLayoutExample.name"
-   version="2.1.0"
-   provider-name="%providerName"
-   class="org.eclipse.swt.examples.layouts.LayoutPlugin">
-
-<!-- Runtime -->
-<!-- Runtime -->
-   <runtime>
-      <library name="layouts.jar">
-            <packages prefixes="org.eclipse.swt.examples.layouts"/>
-      </library>
-   </runtime>
-<!-- Required plugins -->
-   <requires>
-      <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 265131a..0000000
--- a/examples/org.eclipse.swt.examples.layouts/src/import.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-# 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 2a0312a..0000000
--- a/examples/org.eclipse.swt.examples.layouts/src/org/eclipse/swt/examples/layouts/LayoutPlugin.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.eclipse.swt.examples.layouts;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- */
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.ui.plugin.*;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class LayoutPlugin extends AbstractUIPlugin {
-	/**
-	 * The constructor.
-	 */
-	public LayoutPlugin(IPluginDescriptor descriptor) {
-		super(descriptor);
-	}
-	
-	/**
-	 * Clean up
-	 */
-	public void shutdown() throws CoreException {
-		super.shutdown();
-	}
-}
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 3ab737a..0000000
--- a/examples/org.eclipse.swt.examples.layouts/src/org/eclipse/swt/examples/layouts/LayoutView.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package org.eclipse.swt.examples.layouts;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- */
- 
-import org.eclipse.swt.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 34eb16e..0000000
--- a/examples/org.eclipse.swt.examples.ole.win32/.classpath
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-    <classpathentry kind="src" path="src"/>
-    <classpathentry kind="var" path="JRE_LIB"/>
-    <classpathentry kind="src" path="/org.eclipse.swt"/>
-    <classpathentry kind="var" path="ECLIPSE_HOME/plugins/org.eclipse.core.runtime_2.1.0/runtime.jar"/>
-    <classpathentry kind="var" path="ECLIPSE_HOME/plugins/org.eclipse.ui.workbench_2.1.0/workbench.jar"/>
-    <classpathentry kind="var" path="ECLIPSE_HOME/plugins/org.eclipse.jface_2.1.0/jface.jar"/>
-    <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 b160136..0000000
--- a/examples/org.eclipse.swt.examples.ole.win32/.project
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<projectDescription>

-	<name>org.eclipse.swt.examples.ole.win32</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>

-	</natures>

-</projectDescription>

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 9db411a..0000000
--- a/examples/org.eclipse.swt.examples.ole.win32/about.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>20th June, 2002</p>	
-<h3>License</h3>
-<p>Eclipse.org makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Common Public License Version 1.0 (&quot;CPL&quot;).  A copy of the CPL is available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>.
-For purposes of the CPL, &quot;Program&quot; will mean the Content.</p>
-
-<h3>Contributions</h3>
-
-<p>If this Content is licensed to you under the terms and conditions of the CPL, any Contributions, as defined in the CPL, uploaded, submitted, or otherwise
-made available to Eclipse.org, members of Eclipse.org and/or the host of Eclipse.org web site, by you that relate to such
-Content are provided under the terms and conditions of the CPL and can be made available to others under the terms of the CPL.</p>
-
-<p>If this Content is licensed to you under license terms and conditions other than the CPL (&quot;Other License&quot;), any modifications, enhancements and/or
-other code and/or documentation (&quot;Modifications&quot;) uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the
-host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available
-to others under the terms of the Other License.  In addition, with regard to Modifications for which you are the copyright holder, you are also
-providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of
-the CPL.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.examples.ole.win32/build.properties b/examples/org.eclipse.swt.examples.ole.win32/build.properties
deleted file mode 100755
index ac90c6f..0000000
--- a/examples/org.eclipse.swt.examples.ole.win32/build.properties
+++ /dev/null
@@ -1,10 +0,0 @@
-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/hglegal2002.htm b/examples/org.eclipse.swt.examples.ole.win32/doc-html/hglegal2002.htm
deleted file mode 100644
index 74393f0..0000000
--- a/examples/org.eclipse.swt.examples.ole.win32/doc-html/hglegal2002.htm
+++ /dev/null
@@ -1,14 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">

-<html>

-<head>

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

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

-   <title>Legal Notices</title>

-</head>

-<body>

-

-<h3>

-<a NAME="Notices"></a>Notices</h3>

-(c) Copyright IBM Corp. 2000, 2002. All Rights Reserved.

-</body>

-</html>

diff --git a/examples/org.eclipse.swt.examples.ole.win32/doc-html/ngibmcpy2002.gif b/examples/org.eclipse.swt.examples.ole.win32/doc-html/ngibmcpy2002.gif
deleted file mode 100644
index 61cef48..0000000
--- a/examples/org.eclipse.swt.examples.ole.win32/doc-html/ngibmcpy2002.gif
+++ /dev/null
Binary files differ
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 8191de1..0000000
--- a/examples/org.eclipse.swt.examples.ole.win32/doc-html/swt_ole_ex.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">

-<html>

-<head>

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

-   <title>SWT - OLE Web Browser</title>

-</head>

-<body>

-

-<h2>Example - OLE Web Browser</h2>

-

-<p>

-This example demonstrates 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

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

-</p>

-

-<h3>Running the example</h3>

-

-<p>

-From the Window menu select Show View --> Other.  

-In the Show View dialog, expand SWT Examples and select

-the view named OLE Web Browser (Win32). A view containing a web browser will appear.

-</p>

-

-<p><a href="hglegal2002.htm"><img SRC="ngibmcpy2002.gif" ALT="Copyright IBM Corporation and others 2000, 2002.  All Rights Reserved." BORDER=0 height=14 width=324></a></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 82d8e49..0000000
--- a/examples/org.eclipse.swt.examples.ole.win32/plugin.properties
+++ /dev/null
@@ -1,50 +0,0 @@
-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>>

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 09b30f9..0000000
--- a/examples/org.eclipse.swt.examples.ole.win32/plugin.xml
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<!-- File written by PDE 1.0 -->

-<plugin

-   id="org.eclipse.swt.examples.ole.win32"

-   name="%plugin.SWTOLEExample.name"

-   version="2.1.0"

-   provider-name="%providerName"

-   class="org.eclipse.swt.examples.ole.win32.OlePlugin">

-<!-- Required plugins -->

-<requires>

-   <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">

-      <packages prefixes="org.eclipse.swt.examples.ole"/>

-   </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>

-</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 265131a..0000000
--- a/examples/org.eclipse.swt.examples.ole.win32/src/import.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-# 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/OleBrowserView.java b/examples/org.eclipse.swt.examples.ole.win32/src/org/eclipse/swt/examples/ole/win32/OleBrowserView.java
deleted file mode 100755
index 4efbe37..0000000
--- a/examples/org.eclipse.swt.examples.ole.win32/src/org/eclipse/swt/examples/ole/win32/OleBrowserView.java
+++ /dev/null
Binary files differ
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 478c97b..0000000
--- a/examples/org.eclipse.swt.examples.ole.win32/src/org/eclipse/swt/examples/ole/win32/OlePlugin.java
+++ /dev/null
Binary files differ
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 b82c9d5..0000000
--- a/examples/org.eclipse.swt.examples.ole.win32/src/org/eclipse/swt/examples/ole/win32/OleWebBrowser.java
+++ /dev/null
@@ -1,224 +0,0 @@
-package org.eclipse.swt.examples.ole.win32;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2002.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html

- */

-

-import org.eclipse.swt.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 bba8e78..0000000
--- a/examples/org.eclipse.swt.examples.paint/.classpath
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-    <classpathentry kind="src" path="src"/>
-    <classpathentry kind="var" path="JRE_LIB"/>
-    <classpathentry kind="src" path="/org.eclipse.swt"/>
-    <classpathentry kind="var" path="ECLIPSE_HOME/plugins/org.eclipse.core.runtime_2.1.0/runtime.jar"/>
-    <classpathentry kind="var" path="ECLIPSE_HOME/plugins/org.eclipse.jface_2.1.0/jface.jar"/>
-    <classpathentry kind="var" path="ECLIPSE_HOME/plugins/org.eclipse.ui.workbench_2.1.0/workbench.jar"/>
-    <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 3cb7c3e..0000000
--- a/examples/org.eclipse.swt.examples.paint/.project
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<projectDescription>

-	<name>org.eclipse.swt.examples.paint</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>

-	</natures>

-</projectDescription>

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 9db411a..0000000
--- a/examples/org.eclipse.swt.examples.paint/about.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>20th June, 2002</p>	
-<h3>License</h3>
-<p>Eclipse.org makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Common Public License Version 1.0 (&quot;CPL&quot;).  A copy of the CPL is available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>.
-For purposes of the CPL, &quot;Program&quot; will mean the Content.</p>
-
-<h3>Contributions</h3>
-
-<p>If this Content is licensed to you under the terms and conditions of the CPL, any Contributions, as defined in the CPL, uploaded, submitted, or otherwise
-made available to Eclipse.org, members of Eclipse.org and/or the host of Eclipse.org web site, by you that relate to such
-Content are provided under the terms and conditions of the CPL and can be made available to others under the terms of the CPL.</p>
-
-<p>If this Content is licensed to you under license terms and conditions other than the CPL (&quot;Other License&quot;), any modifications, enhancements and/or
-other code and/or documentation (&quot;Modifications&quot;) uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the
-host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available
-to others under the terms of the Other License.  In addition, with regard to Modifications for which you are the copyright holder, you are also
-providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of
-the CPL.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.examples.paint/build.properties b/examples/org.eclipse.swt.examples.paint/build.properties
deleted file mode 100755
index db39eb3..0000000
--- a/examples/org.eclipse.swt.examples.paint/build.properties
+++ /dev/null
@@ -1,10 +0,0 @@
-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/hglegal2002.htm b/examples/org.eclipse.swt.examples.paint/doc-html/hglegal2002.htm
deleted file mode 100644
index 74393f0..0000000
--- a/examples/org.eclipse.swt.examples.paint/doc-html/hglegal2002.htm
+++ /dev/null
@@ -1,14 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">

-<html>

-<head>

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

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

-   <title>Legal Notices</title>

-</head>

-<body>

-

-<h3>

-<a NAME="Notices"></a>Notices</h3>

-(c) Copyright IBM Corp. 2000, 2002. All Rights Reserved.

-</body>

-</html>

diff --git a/examples/org.eclipse.swt.examples.paint/doc-html/ngibmcpy2002.gif b/examples/org.eclipse.swt.examples.paint/doc-html/ngibmcpy2002.gif
deleted file mode 100644
index 61cef48..0000000
--- a/examples/org.eclipse.swt.examples.paint/doc-html/ngibmcpy2002.gif
+++ /dev/null
Binary files differ
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 8449ba4..0000000
--- a/examples/org.eclipse.swt.examples.paint/doc-html/swt_paint_ex.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">

-<html>

-<head>

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

-   <title>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 Airbrush 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 for the foreground color, right-click for the

-background color.

-</p>

-<p>

-Uses SWT's GC and FontDialog, and JFace's InputDialog and action set support.

-</p>

-

-<h3>Running the example</h3>

-

-<p>From the Window menu select Show View --> Other.  

-In the Show View dialog, expand SWT Examples and select the

-view named Paint.  A view titled Paint will appear in your current perspective.

-</p>

-

-<p><a href="hglegal2002.htm"><img SRC="ngibmcpy2002.gif" ALT="Copyright IBM Corporation and others 2000, 2002.  All Rights Reserved." BORDER=0 height=14 width=324></a></p>

-</body>

-</html>

diff --git a/examples/org.eclipse.swt.examples.paint/icons/fill_none.gif b/examples/org.eclipse.swt.examples.paint/icons/fill_none.gif
deleted file mode 100755
index d26dd58..0000000
--- a/examples/org.eclipse.swt.examples.paint/icons/fill_none.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.paint/icons/fill_outline.gif b/examples/org.eclipse.swt.examples.paint/icons/fill_outline.gif
deleted file mode 100755
index c6ccfee..0000000
--- a/examples/org.eclipse.swt.examples.paint/icons/fill_outline.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.paint/icons/fill_solid.gif b/examples/org.eclipse.swt.examples.paint/icons/fill_solid.gif
deleted file mode 100755
index cb34e64..0000000
--- a/examples/org.eclipse.swt.examples.paint/icons/fill_solid.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.paint/icons/linestyle_dash.gif b/examples/org.eclipse.swt.examples.paint/icons/linestyle_dash.gif
deleted file mode 100644
index fb57bb3..0000000
--- a/examples/org.eclipse.swt.examples.paint/icons/linestyle_dash.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.paint/icons/linestyle_dashdot.gif b/examples/org.eclipse.swt.examples.paint/icons/linestyle_dashdot.gif
deleted file mode 100644
index 322968c..0000000
--- a/examples/org.eclipse.swt.examples.paint/icons/linestyle_dashdot.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.paint/icons/linestyle_dot.gif b/examples/org.eclipse.swt.examples.paint/icons/linestyle_dot.gif
deleted file mode 100644
index 4937ccb..0000000
--- a/examples/org.eclipse.swt.examples.paint/icons/linestyle_dot.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.paint/icons/linestyle_solid.gif b/examples/org.eclipse.swt.examples.paint/icons/linestyle_solid.gif
deleted file mode 100644
index 70a57ce..0000000
--- a/examples/org.eclipse.swt.examples.paint/icons/linestyle_solid.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.paint/icons/options_font.gif b/examples/org.eclipse.swt.examples.paint/icons/options_font.gif
deleted file mode 100755
index 965fe08..0000000
--- a/examples/org.eclipse.swt.examples.paint/icons/options_font.gif
+++ /dev/null
Binary files differ
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 c48d9a9..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/icons/tool_airbrush.gif b/examples/org.eclipse.swt.examples.paint/icons/tool_airbrush.gif
deleted file mode 100755
index a310edd..0000000
--- a/examples/org.eclipse.swt.examples.paint/icons/tool_airbrush.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.paint/icons/tool_ellipse.gif b/examples/org.eclipse.swt.examples.paint/icons/tool_ellipse.gif
deleted file mode 100755
index dc2142f..0000000
--- a/examples/org.eclipse.swt.examples.paint/icons/tool_ellipse.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.paint/icons/tool_line.gif b/examples/org.eclipse.swt.examples.paint/icons/tool_line.gif
deleted file mode 100755
index 2ff819f..0000000
--- a/examples/org.eclipse.swt.examples.paint/icons/tool_line.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.paint/icons/tool_pencil.gif b/examples/org.eclipse.swt.examples.paint/icons/tool_pencil.gif
deleted file mode 100755
index f16a234..0000000
--- a/examples/org.eclipse.swt.examples.paint/icons/tool_pencil.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.paint/icons/tool_polyline.gif b/examples/org.eclipse.swt.examples.paint/icons/tool_polyline.gif
deleted file mode 100755
index aa384e9..0000000
--- a/examples/org.eclipse.swt.examples.paint/icons/tool_polyline.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.paint/icons/tool_rectangle.gif b/examples/org.eclipse.swt.examples.paint/icons/tool_rectangle.gif
deleted file mode 100755
index d26dd58..0000000
--- a/examples/org.eclipse.swt.examples.paint/icons/tool_rectangle.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.paint/icons/tool_roundedrectangle.gif b/examples/org.eclipse.swt.examples.paint/icons/tool_roundedrectangle.gif
deleted file mode 100755
index bf845d7..0000000
--- a/examples/org.eclipse.swt.examples.paint/icons/tool_roundedrectangle.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.paint/icons/tool_text.gif b/examples/org.eclipse.swt.examples.paint/icons/tool_text.gif
deleted file mode 100755
index 0d7457f..0000000
--- a/examples/org.eclipse.swt.examples.paint/icons/tool_text.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 7ec46f1..0000000
--- a/examples/org.eclipse.swt.examples.paint/plugin.properties
+++ /dev/null
@@ -1,124 +0,0 @@
-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.

-

-menu.Tools.label = Tools

-menu.Options.label = Options

-

-tool.Pencil.label = Pencil

-tool.Pencil.tooltip = Pencil tool

-tool.Pencil.image = icons/tool_pencil.gif

-tool.Pencil.description = Selects the Pencil tool.

-

-tool.Airbrush.label = Airbrush

-tool.Airbrush.tooltip = Airbrush tool

-tool.Airbrush.image = icons/tool_airbrush.gif

-tool.Airbrush.description = Selects the Airbrush tool.

-

-tool.Line.label = Line

-tool.Line.tooltip = Line tool

-tool.Line.image = icons/tool_line.gif

-tool.Line.description = Selects the Line tool.

-

-tool.PolyLine.label = Polygon

-tool.PolyLine.tooltip = Polygon tool

-tool.PolyLine.image = icons/tool_polyline.gif

-tool.PolyLine.description = Selects the PolyLine tool.

-

-tool.Rectangle.label = Rectangle

-tool.Rectangle.tooltip = Rectangle tool

-tool.Rectangle.image = icons/tool_rectangle.gif

-tool.Rectangle.description = Selects the Rectangle tool.

-

-tool.Ellipse.label = Ellipse

-tool.Ellipse.tooltip = Ellipse tool

-tool.Ellipse.image = icons/tool_ellipse.gif

-tool.Ellipse.description = Selects the Ellipse tool.

-

-tool.RoundedRectangle.label = Rounded Rectangle

-tool.RoundedRectangle.tooltip = Rounded Rectangle

-tool.RoundedRectangle.image = icons/tool_roundedrectangle.gif

-tool.RoundedRectangle.description = Selects the Rounded Rectangle tool.

-

-tool.Text.label = Text

-tool.Text.tooltip = Text tool

-tool.Text.image = icons/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 = icons/fill_none.gif

-fill.None.description = Selects No Fill mode.

-

-fill.Outline.label = Outline Fill

-fill.Outline.tooltip = Outline fill mode

-fill.Outline.image = icons/fill_outline.gif

-fill.Outline.description = Selects Outline Fill mode.

-

-fill.Solid.label = Solid Fill

-fill.Solid.tooltip = Solid fill mode

-fill.Solid.image = icons/fill_solid.gif

-fill.Solid.description = Selects Solid Fill mode.

-

-linestyle.Solid.label = Solid Line

-linestyle.Solid.tooltip = Solid line style

-linestyle.Solid.image = icons/linestyle_solid.gif

-linestyle.Solid.description = Select Solid Line style.

-

-linestyle.Dot.label = Dotted Line

-linestyle.Dot.tooltip = Dotted line style

-linestyle.Dot.image = icons/linestyle_dot.gif

-linestyle.Dot.description = Select Dotted Line style.

-

-linestyle.Dash.label = Dashed Line

-linestyle.Dash.tooltip = Dashed line style

-linestyle.Dash.image = icons/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 = icons/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 = icons/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.paint/plugin.xml b/examples/org.eclipse.swt.examples.paint/plugin.xml
deleted file mode 100755
index 33c25be..0000000
--- a/examples/org.eclipse.swt.examples.paint/plugin.xml
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<plugin

-   id="org.eclipse.swt.examples.paint"

-   name="%plugin.SWTPaintExample.name"

-   version="2.1.0"

-   provider-name="%providerName"

-   class="org.eclipse.swt.examples.paint.PaintPlugin">

-

-<!-- Runtime -->

-   <runtime>

-      <library name="paint.jar">

-         <packages prefixes="org.eclipse.swt.examples.paint"/>

-      </library>

-   </runtime>

-<!-- Required plugins -->

-   <requires>

-      <import plugin="org.eclipse.core.runtime"/>

-      <import plugin="org.eclipse.core.resources"/>

-      <import plugin="org.eclipse.ui"/>

-      <import plugin="org.eclipse.swt"/>

-   </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 265131a..0000000
--- a/examples/org.eclipse.swt.examples.paint/src/import.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-# 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/AirbrushTool.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/AirbrushTool.java
deleted file mode 100755
index b6884de..0000000
--- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/AirbrushTool.java
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/BasicPaintSession.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/BasicPaintSession.java
deleted file mode 100755
index 1a7e394..0000000
--- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/BasicPaintSession.java
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/ContainerFigure.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/ContainerFigure.java
deleted file mode 100755
index 8416429..0000000
--- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/ContainerFigure.java
+++ /dev/null
@@ -1,89 +0,0 @@
-package org.eclipse.swt.examples.paint;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2002.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html

- */

-

-import org.eclipse.swt.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.paint/src/org/eclipse/swt/examples/paint/ContinuousPaintSession.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/ContinuousPaintSession.java
deleted file mode 100755
index f5efcb7..0000000
--- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/ContinuousPaintSession.java
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/DragPaintSession.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/DragPaintSession.java
deleted file mode 100755
index 728f170..0000000
--- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/DragPaintSession.java
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/EllipseFigure.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/EllipseFigure.java
deleted file mode 100755
index 27eedb3..0000000
--- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/EllipseFigure.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package org.eclipse.swt.examples.paint;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2002.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html

- */

-

-import org.eclipse.swt.*;

-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.paint/src/org/eclipse/swt/examples/paint/EllipseTool.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/EllipseTool.java
deleted file mode 100755
index 3b3f11f..0000000
--- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/EllipseTool.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package org.eclipse.swt.examples.paint;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2002.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html

- */

-

-import org.eclipse.swt.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 PaintPlugin.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.paint/src/org/eclipse/swt/examples/paint/Figure.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/Figure.java
deleted file mode 100755
index be049d1..0000000
--- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/Figure.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package org.eclipse.swt.examples.paint;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2002.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html

- */

-

-import org.eclipse.swt.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.paint/src/org/eclipse/swt/examples/paint/FigureDrawContext.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/FigureDrawContext.java
deleted file mode 100644
index 4c08aa8..0000000
--- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/FigureDrawContext.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package org.eclipse.swt.examples.paint;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2002.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html

- */

-

-import org.eclipse.swt.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.paint/src/org/eclipse/swt/examples/paint/LineFigure.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/LineFigure.java
deleted file mode 100755
index f7b0605..0000000
--- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/LineFigure.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package org.eclipse.swt.examples.paint;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2002.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html

- */

-

-import org.eclipse.swt.*;

-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.paint/src/org/eclipse/swt/examples/paint/LineTool.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/LineTool.java
deleted file mode 100755
index f919965..0000000
--- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/LineTool.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package org.eclipse.swt.examples.paint;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2002.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html

- */

-

-import org.eclipse.swt.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 PaintPlugin.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.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 e4da0cf..0000000
--- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintPlugin.java
+++ /dev/null
@@ -1,80 +0,0 @@
-package org.eclipse.swt.examples.paint;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2002.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html

- */

-

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

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

-

-import java.text.*;

-import java.util.*;

-

-/**

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

- */

-public class PaintPlugin extends AbstractUIPlugin {

-	//The shared instance.

-	private static PaintPlugin plugin;

-	private static ResourceBundle resourceBundle;

-

-	/**

-	 * Constructs the Paint plugin.

-	 */

-	public PaintPlugin(IPluginDescriptor descriptor) {

-		super(descriptor);

-		plugin = this;

-		resourceBundle = descriptor.getResourceBundle();

-	}

-	

-	/**

-	 * Returns the shared instance.

-	 */

-	public static PaintPlugin getDefault() {

-		return plugin;

-	}

-

-	/**

-	 * 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.getDescriptor().getUniqueIdentifier(),

-			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 + "!";

-		}

-	}

-}

diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintSession.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintSession.java
deleted file mode 100755
index a5a43d0..0000000
--- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintSession.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package org.eclipse.swt.examples.paint;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2002.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html

- */

-

-import org.eclipse.swt.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.paint/src/org/eclipse/swt/examples/paint/PaintSurface.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintSurface.java
deleted file mode 100755
index f9fd206..0000000
--- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintSurface.java
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintTool.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintTool.java
deleted file mode 100755
index da27e96..0000000
--- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintTool.java
+++ /dev/null
Binary files differ
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 174de42..0000000
--- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintView.java
+++ /dev/null
@@ -1,496 +0,0 @@
-package org.eclipse.swt.examples.paint;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2002.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html

- */

-

-import org.eclipse.jface.action.*;

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

-import org.eclipse.swt.*;

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

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

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

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

-import org.eclipse.ui.*;

-import org.eclipse.ui.part.*;

-

-import java.net.*;

-import java.util.*;

-

-/**

- * The view for the paint application.

- * All rendering happens inside the area created by createPartControl().

- * 

- * @see ViewPart

- */

-public class PaintView extends ViewPart {

-	private Display workbenchDisplay;

-

-	// current active settings

-	private ToolSettings toolSettings;

-

-	// paint surface for drawing

-	private PaintSurface paintSurface;

-

-	// map action ids to useful data

-	private HashMap /* of String to PaintTool */ paintToolMap;

-	private HashMap /* of String to Integer */ paintFillTypeMap;

-	private HashMap /* of String to Integer */ paintLineStyleMap;

-	

-	/** UI data **/

-	// handle of currently active tool IAction on the UI

-	private IAction activeToolAction;

-	// handle of currently active filltype IAction on the UI

-	private IAction activeFillTypeAction;

-	// handle of currently active linetype IAction on the UI

-	private IAction activeLineStyleAction;

-

-	// handle of active foreground color box Canvas widget

-	private Canvas activeForegroundColorCanvas;

-	// handle of active background color box Canvas widget

-	private Canvas activeBackgroundColorCanvas;

-	

-	private static final int numPaletteRows = 3;

-	private static final int numPaletteCols = 50;

-

-	// shared data	

-	private Color paintColorBlack, paintColorWhite; // alias for paintColors[0] and [1]

-	private Color[] paintColors;

-	private Font paintDefaultFont; // do not free

-

-	/**

-	 * Constructs a Paint view.

-	 */

-	public PaintView() {

-	}

-

-	/**

-	 * Cleanup

-	 */

-	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;

-		super.dispose();

-	}

-	

-	/**

-	 * Called when we must grab focus.

-	 * 

-	 * @see org.eclipse.ui.part.ViewPart#setFocus

-	 */

-	public void setFocus() {

-		paintSurface.setFocus();

-	}

-

-	/**

-	 * Creates the example.

-	 * 

-	 * @see ViewPart#createPartControl

-	 */

-	public void createPartControl(Composite parent) {

-		/*** Initialize shared data ***/

-		workbenchDisplay = parent.getDisplay();

-		

-		paintColorWhite = new Color(workbenchDisplay, 255, 255, 255);

-		paintColorBlack = new Color(workbenchDisplay, 0, 0, 0);

-		

-		paintDefaultFont = workbenchDisplay.getSystemFont();

-

-		paintColors = new Color[numPaletteCols * numPaletteRows];

-		paintColors[0] = paintColorBlack;

-		paintColors[1] = paintColorWhite;

-		for (int i = 2; i < paintColors.length; i++) {

-			paintColors[i] = new Color(workbenchDisplay,

-				((i*7)%255),((i*23)%255), ((i*51)%255));

-		}

-

-		toolSettings = new ToolSettings();

-		toolSettings.commonForegroundColor = paintColorBlack;

-		toolSettings.commonBackgroundColor = paintColorWhite;

-		toolSettings.commonFont = paintDefaultFont;

-

-		/*** Add toolbar contributions ***/

-		final IActionBars actionBars = getViewSite().getActionBars();

-		IToolBarManager toolbarManager = actionBars.getToolBarManager();

-

-		toolbarManager.add(new GroupMarker("group.tools"));

-		toolbarManager.appendToGroup("group.tools", new SelectPaintToolAction("tool.Pencil"));

-		toolbarManager.appendToGroup("group.tools", new SelectPaintToolAction("tool.Airbrush"));

-		toolbarManager.appendToGroup("group.tools", new SelectPaintToolAction("tool.Line"));

-		toolbarManager.appendToGroup("group.tools", new SelectPaintToolAction("tool.PolyLine"));

-		toolbarManager.appendToGroup("group.tools", new SelectPaintToolAction("tool.Rectangle"));

-		toolbarManager.appendToGroup("group.tools", new SelectPaintToolAction("tool.RoundedRectangle"));

-		toolbarManager.appendToGroup("group.tools", new SelectPaintToolAction("tool.Ellipse"));

-		toolbarManager.appendToGroup("group.tools", new SelectPaintToolAction("tool.Text"));

-		toolbarManager.add(new Separator());

-		toolbarManager.add(new GroupMarker("group.options.fill"));

-		toolbarManager.appendToGroup("group.options.fill", new SelectFillTypeAction("fill.None"));

-		toolbarManager.appendToGroup("group.options.fill", new SelectFillTypeAction("fill.Outline"));

-		toolbarManager.appendToGroup("group.options.fill", new SelectFillTypeAction("fill.Solid"));

-		toolbarManager.add(new Separator());

-		toolbarManager.add(new GroupMarker("group.options.linestyle"));

-		toolbarManager.appendToGroup("group.options.linestyle", new SelectLineStyleAction("linestyle.Solid"));

-		toolbarManager.appendToGroup("group.options.linestyle", new SelectLineStyleAction("linestyle.Dash"));

-		toolbarManager.appendToGroup("group.options.linestyle", new SelectLineStyleAction("linestyle.Dot"));

-		toolbarManager.appendToGroup("group.options.linestyle", new SelectLineStyleAction("linestyle.DashDot"));

-		toolbarManager.add(new Separator());

-		toolbarManager.add(new GroupMarker("group.options"));

-		toolbarManager.appendToGroup("group.options", new SelectFontAction("options.Font"));

-		actionBars.updateActionBars();

-

-		/*** Build GUI ***/

-		createGUI(parent);

-

-		/*** Set defaults ***/

-		setPaintToolByID("tool.Pencil");

-		setFillTypeByID("fill.None");

-		setLineStyleByID("linestyle.Solid");

-		setForegroundColor(paintColorBlack);

-		setBackgroundColor(paintColorWhite);

-	}

-

-	/**

-	 * Creates the GUI.

-	 */

-	private 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);

-

-		// paintToolMap

-		paintToolMap = new HashMap();

-		paintToolMap.put("tool.Pencil", new PencilTool(toolSettings, paintSurface));

-		paintToolMap.put("tool.Airbrush", new AirbrushTool(toolSettings, paintSurface));

-		paintToolMap.put("tool.Line", new LineTool(toolSettings, paintSurface));

-		paintToolMap.put("tool.PolyLine", new PolyLineTool(toolSettings, paintSurface));

-		paintToolMap.put("tool.Rectangle", new RectangleTool(toolSettings, paintSurface));

-		paintToolMap.put("tool.RoundedRectangle", new RoundedRectangleTool(toolSettings, paintSurface));

-		paintToolMap.put("tool.Ellipse", new EllipseTool(toolSettings, paintSurface));

-		paintToolMap.put("tool.Text", new TextTool(toolSettings, paintSurface));

-		paintToolMap.put("tool.Null", null);

-

-		// paintFillTypeMap

-		paintFillTypeMap = new HashMap();

-		paintFillTypeMap.put("fill.None", new Integer(ToolSettings.ftNone));

-		paintFillTypeMap.put("fill.Outline", new Integer(ToolSettings.ftOutline));

-		paintFillTypeMap.put("fill.Solid", new Integer(ToolSettings.ftSolid));

-

-		// paintLineStyleMap

-		paintLineStyleMap = new HashMap();

-		paintLineStyleMap.put("linestyle.Solid", new Integer(SWT.LINE_SOLID));

-		paintLineStyleMap.put("linestyle.Dash", new Integer(SWT.LINE_DASH));

-		paintLineStyleMap.put("linestyle.Dot", new Integer(SWT.LINE_DOT));

-		paintLineStyleMap.put("linestyle.DashDot", new Integer(SWT.LINE_DASHDOT));

-

-		// 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(PaintPlugin.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(PaintPlugin.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();

-			}

-		});

-	}

-		

-	/**

-	 * 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();

-	}

-

-	/**

-	 * 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 setPaintToolByID(String id) {

-		activeToolAction = handleRadioAction(activeToolAction, id);

-		

-		final PaintTool paintTool = (PaintTool) paintToolMap.get(id);

-		paintSurface.setPaintSession(paintTool);

-		updateToolSettings();

-	}

-	

-	/**

-	 * Selects a filltype given its ID.

-	 */

-	public void setFillTypeByID(String id) {

-		activeFillTypeAction = handleRadioAction(activeFillTypeAction, id);

-		

-		final Integer fillType = (Integer) paintFillTypeMap.get(id);

-		toolSettings.commonFillType = fillType.intValue();

-		updateToolSettings();		

-	}

-

-	/**

-	 * Selects line type given its ID.

-	 */

-	public void setLineStyleByID(String id) {

-		activeLineStyleAction = handleRadioAction(activeLineStyleAction, id);

-		

-		final Integer lineType = (Integer) paintLineStyleMap.get(id);

-		toolSettings.commonLineStyle = lineType.intValue();

-		updateToolSettings();		

-	}

-

-	/**

-	 * Gets the IAction for an ID belonging to a set of mutually exclusive actions, and

-	 * toggles the old action off if necessary.

-	 */

-	private IAction handleRadioAction(IAction oldAction, String id) {

-		IAction action = getActionByID(id);

-		if (action != null) {

-			if (oldAction != null) oldAction.setChecked(false);

-			if (! action.isChecked()) action.setChecked(true);

-			return action;

-		}

-		return oldAction;

-	}

-

-	/**

-	 * Gets the IAction representing the UI toolbar button with the specified ID.

-	 */

-	private IAction getActionByID(String id) {

-		final IActionBars actionBars = getViewSite().getActionBars();

-		IToolBarManager toolbarManager = actionBars.getToolBarManager();

-		ActionContributionItem contributionItem = (ActionContributionItem) toolbarManager.find(id);

-		if (contributionItem == null) return null;

-		return contributionItem.getAction();

-	}

-

-	/**

-	 * Returns the Display.

-	 * 

-	 * @return the display we're using

-	 */

-	public Display getDisplay() {

-		return workbenchDisplay;

-	}

-	

-	/**

-	 * Action set glue.

-	 */

-	abstract class PaintAction extends Action {

-		public PaintAction(String id) {

-			super();

-			setId(id);

-

-			try {

-				final URL installUrl = PaintPlugin.getDefault().getDescriptor().getInstallURL();

-				final URL imageUrl = new URL(installUrl, PaintPlugin.getResourceString(id + ".image"));

-				setImageDescriptor(ImageDescriptor.createFromURL(imageUrl));

-			} catch (MalformedURLException e) {

-				PaintPlugin.logError("", e);	

-			}

-

-			setText(PaintPlugin.getResourceString(id + ".label"));

-			setToolTipText(PaintPlugin.getResourceString(id + ".tooltip"));

-			setDescription(PaintPlugin.getResourceString(id + ".description"));

-		}

-	}

-	class SelectPaintToolAction extends PaintAction {

-		public SelectPaintToolAction(String id) { super(id); }

-		public int getStyle() { return IAction.AS_CHECK_BOX; }

-		public void run() { setPaintToolByID(getId()); }

-		

-	}

-	class SelectFillTypeAction extends PaintAction {

-		public SelectFillTypeAction(String id) { super(id); }

-		public int getStyle() { return IAction.AS_CHECK_BOX; }

-		public void run() { setFillTypeByID(getId()); }

-	}

-	class SelectLineStyleAction extends PaintAction {

-		public SelectLineStyleAction(String id) { super(id); }

-		public int getStyle() { return IAction.AS_CHECK_BOX; }

-		public void run() { setLineStyleByID(getId()); }

-	}

-	class SelectFontAction extends PaintAction {

-		public SelectFontAction(String id) { super(id); }

-		public int getStyle() { return IAction.AS_PUSH_BUTTON; }

-		public void run() {

-			FontDialog fontDialog = new FontDialog(paintSurface.getShell(), SWT.PRIMARY_MODAL);

-			FontData[] fontDatum = toolSettings.commonFont.getFontData();

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

-				fontDialog.setFontData(fontDatum[0]);

-			}

-			fontDialog.setText(PaintPlugin.getResourceString("options.Font.dialog.title"));

-

-			paintSurface.hideRubberband();

-			FontData fontData = fontDialog.open();

-			paintSurface.showRubberband();

-			if (fontData != null) {

-				try {

-					Font font = new Font(workbenchDisplay, fontData);

-					toolSettings.commonFont = font;

-					updateToolSettings();

-				} catch (SWTException e) {

-				}

-			}

-		}

-	}

-}

diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PencilTool.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PencilTool.java
deleted file mode 100755
index ee51916..0000000
--- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PencilTool.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package org.eclipse.swt.examples.paint;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2002.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html

- */

-

-import org.eclipse.swt.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 PaintPlugin.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.paint/src/org/eclipse/swt/examples/paint/PointFigure.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PointFigure.java
deleted file mode 100644
index 07fedbd..0000000
--- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PointFigure.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package org.eclipse.swt.examples.paint;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2002.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html

- */

-

-import org.eclipse.swt.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.paint/src/org/eclipse/swt/examples/paint/PolyLineTool.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PolyLineTool.java
deleted file mode 100755
index f2db962..0000000
--- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PolyLineTool.java
+++ /dev/null
@@ -1,71 +0,0 @@
-package org.eclipse.swt.examples.paint;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2002.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html

- */

-

-import org.eclipse.swt.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 PaintPlugin.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.paint/src/org/eclipse/swt/examples/paint/RectangleFigure.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/RectangleFigure.java
deleted file mode 100755
index a2b4625..0000000
--- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/RectangleFigure.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package org.eclipse.swt.examples.paint;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2002.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html

- */

-

-import org.eclipse.swt.*;

-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.paint/src/org/eclipse/swt/examples/paint/RectangleTool.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/RectangleTool.java
deleted file mode 100755
index 2da6fa3..0000000
--- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/RectangleTool.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package org.eclipse.swt.examples.paint;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2002.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html

- */

-

-import org.eclipse.swt.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 PaintPlugin.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.paint/src/org/eclipse/swt/examples/paint/RoundedRectangleFigure.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/RoundedRectangleFigure.java
deleted file mode 100755
index 2dd0bfd..0000000
--- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/RoundedRectangleFigure.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package org.eclipse.swt.examples.paint;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2002.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html

- */

-

-import org.eclipse.swt.*;

-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.paint/src/org/eclipse/swt/examples/paint/RoundedRectangleTool.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/RoundedRectangleTool.java
deleted file mode 100755
index beec38e..0000000
--- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/RoundedRectangleTool.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package org.eclipse.swt.examples.paint;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2002.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html

- */

-

-import org.eclipse.swt.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 PaintPlugin.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.paint/src/org/eclipse/swt/examples/paint/SegmentedPaintSession.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/SegmentedPaintSession.java
deleted file mode 100755
index d1697eb..0000000
--- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/SegmentedPaintSession.java
+++ /dev/null
@@ -1,155 +0,0 @@
-package org.eclipse.swt.examples.paint;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2002.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html

- */

-

-import org.eclipse.swt.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(PaintPlugin.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(PaintPlugin.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(PaintPlugin.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

-		} else {

-			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.paint/src/org/eclipse/swt/examples/paint/SolidEllipseFigure.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/SolidEllipseFigure.java
deleted file mode 100755
index 123417f..0000000
--- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/SolidEllipseFigure.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package org.eclipse.swt.examples.paint;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2002.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html

- */

-

-import org.eclipse.swt.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.paint/src/org/eclipse/swt/examples/paint/SolidPolygonFigure.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/SolidPolygonFigure.java
deleted file mode 100755
index 30b4710..0000000
--- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/SolidPolygonFigure.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package org.eclipse.swt.examples.paint;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2002.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html

- */

-

-import org.eclipse.swt.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.paint/src/org/eclipse/swt/examples/paint/SolidRectangleFigure.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/SolidRectangleFigure.java
deleted file mode 100755
index 9f2d7b6..0000000
--- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/SolidRectangleFigure.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package org.eclipse.swt.examples.paint;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2002.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html

- */

-

-import org.eclipse.swt.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.paint/src/org/eclipse/swt/examples/paint/SolidRoundedRectangleFigure.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/SolidRoundedRectangleFigure.java
deleted file mode 100755
index de07824..0000000
--- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/SolidRoundedRectangleFigure.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package org.eclipse.swt.examples.paint;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2002.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html

- */

-

-import org.eclipse.swt.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.paint/src/org/eclipse/swt/examples/paint/TextFigure.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/TextFigure.java
deleted file mode 100755
index 9317772..0000000
--- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/TextFigure.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package org.eclipse.swt.examples.paint;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2002.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html

- */

-

-import org.eclipse.swt.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.paint/src/org/eclipse/swt/examples/paint/TextTool.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/TextTool.java
deleted file mode 100755
index bf051dc..0000000
--- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/TextTool.java
+++ /dev/null
@@ -1,123 +0,0 @@
-package org.eclipse.swt.examples.paint;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2002.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html

- */

-

-import org.eclipse.jface.dialogs.*;

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

-

-/**

- * A text drawing tool.

- */

-public class TextTool extends BasicPaintSession implements PaintTool {

-	private ToolSettings settings;

-	private String drawText = PaintPlugin.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 PaintPlugin.getResourceString("tool.Text.label");

-	}

-	

-	/**

-	 * Activates the tool.

-	 */

-	public void beginSession() {

-		getPaintSurface().setStatusMessage(PaintPlugin.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();

-			InputDialog inputDialog = new InputDialog(getPaintSurface().getShell(),

-				PaintPlugin.getResourceString("tool.Text.dialog.title"),

-				PaintPlugin.getResourceString("tool.Text.dialog.message"),

-				drawText, null);

-			inputDialog.setBlockOnOpen(true);

-			inputDialog.open();

-			if (inputDialog.getReturnCode() == InputDialog.OK) drawText = inputDialog.getValue();

-			inputDialog.close();

-		}	

-	}

-

-	/**

-	 * 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.paint/src/org/eclipse/swt/examples/paint/ToolSettings.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/ToolSettings.java
deleted file mode 100755
index 6c5aee8..0000000
--- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/ToolSettings.java
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.swt.examples/.classpath b/examples/org.eclipse.swt.examples/.classpath
deleted file mode 100755
index 07ce282..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="var" path="JRE_LIB"/>
-    <classpathentry kind="src" path="/org.eclipse.swt"/>
-    <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 7dfd92e..0000000
--- a/examples/org.eclipse.swt.examples/.project
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<projectDescription>

-	<name>org.eclipse.swt.examples</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>

-	</natures>

-</projectDescription>

diff --git a/examples/org.eclipse.swt.examples/about.html b/examples/org.eclipse.swt.examples/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/examples/org.eclipse.swt.examples/about.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>20th June, 2002</p>	
-<h3>License</h3>
-<p>Eclipse.org makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Common Public License Version 1.0 (&quot;CPL&quot;).  A copy of the CPL is available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>.
-For purposes of the CPL, &quot;Program&quot; will mean the Content.</p>
-
-<h3>Contributions</h3>
-
-<p>If this Content is licensed to you under the terms and conditions of the CPL, any Contributions, as defined in the CPL, uploaded, submitted, or otherwise
-made available to Eclipse.org, members of Eclipse.org and/or the host of Eclipse.org web site, by you that relate to such
-Content are provided under the terms and conditions of the CPL and can be made available to others under the terms of the CPL.</p>
-
-<p>If this Content is licensed to you under license terms and conditions other than the CPL (&quot;Other License&quot;), any modifications, enhancements and/or
-other code and/or documentation (&quot;Modifications&quot;) uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the
-host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available
-to others under the terms of the Other License.  In addition, with regard to Modifications for which you are the copyright holder, you are also
-providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of
-the CPL.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.examples/build.properties b/examples/org.eclipse.swt.examples/build.properties
deleted file mode 100755
index 62ce80a..0000000
--- a/examples/org.eclipse.swt.examples/build.properties
+++ /dev/null
@@ -1,9 +0,0 @@
-bin.includes = doc-html/,\

-               plugin.properties,\

-               plugin.xml,\

-               about.html,\

-               swtexamples.jar

-

-src.includes = about.html

-               

-source.swtexamples.jar = src/

diff --git a/examples/org.eclipse.swt.examples/doc-html/hglegal2002.htm b/examples/org.eclipse.swt.examples/doc-html/hglegal2002.htm
deleted file mode 100644
index 74393f0..0000000
--- a/examples/org.eclipse.swt.examples/doc-html/hglegal2002.htm
+++ /dev/null
@@ -1,14 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">

-<html>

-<head>

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

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

-   <title>Legal Notices</title>

-</head>

-<body>

-

-<h3>

-<a NAME="Notices"></a>Notices</h3>

-(c) Copyright IBM Corp. 2000, 2002. All Rights Reserved.

-</body>

-</html>

diff --git a/examples/org.eclipse.swt.examples/doc-html/ngibmcpy2002.gif b/examples/org.eclipse.swt.examples/doc-html/ngibmcpy2002.gif
deleted file mode 100644
index 61cef48..0000000
--- a/examples/org.eclipse.swt.examples/doc-html/ngibmcpy2002.gif
+++ /dev/null
Binary files differ
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 74a6801..0000000
--- a/examples/org.eclipse.swt.examples/doc-html/swt_addressbook_ex.html
+++ /dev/null
@@ -1,31 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">

-<html>

-<head>

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

-   <title>SWT - Address Book Example</title>

-</head>

-<body>

-

-<h2>SWT Standalone Example - Address Book</h2>

-

-<p>

-The AddressBook example shows how the 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">Manual 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 Address Book item from the Standalone category and click Run.

-</p>

-<p><a href="hglegal2002.htm"><img SRC="ngibmcpy2002.gif" ALT="Copyright IBM Corporation and others 2000, 2002.  All Rights Reserved." BORDER=0 height=14 width=324></a></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 80d63e2..0000000
--- a/examples/org.eclipse.swt.examples/doc-html/swt_controls_ex.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <title>SWT - Controls Overview</title>
-</head>
-<body>
-
-<h2>SWT Standalone Example - Controls Example</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 the control.
-</p>
-
-<h3>Running the example</h3>
-<p>
-Follow the <a href="swt_manual_setup.html">Manual 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><a href="hglegal2002.htm"><img SRC="ngibmcpy2002.gif" ALT="Copyright IBM Corporation and others 2000, 2002.  All Rights Reserved." BORDER=0 height=14 width=324></a></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 a3d06c1..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 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 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.

-</p>

-

-<h3>Running the example</h3>

-<p>

-Follow the <a href="swt_manual_setup.html">Manual 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 File Viewer item from the Standalone category and click Run.

-</p>

-

-<p><a href="hglegal2002.htm"><img SRC="ngibmcpy2002.gif" ALT="Copyright IBM Corporation and others 2000, 2002.  All Rights Reserved." BORDER=0 height=14 width=324></a></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 f9e8953..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 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 to show how to get started 

-creating an application with SWT.  They cover creating a shell, using event listeners, 

-processing events in an event loop, using layouts, and drawing with a Graphic 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 the Shell.

-</p>

-

-<h4>Hello World 3</h4>

-<p>

-This example builds on HelloWorld2 and demonstrates how to resize the Label

-when the Shell resizes using a Listener mechanism.

-</p>

-

-<h4>Hello World 4</h4>

-<p>

-This example builds on HelloWorld2 and demonstrates how to resize the Label

-when the Shell resizes using a Layout.

-</p>

-

-<h4>Hello World 5</h4>

-<p>

-This example builds on HelloWorld1 and demonstrates how to draw directly

-on an SWT Control using a graphic context.

-</p>

-

-<h3>Running the example</h3>

-

-<p>

-Follow the <a href="swt_manual_setup.html">Manual 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 the Hello World item from the Standalone category and click Run.

-</p>

-

-<p><a href="hglegal2002.htm"><img SRC="ngibmcpy2002.gif" ALT="Copyright IBM Corporation and others 2000, 2002.  All Rights Reserved." BORDER=0 height=14 width=324></a></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 29712fa..0000000
--- a/examples/org.eclipse.swt.examples/doc-html/swt_hoverhelp_ex.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">

-<html>

-<head>

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

-   <title>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 a number of different SWT controls including Buttons, TableItems, ToolItems and TreeItems.

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

-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.  Without moving the mouse, hit F1.  A new Shell will pop up with the

-extended hover help information for the UI element in question.

-</p>	

-

-<h3>Running the example</h3>

-<p>

-Follow the <a href="swt_manual_setup.html">Manual 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 Hover Help item from the Standalone category and click Run.

-</p>

-

-<p><a href="hglegal2002.htm"><img SRC="ngibmcpy2002.gif" ALT="Copyright IBM Corporation and others 2000, 2002.  All Rights Reserved." BORDER=0 height=14 width=324></a></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 5a25923..0000000
--- a/examples/org.eclipse.swt.examples/doc-html/swt_imageanalyzer_ex.html
+++ /dev/null
@@ -1,57 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">

-<html>

-<head>

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

-   <title>SWT - Image Analyzer Example</title>

-</head>

-<body>

-

-<h2>SWT Standalone Example - Image Analyzer</h2>

-

-<p>

-The ImageAnalyzer opens image files and displays the visual contents of the file along with a

-summary of the data in the image file.

-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 will load and display image files of type GIF, JPEG, BMP, ICO, and PNG.

-To open a file, use the File --> Open... menu item, and select the image file in the FileDialog.

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

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

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

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

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

-</p>

-<p>

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

-</p>

-

-<h3>Running the example</h3>

-

-<p>

-Follow the <a href="swt_manual_setup.html">Manual 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 Image Analyzer item from the Standalone category and click Run.

-</p>

-

-<p><a href="hglegal2002.htm"><img SRC="ngibmcpy2002.gif" ALT="Copyright IBM Corporation and others 2000, 2002.  All Rights Reserved." BORDER=0 height=14 width=324></a></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 be071be..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 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 demonstrates 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.

-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">Manual 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 Java Syntax Viewer item from the Standalone category and click Run.

-</p>

-

-<p><a href="hglegal2002.htm"><img SRC="ngibmcpy2002.gif" ALT="Copyright IBM Corporation and others 2000, 2002.  All Rights Reserved." BORDER=0 height=14 width=324></a></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 9f882bd..0000000
--- a/examples/org.eclipse.swt.examples/doc-html/swt_launcher_ex.html
+++ /dev/null
@@ -1,55 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <title>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">Manual 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 SWT Examples category of the 
-Show Views dialog.
-</p>
-
-<h3>Running the Example Launcher</h3>
-
-<p>
-From the Window menu, select Show View --> Other. 
-In the Show View dialog, expand SWT Examples and select the SWT Example Launcher view. 
-A view containing a list of examples will appear in your current perspective.
-Select an example from the list.  A brief description of the example is displayed.
-Click on the Run button to launch the example.
-</p>
-
-
-<h3>Details</h3>
-<p>The example launcher view contains a tree list, a text area, and a button.
-The tree list contains a list of all the SWT examples you can choose
-to run. When an example is selected from the tree, the text area
-displays a short description of the example. The selected example can
-be launched by clicking on the Run button.  Standalone examples are run in the 
-same thread as the workbench's UI but they are not integrated into the perspective. 
-The launcher invokes the <code>open()</code> method of the standalone example.
-</p>
-
-<p><a href="hglegal2002.htm"><img SRC="ngibmcpy2002.gif" ALT="Copyright IBM Corporation and others 2000, 2002.  All Rights Reserved." BORDER=0 height=14 width=324></a></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 51dced6..0000000
--- a/examples/org.eclipse.swt.examples/doc-html/swt_layout_ex.html
+++ /dev/null
@@ -1,31 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <title>SWT - Layout Example</title>
-</head>
-<body>
-
-<h2>SWT Standalone Example - Layout Example</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, code can be
-generated by clicking on the Code button.
-</p>
-
-<h3>Running the example</h3>
-<p>
-Follow the <a href="swt_manual_setup.html">Manual 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><a href="hglegal2002.htm"><img SRC="ngibmcpy2002.gif" ALT="Copyright IBM Corporation and others 2000, 2002.  All Rights Reserved." BORDER=0 height=14 width=324></a></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 9f36ca2..0000000
--- a/examples/org.eclipse.swt.examples/doc-html/swt_manual_setup.html
+++ /dev/null
@@ -1,119 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">

-<html>

-<head>

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

-   <title>SWT Standalone Examples Setup</title>

-</head>

-<body>

-

-<h2>SWT Standalone Examples Setup</h2>

-

-<h3>Importing Example Source</h3>

-

-<p>

-*** In the following description, substitute the location in which you installed Eclipse for INSTALLDIR ***

-</p>

-

-<p>Import the example code and all its required resources into your workspace:</p>

-

-<ol>

-<li>Create a Java Project called "SWT Examples".

-<li>Select the project "SWT Examples" in the Packages view.

-<li>Select the File --> Import menu.  Select Zip File. Click on Next.

-<li>Locate the source zip file for the SWT examples.  For example:

-	<ul>

-    <li><b>win32: </b><code>INSTALLDIR\eclipse\plugins\org.eclipse.swt.examples_2.0.0\swtexamplessrc.zip</code>

-    <li><b>*nix: </b><code>INSTALLDIR/eclipse/plugins/org.eclipse.swt.examples_2.0.0/swtexamplessrc.zip</code>

-    </ul>

-<li>Click on Finish.

-<li>Select the File --> Import menu. In the Import dialog, select Zip File. Click on Next.

-<li>Locate the jar file for the SWT examples.  For example:

-    <ul>

-    <li><b>win32: </b><code>INSTALLDIR\eclipse\plugins\org.eclipse.swt.examples_2.0.0\swtexamples.jar</code>

-    <li><b>*nix: </b><code>INSTALLDIR/eclipse/plugins/org.eclipse.swt.examples_2.0.0/swtexamples.jar</code>

-    </ul>

-<li>Expand the top level directory of the zip file (/). <b>Uncheck "org" and "META-INF"</b>.

-<li>Click on Finish.

-</ol>

-

-<p>Now you need to compile the SWT examples.  In order to do this, you must add the SWT jar(s) to 

-the compile path:</p>

-<ol>

-<li>Select the project "SWT Examples" in the Packages view and from the pop up menu select Properties.

-<li>Select the Java Build Path item.

-<li>Go to the Libraries tab.

-<li>Click on the Add External JARS... button.

-<li>Locate the swt jar for the platform on which you wish to run:<br>

-    <ul>

-    <li><b>win32: </b><code>INSTALLDIR\eclipse\plugins\org.eclipse.swt.win32_2.0.0\ws\win32\swt.jar</code>

-    <li><b>gtk: </b><code>INSTALLDIR/eclipse/plugins/org.eclipse.swt.gtk_2.0.0/ws/gtk/swt.jar</code>

-    <li><b>motif: </b><code>INSTALLDIR/eclipse/plugins/org.eclipse.swt.motif_2.0.0/ws/motif/swt.jar</code>

-    <li><b>photon: </b><code>INSTALLDIR/eclipse/plugins/org.eclipse.swt.photon_2.0.0/ws/photon/swt.jar</code>

-    <li><b>macosx: </b><code>INSTALLDIR/eclipse/plugins/org.eclipse.swt.carbon_2.0.0/ws/carbon/swt.jar</code>

-    </ul>

-<li>Click on OK.

-</ol>

-<p><b>NOTE:</b> For some platforms (such as GTK), more than one jar is required to run SWT (on

-GTK there is a swt.jar and a swt-pi.jar file).  In this case, all the required jars must 

-be added to the class path.  This is done by repeating the steps above for each jar file.

-All jar files are located in the same directory/folder.</p>

-

-<p>At this point your SWT examples should be compiled without any errors.  Check the Task 

-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 Window --> Preferences dialog.  

-Select Java --> Installed JREs and 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 have to configure Eclipse to run the example.  This requires putting the SWT

-JNI libraries on the library path so that the VM can find them:

-

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

-    &nbsp;&nbsp;&nbsp;&nbsp;<code>org.eclipse.swt.examples.addressbook.AddressBook</code>.

-<li>SelectRun --> Run... from the main menu.  

-<li>In the Launch Configurations dialog that appears, select Java Application and click 

-    on the New button.

-<li>Fill in the Name, Project and Main class fields according to the example you wish to run.

-<li>Select the Arguments tab.  In the VM Arguements area specify the location of the SWT 

-    library depending on your target platform as follows:

-    <ul>

-	<li><b>win32: </b><code>-Djava.library.path=INSTALLDIR\plugins\org.eclipse.swt.win32_2.0.0\os\win32\x86</code>

-	<li><b>linux gtk: </b><code>-Djava.library.path=INSTALLDIR/eclipse/plugins/org.eclipse.swt.gtk_2.0.0/os/linux/x86</code>

-	<li><b>linux motif: </b><code>-Djava.library.path=INSTALLDIR/eclipse/plugins/org.eclipse.swt.motif_2.0.0/os/linux/x86</code>

-	<li><b>solaris motif: </b><code>-Djava.library.path=INSTALLDIR/eclipse/plugins/org.eclipse.swt.motif_2.0.0/os/solaris/sparc</code>

-	<li><b>aix motif: </b><code>-Djava.library.path=INSTALLDIR/eclipse/plugins/org.eclipse.swt.motif_2.0.0/os/aix/ppc</code>

-	<li><b>hpux motif: </b><code>-Djava.library.path=INSTALLDIR/eclipse/plugins/org.eclipse.swt.motif_2.0.0/os/hpux/PA_RISC</code>

-	<li><b>photon qnx: </b><code>-Djava.library.path=INSTALLDIR/eclipse/plugins/org.eclipse.swt.photon_2.0.0/os/qnx/x86</code>

-	<li><b>macosx: </b><code>-Djava.library.path=INSTALLDIR/eclipse/plugins/org.eclipse.swt.carbon_2.0.0/os/macosx/ppc</code>

-	</ul>

-<li>Click on the Run button.

-</ol>

-

-

-<h3>Examples Overview</h3>

-<p>

-Consult the documentation of each individual example for the names of

-its Main class and additional details.

-</p>

-<p>

-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_controls_ex.html">Controls</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 Viewer</a>

-<li><a href="swt_layout_ex.html">Layout</a>

-<li><a href="swt_texteditor_ex.html">Text Editor</a>

-</ul>

-

-<p><br><a href="hglegal2002.htm"><img SRC="ngibmcpy2002.gif" ALT="Copyright IBM Corporation and others 2000, 2002.  All Rights Reserved." BORDER=0 height=14 width=324></a>

-</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 3d5571b..0000000
--- a/examples/org.eclipse.swt.examples/doc-html/swt_texteditor_ex.html
+++ /dev/null
@@ -1,35 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">

-<html>

-<head>

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

-   <title>SWT - Text Editor Example</title>

-</head>

-<body>

-

-<h2>SWT Standalone Example - Text Editor</h2>

-

-<p>

-This example demonstrates how to use the StyledText widget to implement

-a text editor with formatting support.

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

-</p>

-

-<h3>Running the example</h3>

-<p>

-Follow the <a href="swt_manual_setup.html">Manual 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 Text Editor item from the Standalone category and click Run.

-</p>

-

-<p><a href="hglegal2002.htm"><img SRC="ngibmcpy2002.gif" ALT="Copyright IBM Corporation and others 2000, 2002.  All Rights Reserved." BORDER=0 height=14 width=324></a></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 6382611..0000000
--- a/examples/org.eclipse.swt.examples/plugin.properties
+++ /dev/null
@@ -1,113 +0,0 @@
-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.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.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, and PNG.  \

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

-	
\ No newline at end of file
diff --git a/examples/org.eclipse.swt.examples/plugin.xml b/examples/org.eclipse.swt.examples/plugin.xml
deleted file mode 100755
index 3562e1f..0000000
--- a/examples/org.eclipse.swt.examples/plugin.xml
+++ /dev/null
@@ -1,142 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<!-- File written by PDE 1.0 -->

-<plugin

-   id="org.eclipse.swt.examples"

-   name="%plugin.SWTStandaloneExampleSet.name"

-   version="2.1.0"

-   provider-name="%providerName"

-   class="">

-<!-- Required plugins -->

-<requires>

-   <import plugin="org.eclipse.swt"/>

-</requires>

-

-<!-- Runtime -->

-<runtime>

-   <library name="swtexamples.jar">

-      <export name="*"/>

-      <packages prefixes="org.eclipse.swt.examples"/>

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

-</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 c3ee189..0000000
--- a/examples/org.eclipse.swt.examples/src/examples_addressbook.properties
+++ /dev/null
@@ -1,59 +0,0 @@
-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_control.properties b/examples/org.eclipse.swt.examples/src/examples_control.properties
deleted file mode 100644
index d7d3a66..0000000
--- a/examples/org.eclipse.swt.examples/src/examples_control.properties
+++ /dev/null
@@ -1,139 +0,0 @@
-error.CouldNotLoadResources = Unable to load resources
-window.title = SWT 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
-Control_Example		= Control Example
-Parameters			= Parameters
-State				= State
-Enabled				= Enabled
-Visible				= Visible
-Preferred 			= Preferred
-Styles	 			= Styles
-Text_Labels			= Text Labels
-Image_Labels		= Image Labels
-One_Two_Three		= One Two Three
-Text_ToolBar 		= Text ToolBar
-Image_ToolBar 		= Image ToolBar
-Maximum				= Maximum
-Minimum				= Minimum
-Selection			= Selection
-Increment			= Increment
-Page_Increment		= Page Increment
-Thumb				= Thumb
-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
-Lines_Visible		= Lines Visible
-Locked				= Locked
-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
-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
-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		= <empty>
-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
-Slider_and_Scale	= Slider and Scale
-Colors 				= Colors and Font
-Table_Item_Colors	= Index:0 Table Item Colors
-Background_Color	= Background Color
-Foreground_Color	= Foreground Color
-Item_Background_Color	= Item Background Color
-Item_Foreground_Color  	= Item Foreground Color
-Font				= Set 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 Style
-Background_Style 	= Background Style
-StyledText_Styles	= StyledText Styles
-StyledText_Style_Instructions	= Select text, then style.
-Bold				= Bold
-Fill				= Horizontal Fill
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 3fc373e..0000000
--- a/examples/org.eclipse.swt.examples/src/examples_fileviewer.properties
+++ /dev/null
@@ -1,59 +0,0 @@
-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 occured while trying to copy "{0}" to "{1}".
-
-dialog.FailedDelete.title = Delete Files Error
-dialog.FailedDelete.description = An error occured 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_helloworld.properties b/examples/org.eclipse.swt.examples/src/examples_helloworld.properties
deleted file mode 100644
index 2db6671..0000000
--- a/examples/org.eclipse.swt.examples/src/examples_helloworld.properties
+++ /dev/null
@@ -1 +0,0 @@
-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 b1e118e..0000000
--- a/examples/org.eclipse.swt.examples/src/examples_hoverhelp.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-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 3f1d7b7..0000000
--- a/examples/org.eclipse.swt.examples/src/examples_images.properties
+++ /dev/null
@@ -1,101 +0,0 @@
-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}
-Pixel_data_initial 			= Pixel data:
-Pixel_data_value 			= Pixel data:  Bytes per line: {0,number,integer}  \
-							  Scanline pad: {1,number,integer} {2}
-File 						= &File
-OpenFile 					= &Open File...\tCtrl+O
-OpenURL						= Open &URL...\tCtrl+U
-Reopen 						= &Reopen
-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, jpg, jpeg, png):
-All_images 					= All Image Files
-Loading_lc 					= loading
-Saving_lc 					= saving
-Unknown_extension 			= Unknown file extension: {0}\nPlease use bmp, gif, ico, \
-							  jpg, jpeg, or png.
-Overwrite 					= Overwrite {0}?
-Analyzer_on 				= Image Analyzer on: {0}
-Reloading_lc 				= reloading
-Color_at 					= Image color at ({0,number,integer}, {1,number,integer}) \
-							  index {2,number,integer} (0x{3}) is {4}
-Color_at_trans 				= Image color at ({0,number,integer}, {1,number,integer}) \
-							  index {2,number,integer} (0x{3}) is {4} (transparent)
-Creating_image 				= Creating image # {0,number,integer} from 
-OK							= OK
-Cancel						= Cancel
-Stop 						= &Stop
-Creating_from 				= Creating image read from
-Palette_direct 				= Palette: Direct
-Palette_size 				= Palette size: {0,number,integer}
-Bytes_per_line 				= Bytes per line:
-Scanline_pad 				= Scanline pad:
-Printing_error				= Printing error: 
-Error 						= Error {0} file\n{1}\n\n
-Pixels_per_byte 			= pixels per byte
-Byte_per_pixel 				= byte per pixel
-Bytes_per_pixel 			= bytes per pixel
-Unsupported_lc 				= unsupported
-None_lc 					= none
-Background_lc 				= background
-Previous_lc 				= previous
-Unspecified_lc 				= unspecified
-Unknown_ac 					= UNKNOWN
-Forever_lc 					= forever
-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}
-Max_length_string 			= Transparent pixel: -1 (none)
\ No newline at end of file
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 d6686c9..0000000
--- a/examples/org.eclipse.swt.examples/src/examples_javaviewer.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-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 5861297..0000000
--- a/examples/org.eclipse.swt.examples/src/examples_layout.properties
+++ /dev/null
@@ -1,41 +0,0 @@
-window.title = SWT Layouts
-
-Add					= &Add
-Delete	 			= &Delete
-Clear				= &Clear
-Children			= Children
-Type				= Type
-Layout				= Layout
-Preferred_Size		= Preferred Size
-Code				= C&ode
-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_texteditor.properties b/examples/org.eclipse.swt.examples/src/examples_texteditor.properties
deleted file mode 100644
index b4deb09..0000000
--- a/examples/org.eclipse.swt.examples/src/examples_texteditor.properties
+++ /dev/null
@@ -1,8 +0,0 @@
-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
\ No newline at end of file
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 97c8220..0000000
--- a/examples/org.eclipse.swt.examples/src/import.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-# 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 72be271..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/addressbook/AddressBook.java
+++ /dev/null
@@ -1,857 +0,0 @@
-package org.eclipse.swt.examples.addressbook;

-

-/*

- * Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html

- */

-

-/* 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 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);

-	if (waitCursor != 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()];

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

-		tableInfo[i] = decodeLine(data[i]);

-	}

-

-	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));

-	

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

-		items[i].setText(data[i]);

-	}

-	

-}

-/**

- * 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.NULL);

-	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.NULL);

-	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.NULL);

-	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.NULL);

-	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.NULL);

-	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.NULL);

-	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.NULL);

-	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.CASCADE);

-	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.NULL);

-	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.NULL);

-	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.NULL);

-	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.NULL);

-		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.NULL);

-	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.NULL);

-	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.CASCADE);

-	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.CASCADE);

-	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.CASCADE);

-	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.CASCADE);

-	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.CASCADE);

-	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.NULL);

-	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.NULL);

-	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 6be9f90..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/addressbook/DataEntryDialog.java
+++ /dev/null
@@ -1,159 +0,0 @@
-package org.eclipse.swt.examples.addressbook;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2002.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html

- */

-

-/* 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.NULL);

-	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.NULL);

-	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 ab0f020..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/addressbook/FindListener.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package org.eclipse.swt.examples.addressbook;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2002.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html

- */

-

-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 4835dc0..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/addressbook/SearchDialog.java
+++ /dev/null
@@ -1,198 +0,0 @@
-package org.eclipse.swt.examples.addressbook;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2002.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html

- */

-

-/* 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/controlexample/AlignableTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/AlignableTab.java
deleted file mode 100755
index 0ae087c..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/AlignableTab.java
+++ /dev/null
@@ -1,85 +0,0 @@
-package org.eclipse.swt.examples.controlexample;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2002.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html

- */

-

-import org.eclipse.swt.*;

-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 {

-

-	/* Allignment Controls */

-	Button leftButton, rightButton, centerButton;

-

-	/* Alignment Group */

-	Group allignmentGroup;

-

-	/**

-	 * Creates the Tab within a given instance of ControlExample.

-	 */

-	AlignableTab(ControlExample instance) {

-		super(instance);

-	}

-

-	/**

-	 * Creates the "Control" group. 

-	 */

-	void createControlGroup () {

-		super.createControlGroup ();

-		

-		/* Create the group */

-		allignmentGroup = new Group (controlGroup, SWT.NULL);

-		allignmentGroup.setLayout (new GridLayout ());

-		allignmentGroup.setLayoutData (new GridData(GridData.HORIZONTAL_ALIGN_FILL |

-			GridData.VERTICAL_ALIGN_FILL));

-		allignmentGroup.setText (ControlExample.getResourceString("Alignment"));

-	

-		/* Create the controls */

-		leftButton = new Button (allignmentGroup, SWT.RADIO);

-		leftButton.setText (ControlExample.getResourceString("Left"));

-		centerButton = new Button (allignmentGroup, SWT.RADIO);

-		centerButton.setText(ControlExample.getResourceString("Center"));

-		rightButton = new Button (allignmentGroup, 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 ();

-		Control [] controls = getExampleWidgets ();

-		if (controls.length != 0) {

-			leftButton.setSelection ((controls [0].getStyle () & SWT.LEFT) != 0);

-			centerButton.setSelection ((controls [0].getStyle () & SWT.CENTER) != 0);

-			rightButton.setSelection ((controls [0].getStyle () & SWT.RIGHT) != 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 fcc8414..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ButtonTab.java
+++ /dev/null
@@ -1,193 +0,0 @@
-package org.eclipse.swt.examples.controlexample;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2002.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html

- */

-

-import org.eclipse.swt.*;

-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;

-	Group textButtonGroup, imageButtonGroup;

-

-	/* Allignment 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 (allignmentGroup, SWT.RADIO);

-		upButton.setText (ControlExample.getResourceString("Up"));

-		downButton = new Button (allignmentGroup, 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 (GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));

-		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 (GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));

-		imageButtonGroup.setText (ControlExample.getResourceString("Image_Buttons"));

-	}

-	

-	/**

-	 * Creates the "Example" widgets.

-	 */

-	void createExampleWidgets () {

-	

-		/* Compute the widget style */

-		int style = SWT.NONE;

-		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 (arrowButton.getSelection()) style |= SWT.ARROW;

-		if (flatButton.getSelection()) style |= SWT.FLAT;

-		if (borderButton.getSelection()) style |= SWT.BORDER;

-	

-		/* 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]);

-	}

-	

-	/**

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

-	 */

-	Control [] getExampleWidgets () {

-		return new Control [] {button1, button2, button3, button4, button5, button6};

-	}

-	

-	/**

-	 * Gets the text for the tab folder item.

-	 */

-	String getTabText () {

-		return "Button";

-	}

-	

-	/**

-	 * Sets the alignment of the "Example" widgets.

-	 */

-	void setExampleWidgetAlignment () {

-		int allignment = 0;

-		if (leftButton.getSelection ()) allignment = SWT.LEFT;

-		if (centerButton.getSelection ()) allignment = SWT.CENTER;

-		if (rightButton.getSelection ()) allignment = SWT.RIGHT;

-		if (upButton.getSelection ()) allignment = SWT.UP;

-		if (downButton.getSelection ()) allignment = SWT.DOWN;

-		button1.setAlignment (allignment);

-		button2.setAlignment (allignment);

-		button3.setAlignment (allignment);

-		button4.setAlignment (allignment);

-		button5.setAlignment (allignment);

-		button6.setAlignment (allignment);

-	}

-	

-	/**

-	 * 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/ComboTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ComboTab.java
deleted file mode 100755
index 6c8af38..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ComboTab.java
+++ /dev/null
@@ -1,114 +0,0 @@
-package org.eclipse.swt.examples.controlexample;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2002.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html

- */

-

-import org.eclipse.swt.*;

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

-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.NULL);

-		comboGroup.setLayout (new GridLayout ());

-		comboGroup.setLayoutData (new GridData (GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));

-		comboGroup.setText ("Combo");

-	}

-	

-	/**

-	 * Creates the "Example" widgets.

-	 */

-	void createExampleWidgets () {

-		

-		/* Compute the widget style */

-		int style = SWT.NONE;

-		if (dropDownButton.getSelection ()) style |= SWT.DROP_DOWN;

-		if (readOnlyButton.getSelection ()) style |= SWT.READ_ONLY;

-		if (simpleButton.getSelection ()) style |= SWT.SIMPLE;

-		if (borderButton.getSelection ()) style |= SWT.BORDER;

-		

-		/* Create the example widgets */

-		combo1 = new Combo (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 */

-		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");

-		borderButton = new Button (styleGroup, SWT.CHECK);

-		borderButton.setText ("SWT.BORDER");

-	}

-	

-	/**

-	 * Gets the "Example" widget children.

-	 */

-	Control [] getExampleWidgets () {

-		return new Control [] {combo1};

-	}

-	

-	/**

-	 * 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);

-		borderButton.setSelection ((combo1.getStyle () & SWT.BORDER) != 0);

-	}

-}

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 300e433..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ControlExample.java
+++ /dev/null
@@ -1,179 +0,0 @@
-package org.eclipse.swt.examples.controlexample;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2002.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html

- */

-

-import org.eclipse.swt.*;

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

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

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

-

-import java.text.*;

-import java.util.*;

-

-public class ControlExample {

-	private static ResourceBundle resourceBundle =

-		ResourceBundle.getBundle("examples_control");

-	private ShellTab shellTab;

-	private TabFolder tabFolder;

-

-	static final int

-		ciClosedFolder = 0,

-		ciOpenFolder = 1,

-		ciTarget = 2;

-	static final String[] imageLocations = {

-		"closedFolder.gif",

-		"openFolder.gif",

-		"target.gif" };

-	Image images[];

-

-	/**

-	 * 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.NULL);

-		Tab [] tabs = new Tab [] {

-			new ButtonTab (this),

-			new ComboTab (this),

-			new CoolBarTab (this),

-			new DialogTab (this),

-			new LabelTab (this),

-			new ListTab (this),

-			new ProgressBarTab (this),

-			new SashTab (this),

-			shellTab = new ShellTab(this),

-			new SliderTab (this),

-			new TableTab (this),

-			new TextTab (this),

-			new ToolBarTab (this),

-			new TreeTab (this),

-		};

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

-			TabItem item = new TabItem (tabFolder, SWT.NULL);

-		    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 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();

-	}

-

-	/**

-	 * Invokes as a standalone program.

-	 */

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

-		Display display = new Display();

-		Shell shell = new Shell(display);

-		shell.setLayout(new FillLayout());

-		ControlExample instance = new ControlExample(shell);

-		shell.setText(getResourceString("window.title"));

-		shell.open();

-		while (! shell.isDisposed()) {

-			if (! display.readAndDispatch()) display.sleep();

-		}

-		instance.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 + "!";

-		}			

-	}

-

-	/**

-	 * 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 + "!";

-		}

-	}

-

-	/**

-	 * Loads the resources

-	 */

-	private 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) {

-						ImageData source = new ImageData(clazz.getResourceAsStream(

-							imageLocations[i]));

-						ImageData mask = source.getTransparencyMask();

-						images[i] = new Image(null, source, mask);

-					}

-				}

-				return;

-			} catch (Throwable t) {

-			}

-		}

-		String error = (resourceBundle != null) ?

-			getResourceString("error.CouldNotLoadResources") :

-			"Unable to load resources";

-		freeResources();

-		throw new RuntimeException(error);

-	}

-

-	/**

-	 * Frees the resources

-	 */

-	private 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;

-		}

-	}

-}

-

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 cb3b9ce..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/CoolBarTab.java
+++ /dev/null
@@ -1,426 +0,0 @@
-package org.eclipse.swt.examples.controlexample;

-

-/*

- * Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html

- */

- 

-import org.eclipse.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 {

-	Button dropDownButton, lockedButton;

-

-	/* Example widgets and group that contains them */

-	CoolBar coolBar;

-	CoolItem pushItem, dropDownItem, radioItem, checkItem;

-	Group coolBarGroup;

-	

-	Point[] sizes;

-	int[] wrapIndices;

-	int[] order;

-	

-	/**

-	 * Creates the Tab within a given instance of ControlExample.

-	 */

-	CoolBarTab(ControlExample instance) {

-		super(instance);

-	}

-	

-	/**

-	 * Creates the "Display" group.

-	 */

-	void createDisplayGroup () {

-		super.createDisplayGroup ();

-	

-		/* Create display controls specific to this example */

-		lockedButton = new Button (displayGroup, 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.NULL);

-		coolBarGroup.setLayout (new GridLayout ());

-		coolBarGroup.setLayoutData (new GridData (GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));

-		coolBarGroup.setText ("CoolBar");

-	}

-	

-	/**

-	 * Creates the "Example" widgets.

-	 */

-	void createExampleWidgets () {

-		int style = 0, itemStyle = 0;

-

-		/* Compute the widget style */

-		int toolBarStyle = SWT.FLAT;

-		if (borderButton.getSelection()) style |= SWT.BORDER;

-		if (dropDownButton.getSelection()) itemStyle |= SWT.DROP_DOWN;

-	

-		/*

-		* Create the example widgets.

-		*/

-		coolBar = new CoolBar (coolBarGroup, style);

-		

-		/* create the push button toolbar */

-		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);

-		Point pushSize = toolBar.computeSize(SWT.DEFAULT, SWT.DEFAULT);

-		pushSize = pushItem.computeSize(pushSize.x, pushSize.y);

-		pushItem.setSize(pushSize);

-		pushItem.setMinimumSize(item.getWidth(), pushSize.y);

-        pushItem.addSelectionListener (new CoolItemSelectionListener());

-				

-		/* create the dropdown toolbar */

-		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);

-		Point dropSize = toolBar.computeSize(SWT.DEFAULT, SWT.DEFAULT);

-		dropSize = dropDownItem.computeSize(dropSize.x, dropSize.y);

-		dropDownItem.setSize(dropSize);

-		dropDownItem.setMinimumSize(item.getWidth(), dropSize.y);

-        dropDownItem.addSelectionListener (new CoolItemSelectionListener());

-				

-		/* create the radio button toolbar */

-		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);

-		Point radioSize = toolBar.computeSize(SWT.DEFAULT, SWT.DEFAULT);

-		radioSize = radioItem.computeSize(radioSize.x, radioSize.y);

-		radioItem.setSize(radioSize);

-		radioItem.setMinimumSize(item.getWidth(), radioSize.y);

-        radioItem.addSelectionListener (new CoolItemSelectionListener());

-		

-		/* create the check button toolbar */

-		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);

-		Point checkSize = toolBar.computeSize(SWT.DEFAULT, SWT.DEFAULT);

-		checkSize = checkItem.computeSize(checkSize.x, checkSize.y);

-		checkItem.setSize(checkSize);

-		checkItem.setMinimumSize(item.getWidth(), checkSize.y);

-        checkItem.addSelectionListener (new CoolItemSelectionListener());

-		

-		/* if we have saved state, restore it */

-		if (order != null) {

-			coolBar.setItemLayout(order, wrapIndices, sizes);

-			/* 

-			 * special case: because setItemLayout will restore the items

-			 * to the sizes the user left them at, the preferred size may not

-			 * be the same as the actual size. Thus we must explicitly set

-			 * the preferred sizes.

-			 */

-			pushItem.setPreferredSize(pushSize);

-			dropDownItem.setPreferredSize(dropSize);

-			radioItem.setPreferredSize(radioSize);

-			checkItem.setPreferredSize(checkSize);

-		}

-		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 widget */

-		borderButton = new Button (styleGroup, SWT.CHECK);

-		borderButton.setText ("SWT.BORDER");

-		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");

-		dropDownButton.addSelectionListener (new SelectionAdapter () {

-			public void widgetSelected (SelectionEvent event) {

-				recreateExampleWidgets ();

-			}

-		});

-	}

-	

-	/**

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

-	 */

-	Control [] getExampleWidgets () {

-		return new Control [] {coolBar};

-	}

-	

-	/**

-	 * Gets the text for the tab folder item.

-	 */

-	String getTabText () {

-		return "CoolBar";

-	}

-	

-	/**

-	 * Sets the state of the "Example" widgets.

-	 */

-	void setExampleWidgetState () {

-		super.setExampleWidgetState ();

-		borderButton.setSelection ((coolBar.getStyle () & SWT.BORDER) != 0);

-		dropDownButton.setSelection ((coolBar.getItem(0).getStyle () & SWT.DROP_DOWN) != 0);

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

-				Shell shell = tabFolderPage.getShell();

-				menu = new Menu(shell);

-				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 ();

-				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);

-							Menu m = new Menu(menu);

-							menuItem.setMenu(m);

-							for (int k = 0; k < 9; ++k) {

-								String 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);

-						}

-						/* 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);

-				Display display = coolBar.getDisplay ();

-				while (menu != null && 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/DialogTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/DialogTab.java
deleted file mode 100755
index 699b206..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/DialogTab.java
+++ /dev/null
@@ -1,442 +0,0 @@
-package org.eclipse.swt.examples.controlexample;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2002.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html

- */

-

-import org.eclipse.swt.*;

-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 okButton, cancelButton;

-	Button yesButton, noButton;

-	Button retryButton;

-	Button abortButton, ignoreButton;

-	Button iconErrorButton, iconInformationButton, iconQuestionButton;

-	Button iconWarningButton, iconWorkingButton;

-	Button modelessButton, primaryModalButton, applicationModalButton, systemModalButton;

-	Button saveButton, openButton;

-

-	static String [] FilterExtensions	= {"*.txt", "*.bat", "*.doc"};

-	static String [] FilterNames		= {ControlExample.getResourceString("FilterName_0"),

-										   ControlExample.getResourceString("FilterName_1"),

-										   ControlExample.getResourceString("FilterName_2")};

-

-	/**

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

-		 */

-		okButton.setEnabled (

-			!(yesButton.getSelection () || noButton.getSelection () || 

-				retryButton.getSelection () || abortButton.getSelection () ||

-					ignoreButton.getSelection ()));

-		cancelButton.setEnabled (

-			!(abortButton.getSelection () || ignoreButton.getSelection ()));

-		yesButton.setEnabled (

-			!(okButton.getSelection () || retryButton.getSelection () ||

-				abortButton.getSelection () || ignoreButton.getSelection ()));

-		noButton.setEnabled (

-			!(okButton.getSelection () || retryButton.getSelection () ||

-				abortButton.getSelection () || ignoreButton.getSelection ()));

-		retryButton.setEnabled (

-			!(okButton.getSelection() || yesButton.getSelection() || noButton.getSelection ()));

-		abortButton.setEnabled (

-			!(okButton.getSelection () || cancelButton.getSelection () ||

-				yesButton.getSelection () || noButton.getSelection ()));

-		ignoreButton.setEnabled (

-			!(okButton.getSelection () || cancelButton.getSelection () |

-				yesButton.getSelection () || noButton.getSelection ()));

-	}

-	

-	/**

-	 * Handle the create button selection event.

-	 *

-	 * @param event org.eclipse.swt.events.SelectionEvent

-	 */

-	void createButtonSelected(SelectionEvent event) {

-	

-		/* Compute the appropriate dialog style */

-		int style = SWT.NULL;

-		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;

-	

-		/* Open the appropriate dialog type */

-		String name = dialogCombo.getText ();

-		Shell shell = tabFolderPage.getShell ();

-		

-		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 + 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

-		 * left half of each example tab.  It consists of the

-		 * style group, the display group and the size group.

-		 */			

-		controlGroup = new Group (tabFolderPage, SWT.NULL);

-		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.NULL);

-		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]);

-	

-		/* Create the create dialog button */

-		Button createButton = new Button(dialogStyleGroup, SWT.NULL);

-		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.NULL);

-		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.NULL);

-		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");

-	

-		/* Create a group for the modal style controls */

-		Group modalStyleGroup = new Group (controlGroup, SWT.NULL);

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

-		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 a group for the file dialog style controls */

-		Group fileDialogStyleGroup = new Group (controlGroup, SWT.NULL);

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

-		saveButton = new Button (fileDialogStyleGroup, SWT.RADIO);

-		saveButton.setText ("SWT.SAVE");

-		openButton = new Button(fileDialogStyleGroup, SWT.RADIO);

-		openButton.setText("SWT.OPEN");

-	

-		/* 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);

-		saveButton.setEnabled (false);

-		openButton.setEnabled (false);

-		openButton.setSelection (true);

-		iconInformationButton.setSelection (true);

-		modelessButton.setSelection (true);

-	}

-	

-	/**

-	 * Creates the "Example" group.

-	 */

-	void createExampleGroup () {

-		super.createExampleGroup ();

-		

-		/*

-		 * Create a group for the text widget to display

-		 * the results returned by the example dialogs.

-		 */

-		resultGroup = new Group (exampleGroup, SWT.NULL);

-		resultGroup.setLayout (new GridLayout ());

-		resultGroup.setLayoutData (new GridData (GridData.FILL_BOTH));

-		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);	

-	}

-	

-	/**

-	 * 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);

-		saveButton.setEnabled (isFileDialog);

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

-	 */

-	Control [] getExampleWidgets () {

-		return new Control [0];

-	}

-	

-	/**

-	 * Gets the text for the tab folder item.

-	 */

-	String getTabText () {

-		return "Dialog";

-	}

-}

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 50d575e..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/LabelTab.java
+++ /dev/null
@@ -1,175 +0,0 @@
-package org.eclipse.swt.examples.controlexample;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2002.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html

- */

-

-import org.eclipse.swt.*;

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

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

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

-

-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 separatorButton, wrapButton, horizontalButton, verticalButton, shadowInButton, shadowOutButton;

-	

-	/**

-	 * 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.NULL);

-		GridLayout gridLayout = new GridLayout ();

-		textLabelGroup.setLayout (gridLayout);

-		gridLayout.numColumns = 3;

-		textLabelGroup.setLayoutData (new GridData (GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));

-		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 (GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));

-		imageLabelGroup.setText (ControlExample.getResourceString("Image_Labels"));

-	}

-	

-	/**

-	 * Creates the "Example" widgets.

-	 */

-	void createExampleWidgets () {

-		

-		/* Compute the widget style */

-		int style = SWT.NONE;

-		if (separatorButton.getSelection ()) style |= SWT.SEPARATOR;

-		if (wrapButton.getSelection ()) style |= SWT.WRAP;

-		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 (borderButton.getSelection ()) style |= SWT.BORDER;

-	

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

-		separatorButton = new Button (styleGroup, SWT.CHECK);

-		separatorButton.setText ("SWT.SEPARATOR");

-		wrapButton = new Button (styleGroup, SWT.CHECK);

-		wrapButton.setText ("SWT.WRAP");

-		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.NULL);

-		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");

-		borderButton = new Button(styleGroup, SWT.CHECK);

-		borderButton.setText("SWT.BORDER");

-	

-		/* Add the listeners */

-		SelectionListener selectionListener = new SelectionAdapter () {

-			public void widgetSelected(SelectionEvent event) {

-				if ((event.widget.getStyle() & SWT.RADIO) != 0) {

-					if (!((Button) event.widget).getSelection ()) return;

-				}

-				recreateExampleWidgets ();

-			};

-		};

-		shadowInButton.addSelectionListener (selectionListener);

-		shadowOutButton.addSelectionListener (selectionListener);

-	}

-	

-	/**

-	 * Gets the "Example" widget children.

-	 */

-	Control [] getExampleWidgets () {

-		return new Control [] {label1, label2, label3, label4, label5, label6};

-	}

-	

-	/**

-	 * Gets the text for the tab folder item.

-	 */

-	String getTabText () {

-		return "Label";

-	}

-	

-	/**

-	 * Sets the alignment of the "Example" widgets.

-	 */

-	void setExampleWidgetAlignment () {

-		int allignment = 0;

-		if (leftButton.getSelection ()) allignment = SWT.LEFT;

-		if (centerButton.getSelection ()) allignment = SWT.CENTER;

-		if (rightButton.getSelection ()) allignment = SWT.RIGHT;

-		label1.setAlignment (allignment);

-		label2.setAlignment (allignment);

-		label3.setAlignment (allignment);

-		label4.setAlignment (allignment);

-		label5.setAlignment (allignment);

-		label6.setAlignment (allignment);

-	}

-	

-	/**

-	 * 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 (!shadowInButton.getSelection ());

-		wrapButton.setEnabled (!isSeparator);

-		leftButton.setEnabled (!isSeparator);

-		centerButton.setEnabled (!isSeparator);

-		rightButton.setEnabled (!isSeparator);

-		shadowInButton.setEnabled (isSeparator);

-		shadowOutButton.setEnabled (isSeparator);

-		horizontalButton.setEnabled (isSeparator);

-		verticalButton.setEnabled (isSeparator);

-	}

-}

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 d82d62a..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ListTab.java
+++ /dev/null
@@ -1,81 +0,0 @@
-package org.eclipse.swt.examples.controlexample;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2002.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html

- */

-

-import org.eclipse.swt.*;

-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.NULL);

-		listGroup.setLayout (new GridLayout ());

-		listGroup.setLayoutData (new GridData (GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));

-		listGroup.setText ("List");

-	}

-	

-	/**

-	 * Creates the "Example" widgets.

-	 */

-	void createExampleWidgets () {

-		

-		/* Compute the widget style */

-		int style = SWT.NONE;

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

-	 */

-	Control [] getExampleWidgets () {

-		return new Control [] {list1};

-	}

-	

-	/**

-	 * 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/ProgressBarTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ProgressBarTab.java
deleted file mode 100755
index dcc74e1..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ProgressBarTab.java
+++ /dev/null
@@ -1,141 +0,0 @@
-package org.eclipse.swt.examples.controlexample;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2002.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html

- */

-

-import org.eclipse.swt.*;

-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.NULL);

-		progressBarGroup.setLayout (new GridLayout ());

-		progressBarGroup.setLayoutData (new GridData (GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));

-		progressBarGroup.setText ("ProgressBar");

-	}

-

-	/**

-	 * Creates the "Example" widgets.

-	 */

-	void createExampleWidgets () {

-

-		/* Compute the widget style */

-		int style = SWT.NONE;

-		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);

-		progressBar1.setMaximum (100);

-		progressBar1.setSelection (50);

-	}

-

-	/**

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

-	 */

-	Control [] getExampleWidgets () {

-		return new Control [] {progressBar1};

-	}

-

-	/**

-	 * 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 ()) {

-			selectionScale.setEnabled (false);

-			minimumScale.setEnabled (false);

-			maximumScale.setEnabled (false);

-		} else {

-			selectionScale.setEnabled (true);

-			minimumScale.setEnabled (true);

-			maximumScale.setEnabled (true);

-		}

-		maximumScale.setMaximum (progressBar1.getMaximum ());

-		smoothButton.setSelection ((progressBar1.getStyle () & SWT.SMOOTH) != 0);

-		indeterminateButton.setSelection ((progressBar1.getStyle () & SWT.INDETERMINATE) != 0);

-	}

-

-	/**

-	 * Sets the maximum of the "Example" widgets.

-	 */

-	void setWidgetMaximum () {

-		progressBar1.setMaximum (maximumScale.getSelection ());

-		updateScales ();

-	}

-

-	/**

-	 * Sets the minimim of the "Example" widgets.

-	 */

-	void setWidgetMinimum () {

-		progressBar1.setMinimum (minimumScale.getSelection ());

-		updateScales ();

-	}

-

-	/**

-	 * Sets the selection of the "Example" widgets.

-	 */

-	void setWidgetSelection () {

-		progressBar1.setSelection (selectionScale.getSelection ());

-		updateScales ();

-	}

-

-	/**

-	 * Update the scale widgets to reflect the actual value set 

-	 * on the "Example" widget.

-	 */

-	void updateScales () {

-		minimumScale.setSelection (progressBar1.getMinimum ());

-		selectionScale.setSelection (progressBar1.getSelection ());

-		maximumScale.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 4fa0ad1..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/RangeTab.java
+++ /dev/null
@@ -1,179 +0,0 @@
-package org.eclipse.swt.examples.controlexample;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2002.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html

- */

-

-import org.eclipse.swt.*;

-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;

-

-	/* Scale widgets added to the "Control" group */

-	Scale minimumScale, selectionScale, maximumScale;

-

-	/**

-	 * 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.NULL);

-		maximumGroup.setLayout (new GridLayout ());

-		maximumGroup.setText (ControlExample.getResourceString("Maximum"));

-		maximumGroup.setLayoutData (new GridData (GridData.FILL_HORIZONTAL));

-	

-		/* Create a scale widget */

-		maximumScale = new Scale (maximumGroup, SWT.NULL);

-		maximumScale.setMaximum (100);

-		maximumScale.setSelection (100);

-		maximumScale.setPageIncrement (10);

-		maximumScale.setIncrement (5);

-		

-		GridData data = new GridData (GridData.FILL_HORIZONTAL);

-		data.widthHint = 100;

-		maximumScale.setLayoutData (data);

-	

-		/* Add the listeners */

-		maximumScale.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.NULL);

-		minimumGroup.setLayout (new GridLayout ());

-		minimumGroup.setText (ControlExample.getResourceString("Minimum"));

-		minimumGroup.setLayoutData (new GridData (GridData.FILL_HORIZONTAL));

-	

-		/* Create a scale widget */

-		minimumScale = new Scale (minimumGroup, SWT.NULL);

-		minimumScale.setMaximum (100);

-		minimumScale.setPageIncrement (10);

-		minimumScale.setIncrement (5);

-	

-		GridData data = new GridData (GridData.FILL_HORIZONTAL);

-		data.widthHint = 100;

-		minimumScale.setLayoutData (data);

-

-		/* Add the listeners */

-		minimumScale.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.NULL);

-		selectionGroup.setLayout(new GridLayout());

-		GridData gridData = new GridData(GridData.FILL_HORIZONTAL);

-		selectionGroup.setLayoutData(gridData);

-		selectionGroup.setText(ControlExample.getResourceString("Selection"));

-	

-		/* Create a scale widget */

-		selectionScale = new Scale (selectionGroup, SWT.NULL);

-		selectionScale.setMaximum (100);

-		selectionScale.setSelection (50);

-		selectionScale.setPageIncrement (10);

-		selectionScale.setIncrement (5);

-	

-		GridData data = new GridData (GridData.FILL_HORIZONTAL);

-		data.widthHint = 100;

-		selectionScale.setLayoutData (data);

-

-		/* Add the listeners */

-		selectionScale.addSelectionListener(new SelectionAdapter() {

-			public void widgetSelected(SelectionEvent event) {

-				setWidgetSelection ();

-			};

-		});

-		

-	}

-	

-	/**

-	 * 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");

-	}

-	

-	/**

-	 * Sets the state of the "Example" widgets.

-	 */

-	void setExampleWidgetState () {

-		super.setExampleWidgetState ();

-		setWidgetMinimum ();

-		setWidgetMaximum ();

-		setWidgetSelection ();

-		Control [] controls = getExampleWidgets ();

-		if (controls.length != 0){

-			horizontalButton.setSelection ((controls [0].getStyle () & SWT.HORIZONTAL) != 0);

-			verticalButton.setSelection ((controls [0].getStyle () & SWT.VERTICAL) != 0);

-			borderButton.setSelection ((controls [0].getStyle () & SWT.BORDER) != 0);

-		}

-	}

-	

-	/**

-	 * 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/SashTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/SashTab.java
deleted file mode 100755
index c5bb629..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/SashTab.java
+++ /dev/null
@@ -1,166 +0,0 @@
-package org.eclipse.swt.examples.controlexample;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2002.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html

- */

-

-import org.eclipse.swt.*;

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

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

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

-

-class SashTab extends Tab {

-	/* Example widgets and groups that contain them */

-	Sash hSash, vSash;

-	List list1, list2, list3;

-	Text text;

-

-	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;

-

-	/**

-	 * Creates the Tab within a given instance of ControlExample.

-	 */

-	SashTab(ControlExample instance) {

-		super(instance);

-	}

-

-	/**

-	 * Creates the tab folder page.

-	 */

-	Composite createTabFolderPage (TabFolder tabFolder) {

-		/*

-		 * Create the page.  This example does not use layouts.

-		 */

-		tabFolderPage = new Composite(tabFolder, SWT.BORDER);

-	

-		/* Create the list and text widgets */

-		list1 = new List (tabFolderPage, SWT.V_SCROLL | SWT.H_SCROLL | SWT.BORDER);

-		list1.setItems (ListData0);

-		list2 = new List (tabFolderPage, SWT.V_SCROLL | SWT.H_SCROLL | SWT.BORDER);

-		list2.setItems (ListData1);

-		text = new Text (tabFolderPage, SWT.MULTI | SWT.BORDER);

-		text.setText (ControlExample.getResourceString("Multi_line"));

-	

-		/* Create the sashes */

-		vSash = new Sash (tabFolderPage, SWT.VERTICAL);

-		hSash = new Sash (tabFolderPage, SWT.HORIZONTAL);

-		

-		/* Add the listeners */

-		hSash.addSelectionListener (new SelectionAdapter () {

-			public void widgetSelected (SelectionEvent event) {

-				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) {

-				if (event.detail != SWT.DRAG) {

-					vSash.setBounds(event.x, event.y, event.width, event.height);

-					layout ();

-				}

-			}

-		});

-		tabFolderPage.addControlListener (new ControlAdapter () {

-			public void controlResized (ControlEvent event) {

-				shellResized ();

-			}

-		});

-	

-		/*

-		* Do not set the bounds of the lists, text and sashes here 

-		* because this method is run before the widget is opened 

-		* so we do not know how big the tabComposite is going to be.

-		* When the widget is opened a resize event will occur 

-		* and the contained widgets can be sized accordingly.

-		*/

-		return tabFolderPage; 

-	}

-	

-	/**

-	 * 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 tabCompositeBounds = tabFolderPage.getClientArea ();

-		Rectangle hSashBounds = hSash.getBounds ();

-		Rectangle vSashBounds = vSash.getBounds ();

-		

-		list1.setBounds (0, 0, vSashBounds.x, hSashBounds.y);

-		list2.setBounds (vSashBounds.x + vSashBounds.width, 0, tabCompositeBounds.width - (vSashBounds.x + vSashBounds.width), hSashBounds.y);

-		text.setBounds (0, hSashBounds.y + hSashBounds.height, tabCompositeBounds.width, tabCompositeBounds.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);

-	}

-	

-	/**

-	 * Handle the shell resized event.

-	 */

-	void shellResized () {

-	

-		/* Get the client area for the shell */

-		Rectangle tabFolderPageBounds = tabFolderPage.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, (tabFolderPageBounds.width - SASH_WIDTH) / 2, (tabFolderPageBounds.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, tabFolderPageBounds.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, tabFolderPageBounds.width, tabFolderPageBounds.height - (list1Bounds.height + SASH_WIDTH));

-	

-		/* Position the sashes */

-		vSash.setBounds (list1Bounds.width, 0, SASH_WIDTH, list1Bounds.height);

-		hSash.setBounds (0, list1Bounds.height, tabFolderPageBounds.width, SASH_WIDTH);

-	}

-}

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 cf7a405..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ScrollableTab.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package org.eclipse.swt.examples.controlexample;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2002.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html

- */

-

-import org.eclipse.swt.*;

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

-

-abstract class ScrollableTab extends Tab {

-	/* Style widgets added to the "Style" group */	

-	Button singleButton, multiButton, horizontalButton, verticalButton, borderButton;

-

-	/**

-	 * 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 ();

-		Control [] controls = getExampleWidgets ();

-		if (controls.length != 0){

-			singleButton.setSelection ((controls [0].getStyle () & SWT.SINGLE) != 0);

-			multiButton.setSelection ((controls [0].getStyle () & SWT.MULTI) != 0);

-			horizontalButton.setSelection ((controls [0].getStyle () & SWT.H_SCROLL) != 0);

-			verticalButton.setSelection ((controls [0].getStyle () & SWT.V_SCROLL) != 0);

-			borderButton.setSelection ((controls [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 a8da54a..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ShellTab.java
+++ /dev/null
@@ -1,287 +0,0 @@
-package org.eclipse.swt.examples.controlexample;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2002.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html

- */

-

-import org.eclipse.swt.*;

-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" group */

-	Button noParentButton, parentButton;

-	Button noTrimButton, closeButton, titleButton, minButton, maxButton, borderButton, resizeButton, onTopButton;

-	Button createButton, closeAllButton;

-	Button modelessButton, primaryModalButton, applicationModalButton, systemModalButton;

-	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 (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 {

-			Shell shell = tabFolderPage.getShell ();

-			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 closeButton = new Button(currentShell, SWT.PUSH);

-		closeButton.setBounds(160, 20, 120, 30);

-		closeButton.setText(ControlExample.getResourceString("Close"));

-		closeButton.addListener(SWT.Selection, new Listener() {

-			public void handleEvent(Event event) {

-				currentShell.dispose();

-			}

-		});

-	

-		/* Set the size, title and open the shell */

-		currentShell.setSize (300, 100);

-		currentShell.setText (ControlExample.getResourceString("Title") + shellCount);

-		currentShell.open ();

-		shellCount++;

-	}

-	

-	/**

-	 * Creates the "Control" group. 

-	 */

-	void createControlGroup () {

-		/*

-		 * Create the "Control" group.  This is the group on the

-		 * left half of each example tab.  It consists of the

-		 * style group, the display group and the size group.

-		 */		

-		controlGroup = new Group (tabFolderPage, SWT.NULL);

-		GridLayout gridLayout= new GridLayout ();

-		controlGroup.setLayout (gridLayout);

-		gridLayout.numColumns = 1;

-		gridLayout.makeColumnsEqualWidth = true;

-		controlGroup.setLayoutData (new GridData (GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));

-		controlGroup.setText (ControlExample.getResourceString("Parameters"));

-	

-		/* Create individual groups inside the "Control" group */

-		styleGroup = new Group (controlGroup, SWT.NULL);

-		gridLayout = new GridLayout ();

-		styleGroup.setLayout (gridLayout);

-		gridLayout.numColumns = 2;

-		gridLayout.makeColumnsEqualWidth = true;

-		styleGroup.setLayoutData (new GridData(GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL | GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));

-		styleGroup.setText (ControlExample.getResourceString("Styles"));

-	

-		/* Create a group for the parent style controls */

-		parentStyleGroup = new Group (styleGroup, SWT.NULL);

-		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 a group for the decoration style controls */

-		Group decorationStyleGroup = new Group(styleGroup, SWT.NULL);

-		decorationStyleGroup.setLayout (new GridLayout ());

-		GridData gridData = new GridData (GridData.HORIZONTAL_ALIGN_FILL);

-		gridData.verticalSpan = 2;

-		decorationStyleGroup.setLayoutData (gridData);

-		decorationStyleGroup.setText (ControlExample.getResourceString("Decoration_Styles"));

-	

-		/* Create the decoration style buttons */

-		noTrimButton = new Button (decorationStyleGroup, SWT.CHECK);

-		noTrimButton.setText ("SWT.NO_TRIM");

-		closeButton = new Button (decorationStyleGroup, SWT.CHECK);

-		closeButton.setText ("SWT.CLOSE");

-		titleButton = new Button (decorationStyleGroup, SWT.CHECK);

-		titleButton.setText ("SWT.TITLE");

-		minButton = new Button (decorationStyleGroup, SWT.CHECK);

-		minButton.setText ("SWT.MIN");

-		maxButton = new Button (decorationStyleGroup, SWT.CHECK);

-		maxButton.setText ("SWT.MAX");

-		borderButton = new Button (decorationStyleGroup, SWT.CHECK);

-		borderButton.setText ("SWT.BORDER");

-		resizeButton = new Button (decorationStyleGroup, SWT.CHECK);

-		resizeButton.setText ("SWT.RESIZE");

-		onTopButton = new Button (decorationStyleGroup, SWT.CHECK);

-		onTopButton.setText ("SWT.ON_TOP");

-	

-		/* Create a group for the modal style controls */

-		modalStyleGroup = new Group (styleGroup, SWT.NONE);

-		modalStyleGroup.setLayout (new GridLayout ());

-		modalStyleGroup.setText (ControlExample.getResourceString("Modal_Styles"));

-		gridData = new GridData ();

-		gridData.verticalAlignment = GridData.FILL;

-		modalStyleGroup.setLayoutData(gridData);

-		

-		/* 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 "create" and "closeAll" buttons */

-		createButton = new Button (styleGroup, SWT.NULL);

-		gridData = new GridData (GridData.HORIZONTAL_ALIGN_END);

-		createButton.setLayoutData (gridData);

-		createButton.setText (ControlExample.getResourceString("Create_Shell"));

-		closeAllButton = new Button (styleGroup, SWT.NULL);

-		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);

-	}

-	

-	/**

-	 * 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 0ded7dc..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/SliderTab.java
+++ /dev/null
@@ -1,249 +0,0 @@
-package org.eclipse.swt.examples.controlexample;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2002.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html

- */

-

-import org.eclipse.swt.*;

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

-	Scale scale1;

-	Slider slider1;

-	Group sliderGroup, scaleGroup;

-

-	/* Scale widgets added to the "Control" group */

-	Scale incrementScale, pageIncrementScale, thumbScale;

-	

-	/**

-	 * 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.NULL);

-		sliderGroup.setLayout (new GridLayout ());

-		sliderGroup.setLayoutData (new GridData (GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));

-		sliderGroup.setText ("Slider");

-	

-		/* Create a group for the scale */

-		scaleGroup = new Group (exampleGroup, SWT.NULL);

-		scaleGroup.setLayout (new GridLayout ());

-		scaleGroup.setLayoutData (new GridData (GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));

-		scaleGroup.setText ("Scale");

-	

-	}

-	

-	/**

-	 * Creates the "Example" widgets.

-	 */

-	void createExampleWidgets () {

-		

-		/* Compute the widget style */

-		int style = SWT.NONE;

-		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);

-		scale1.setMaximum (100);

-		scale1.setSelection (50);

-		scale1.setIncrement (5);

-		scale1.setPageIncrement (10);

-		slider1 = new Slider(sliderGroup, style);

-		slider1.setMaximum (100);

-		slider1.setSelection (50);

-		slider1.setIncrement(5);

-		slider1.setPageIncrement (10);

-		slider1.setThumb (10);

-	}

-	

-	/**

-	 * 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.NULL);

-		incrementGroup.setLayout (new GridLayout ());

-		incrementGroup.setText (ControlExample.getResourceString("Increment"));

-		incrementGroup.setLayoutData (new GridData (GridData.FILL_HORIZONTAL));

-	

-		/* Create the scale widget */

-		incrementScale = new Scale (incrementGroup, SWT.NULL);

-		incrementScale.setMaximum (100);

-		incrementScale.setSelection (5);

-		incrementScale.setPageIncrement (10);

-		incrementScale.setIncrement (5);

-

-		GridData data = new GridData (GridData.FILL_HORIZONTAL);

-		data.widthHint = 100;

-		incrementScale.setLayoutData (data);

-	

-		/* Add the listeners */

-		incrementScale.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.NULL);

-		pageIncrementGroup.setLayout (new GridLayout ());

-		pageIncrementGroup.setText (ControlExample.getResourceString("Page_Increment"));

-		pageIncrementGroup.setLayoutData (new GridData (GridData.FILL_HORIZONTAL));

-			

-		/* Create the scale widget */

-		pageIncrementScale = new Scale (pageIncrementGroup, SWT.NULL);

-		pageIncrementScale.setMaximum (100);

-		pageIncrementScale.setSelection (10);

-		pageIncrementScale.setPageIncrement (10);

-		pageIncrementScale.setIncrement (5);

-	

-		GridData data = new GridData (GridData.FILL_HORIZONTAL);

-		data.widthHint = 100;

-		pageIncrementScale.setLayoutData (data);

-

-		/* Add the listeners */

-		pageIncrementScale.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.NULL);

-		thumbGroup.setLayout (new GridLayout ());

-		thumbGroup.setText (ControlExample.getResourceString("Thumb"));

-		thumbGroup.setLayoutData (new GridData (GridData.FILL_HORIZONTAL));

-		

-		/* Create the scale widget */

-		thumbScale = new Scale (thumbGroup, SWT.NULL);

-		thumbScale.setMaximum (100);

-		thumbScale.setSelection (10);

-		thumbScale.setPageIncrement (10);

-		thumbScale.setIncrement (5);

-	

-		GridData data = new GridData (GridData.FILL_HORIZONTAL);

-		data.widthHint = 100;

-		thumbScale.setLayoutData (data);

-

-		/* Add the listeners */

-		thumbScale.addSelectionListener (new SelectionAdapter () {

-			public void widgetSelected (SelectionEvent event) {

-				setWidgetThumb ();

-			};

-		});

-	}

-	

-	/**

-	 * Gets the "Example" widget children.

-	 */

-	Control [] getExampleWidgets () {

-		return new Control [] {scale1, slider1};

-	}

-	

-	/**

-	 * Gets the text for the tab folder item.

-	 */

-	String getTabText () {

-		return ControlExample.getResourceString("Slider_and_Scale");

-	}

-	

-	/**

-	 * Sets the state of the "Example" widgets.

-	 */

-	void setExampleWidgetState () {

-		super.setExampleWidgetState ();

-		setWidgetIncrement ();

-		setWidgetPageIncrement ();

-		setWidgetThumb ();

-	}

-	

-	/**

-	 * Sets the increment of the "Example" widgets.

-	 */

-	void setWidgetIncrement () {

-		slider1.setIncrement (incrementScale.getSelection ());

-		scale1.setIncrement (incrementScale.getSelection ());

-	}

-	

-	/**

-	 * Sets the minimim of the "Example" widgets.

-	 */

-	void setWidgetMaximum () {

-		slider1.setMaximum (maximumScale.getSelection ());

-		scale1.setMaximum (maximumScale.getSelection ());

-	}

-	

-	/**

-	 * Sets the minimim of the "Example" widgets.

-	 */

-	void setWidgetMinimum () {

-		slider1.setMinimum (minimumScale.getSelection ());

-		scale1.setMinimum (minimumScale.getSelection ());

-	}

-	

-	/**

-	 * Sets the page increment of the "Example" widgets.

-	 */

-	void setWidgetPageIncrement () {

-		slider1.setPageIncrement (pageIncrementScale.getSelection ());

-		scale1.setPageIncrement (pageIncrementScale.getSelection ());

-	}

-	

-	/**

-	 * Sets the selection of the "Example" widgets.

-	 */

-	void setWidgetSelection () {

-		slider1.setSelection (selectionScale.getSelection ());

-		scale1.setSelection (selectionScale.getSelection ());

-	}

-	

-	/**

-	 * Sets the thumb of the "Example" widgets.

-	 */

-	void setWidgetThumb () {

-		slider1.setThumb (thumbScale.getSelection ());

-	}

-}

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 1c53bc8..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/Tab.java
+++ /dev/null
@@ -1,521 +0,0 @@
-package org.eclipse.swt.examples.controlexample;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2002.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html

- */

-

-import org.eclipse.swt.*;

-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", "Display" and "Size" group.  Subclasses

- * can override these defaults to augment a group or stop

- * a group from being created.

- */

-abstract class Tab {	

-	/* Common control buttons */

-	Button borderButton, enabledButton, visibleButton;

-	Button preferredButton, tooSmallButton, smallButton, largeButton, fillButton;

-

-	/* Common groups and composites */

-	Composite tabFolderPage;

-	Group exampleGroup, controlGroup, displayGroup, sizeGroup, styleGroup, colorGroup;

-

-	/* 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;

-

-	/* Common controls for the "Colors" group */

-	Button backgroundButton, foregroundButton, fontButton;

-	Color backgroundColor, foregroundColor;

-	Font font;	

-

-	/**

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

-		 * left 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 individual groups inside the "Control" group */

-		createStyleGroup ();

-		createDisplayGroup ();

-		createSizeGroup ();

-		createColorGroup ();

-	

-		/*

-		 * 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);

-			}

-		}

-	}

-	

-	/**

-	 * Creates the "Control" widget children.

-	 * Subclasses override this method to augment

-	 * the standard controls created in the "Style",

-	 * "Display" and "Size" groups.

-	 */

-	void createControlWidgets () {

-	}

-	

-	/**

-	 * Creates the "Color" group. This is typically

-	 * a child of the "Control" group. Subclasses override

-	 * this method to customize and set system colors.

-	 */

-	void createColorGroup () {

-		/* Create the group */

-		colorGroup = new Group(controlGroup, SWT.NULL);

-		colorGroup.setLayout (new GridLayout (2, false));

-		colorGroup.setLayoutData (new GridData (GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));

-		colorGroup.setText (ControlExample.getResourceString ("Colors"));

-		new Label (colorGroup, SWT.NONE).setText (ControlExample.getResourceString ("Foreground_Color"));

-		foregroundButton = new Button (colorGroup, SWT.PUSH);

-		new Label (colorGroup, SWT.NONE).setText (ControlExample.getResourceString ("Background_Color"));

-		backgroundButton = new Button (colorGroup, SWT.PUSH);

-		fontButton = new Button (colorGroup, SWT.PUSH);

-		fontButton.setText(ControlExample.getResourceString("Font"));

-		

-		Shell shell = backgroundButton.getShell ();

-		final ColorDialog backgroundDialog = new ColorDialog (shell);

-		final ColorDialog foregroundDialog = new ColorDialog (shell);

-		final FontDialog fontDialog = new FontDialog (shell);

-

-		/* Create images to display current colors */

-		int imageSize = 12;

-		Display display = shell.getDisplay ();

-		final Image backgroundImage = new Image (display, imageSize, imageSize);	

-		final Image foregroundImage = new Image (display, imageSize, imageSize);

-

-		/* Add listeners to set the colors and font */

-		backgroundButton.setImage(backgroundImage);

-		backgroundButton.addSelectionListener(new SelectionAdapter() {

-			public void widgetSelected(SelectionEvent event) {

-				RGB rgb = backgroundDialog.open();

-				if (rgb == null) return;

-				Color oldColor = backgroundColor;

-				backgroundColor = new Color (backgroundButton.getDisplay(), rgb);

-				setExampleWidgetBackground ();

-				if (oldColor != null) oldColor.dispose ();

-			}

-		});

-		foregroundButton.setImage(foregroundImage);

-		foregroundButton.addSelectionListener(new SelectionAdapter() {

-			public void widgetSelected(SelectionEvent event) {

-				RGB rgb = foregroundDialog.open();

-				if (rgb == null) return;

-				Color oldColor = foregroundColor;

-				foregroundColor = new Color (foregroundButton.getDisplay(), rgb);

-				setExampleWidgetForeground ();

-				if (oldColor != null) oldColor.dispose ();

-			}

-		});

-		fontButton.addSelectionListener(new SelectionAdapter () {

-			public void widgetSelected (SelectionEvent e) {

-				FontData fontData = fontDialog.open ();

-				if (fontData == null) return;

-				Font oldFont = font;

-				font = new Font (fontButton.getDisplay(), fontData);

-				setExampleWidgetFont ();

-				setExampleWidgetSize ();

-				if (oldFont != null) oldFont.dispose ();

-			}

-		});

-		backgroundButton.addDisposeListener(new DisposeListener() {

-			public void widgetDisposed(DisposeEvent event) {

-				if (backgroundImage != null) backgroundImage.dispose();

-				if (foregroundImage != null) foregroundImage.dispose();

-				if (backgroundColor != null) backgroundColor.dispose();

-				if (foregroundColor != null) foregroundColor.dispose();

-				if (font != null) font.dispose();

-				backgroundColor = null;

-				foregroundColor = null;

-				font = null;				

-			}

-		});

-	}

-	

-	/**

-	 * Creates the "Display" group.  This is typically

-	 * a child of the "Control" group.

-	 */

-	void createDisplayGroup () {

-		/* Create the group */

-		displayGroup = new Group (controlGroup, SWT.NONE);

-		displayGroup.setLayout (new GridLayout ());

-		displayGroup.setLayoutData (new GridData (GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));

-		displayGroup.setText (ControlExample.getResourceString("State"));

-	

-		/* Create the controls */

-		enabledButton = new Button(displayGroup, SWT.CHECK);

-		enabledButton.setText(ControlExample.getResourceString("Enabled"));

-		visibleButton = new Button(displayGroup, SWT.CHECK);

-		visibleButton.setText(ControlExample.getResourceString("Visible"));

-	

-		/* Add the listeners */

-		enabledButton.addSelectionListener (new SelectionAdapter () {

-			public void widgetSelected (SelectionEvent event) {

-				setExampleWidgetEnabled ();

-			}

-		});

-		visibleButton.addSelectionListener (new SelectionAdapter () {

-			public void widgetSelected (SelectionEvent event) {

-				setExampleWidgetVisibility ();

-			}

-		});

-	

-		/* Set the default state */

-		enabledButton.setSelection(true);

-		visibleButton.setSelection(true);

-	}

-	

-	/**

-	 * Creates the "Example" group.  The "Example" group

-	 * is typically the left hand column in the tab.

-	 */

-	void createExampleGroup () {	

-		exampleGroup = new Group (tabFolderPage, SWT.NONE);

-		GridLayout gridLayout = new GridLayout ();

-		exampleGroup.setLayout (gridLayout);

-		exampleGroup.setLayoutData (new GridData (GridData.FILL_BOTH));

-	}

-	

-	/**

-	 * Creates the "Example" widget children of the "Example" group.

-	 * Subclasses override this method to create the particular

-	 * example control.

-	 */

-	void createExampleWidgets () {

-		/* Do nothing */

-	}

-	

-	/**

-	 * 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 (GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));

-		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);

-		fillButton = new Button (sizeGroup, SWT.RADIO);

-		fillButton.setText (ControlExample.getResourceString("Fill"));

-	

-		/* Add the listeners */

-		SelectionAdapter selectionListener = new SelectionAdapter () {

-			public void widgetSelected (SelectionEvent event) {

-				if (!((Button) event.widget).getSelection ()) return;

-				setExampleWidgetSize ();

-			};

-		};

-		preferredButton.addSelectionListener(selectionListener);

-		tooSmallButton.addSelectionListener(selectionListener);

-		smallButton.addSelectionListener(selectionListener);

-		largeButton.addSelectionListener(selectionListener);

-		fillButton.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 (GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));

-		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) {

-		/*

-		* Create a two column page.

-		*/

-		tabFolderPage = new Composite (tabFolder, SWT.NULL);

-		GridLayout gridLayout = new GridLayout ();

-		tabFolderPage.setLayout (gridLayout);

-		gridLayout.numColumns = 2;

-	

-		/* Create the "Example" and "Control" columns */

-		createExampleGroup ();

-		createControlGroup ();

-	

-		/* Create the widgets in the two columns */

-		createExampleWidgets ();

-		createControlWidgets ();

-		setExampleWidgetState ();

-		

-		return tabFolderPage;

-	}

-	

-	/**

-	 * Disposes the "Example" widgets.

-	 */

-	void disposeExampleWidgets () {

-		Control [] controls = getExampleWidgets ();

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

-			controls [i].dispose ();

-		}

-	}

-	

-	void drawImage (Image image, Color color) {

-		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();

-	}

-	

-	/**

-	 * Gets the "Example" widget children.

-	 *

-	 * @return an array of example widget children

-	 */

-	Control [] getExampleWidgets () {

-		return new Control [0];

-	}

-	

-	/**

-	 * Gets the text for the tab folder item.

-	 *

-	 * @return the text for the tab item

-	 */

-	String getTabText () {

-		return "";

-	}

-	

-	/**

-	 * Recreates the "Example" widgets.

-	 */

-	void recreateExampleWidgets () {

-		disposeExampleWidgets ();

-		createExampleWidgets ();

-		setExampleWidgetState ();

-	}

-	

-	/**

-	 * Sets the background color of the "Example" widgets.

-	 */

-	void setExampleWidgetBackground () {

-		if (backgroundButton == null) return;

-		Control [] controls = getExampleWidgets ();

-		Color color = backgroundColor;

-		if (color == null) color = controls [0].getBackground ();

-		Image image = backgroundButton.getImage ();

-		drawImage (image, color);

-		backgroundButton.setImage (image);

-		if (backgroundColor == null) return;

-		for (int i = 0; i < controls.length; i++) {
-			Control control = controls[i];
-			control.setBackground (backgroundColor);

-		}

-	}

-	

-	/**

-	 * Sets the enabled state of the "Example" widgets.

-	 */

-	void setExampleWidgetEnabled () {

-		Control [] controls = getExampleWidgets ();

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

-			controls [i].setEnabled (enabledButton.getSelection ());

-		}

-	}

-	

-	/**

-	 * Sets the font of the "Example" widgets.

-	 */

-	void setExampleWidgetFont () {

-		if (font == null) return;

-		Control [] controls = getExampleWidgets ();

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

-			Control control = controls[i];

-			control.setFont(font);

-		}

-	}

-	

-	/**

-	 * Sets the foreground color of the "Example" widgets.

-	 */

-	void setExampleWidgetForeground () {

-		if (foregroundButton == null) return;

-		Control [] controls = getExampleWidgets ();

-		Color color = foregroundColor;

-		if (color == null) color = controls [0].getForeground ();

-		Image image = foregroundButton.getImage ();

-		drawImage (image, color);

-		foregroundButton.setImage (image);

-		if (foregroundColor == null) return;

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

-			Control control = controls[i];

-			control.setForeground (foregroundColor);

-		}

-	}

-	

-	/**

-	 * 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 = getExampleWidgets ();

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

-			GridData gridData; 

-			if (fillButton.getSelection()) {

-				gridData = new GridData (GridData.FILL_BOTH);

-			} else {

-				gridData = new GridData ();

-				gridData.widthHint = size;

-				gridData.heightHint = size;

-			}

-			controls [i].setLayoutData (gridData);

-		}

-		/*

-		 * Force the entire widget tree to layout,

-		 * even when the child sizes may not have

-		 * changed.

-		 */

-		int seenCount = 0;

-		Composite [] seen = new Composite [4];

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

-			Control control = controls [i];

-			while (control != exampleGroup) {

-				Composite parent = control.getParent ();

-				int index = 0;

-				while (index < seenCount) {

-					if (seen [index] == parent) break;

-					index++;

-				}

-				if (index == seenCount) parent.layout ();

-				if (seenCount == seen.length) {

-					Composite [] newSeen = new Composite [seen.length + 4];

-					System.arraycopy (seen, 0, newSeen, 0, seen.length);

-					seen = newSeen;

-				}

-				seen [seenCount++] = parent;

-				control = control.getParent ();

-			}

-		}

-	}

-	

-	/**

-	 * Sets the state of the "Example" widgets.  Subclasses

-	 * reimplement this method to set "Example" widget state

-	 * that is specific to the widget.

-	 */

-	void setExampleWidgetState () {

-		setExampleWidgetEnabled ();

-		setExampleWidgetVisibility ();

-		setExampleWidgetBackground ();

-		setExampleWidgetForeground ();

-		setExampleWidgetFont ();

-		setExampleWidgetSize ();

-	}

-	

-	/**

-	 * Sets the visibility of the "Example" widgets.

-	 */

-	void setExampleWidgetVisibility () {

-		Control [] controls = getExampleWidgets ();

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

-			controls [i].setVisible (visibleButton.getSelection ());

-		}

-	}

-}

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 b447512..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/TableTab.java
+++ /dev/null
@@ -1,284 +0,0 @@
-package org.eclipse.swt.examples.controlexample;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2002.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html

- */

-

-import org.eclipse.swt.*;

-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, tableItemGroup;

-

-	/* Style widgets added to the "Style" group */

-	Button checkButton, fullSelectionButton;

-

-	/* Display widgets added to the "Display" group */

-	Button headerVisibleButton, linesVisibleButton;

-	

-	/* Color widgets added to the "Color" group */

-	Button itemBackgroundButton, itemForegroundButton;

-	Color itemBackgroundColor, itemForegroundColor;

-	

-	static String [] columnTitles	= {ControlExample.getResourceString("TableTitle_0"),

-									   ControlExample.getResourceString("TableTitle_1"),

-									   ControlExample.getResourceString("TableTitle_2"),

-									   ControlExample.getResourceString("TableTitle_3")};

-									   

-	static String [] stringLine0		= {ControlExample.getResourceString("TableLine0_0"),

-										  ControlExample.getResourceString("TableLine0_1"),

-										  ControlExample.getResourceString("TableLine0_2"),

-										  ControlExample.getResourceString("TableLine0_3")};

-									   

-	static String [] stringLine1		= {ControlExample.getResourceString("TableLine1_0"),

-										  ControlExample.getResourceString("TableLine1_1"),

-										  ControlExample.getResourceString("TableLine1_2"),

-										  ControlExample.getResourceString("TableLine1_3")};

-									   

-	static String [] stringLine2		= {ControlExample.getResourceString("TableLine2_0"),

-										  ControlExample.getResourceString("TableLine2_1"),

-										  ControlExample.getResourceString("TableLine2_2"),

-										  ControlExample.getResourceString("TableLine2_3")};

-

-	/**

-	 * Creates the Tab within a given instance of ControlExample.

-	 */

-	TableTab(ControlExample instance) {

-		super(instance);

-	}

-	

-	/**

-	 * Creates the "Colors" group.

-	 */

-	void createColorGroup () {

-		super.createColorGroup();

-		

-		tableItemGroup = new Group (colorGroup, SWT.NONE);

-		tableItemGroup.setText (ControlExample.getResourceString ("Table_Item_Colors"));

-		GridData data = new GridData ();

-		data.horizontalSpan = 2;

-		tableItemGroup.setLayoutData (data);

-		tableItemGroup.setLayout (new GridLayout (2, false));

-		new Label (tableItemGroup, SWT.NONE).setText (ControlExample.getResourceString ("Item_Foreground_Color"));

-		itemForegroundButton = new Button (tableItemGroup, SWT.PUSH);

-		new Label (tableItemGroup, SWT.NONE).setText (ControlExample.getResourceString ("Item_Background_Color"));

-		itemBackgroundButton = new Button (tableItemGroup, SWT.PUSH);

-		

-		Shell shell = itemBackgroundButton.getShell ();

-		final ColorDialog backgroundDialog = new ColorDialog (shell);

-		final ColorDialog foregroundDialog = new ColorDialog (shell);

-

-		int imageSize = 12;

-		Display display = shell.getDisplay ();

-		final Image itemBackgroundImage = new Image(display, imageSize, imageSize);

-		final Image itemForegroundImage = new Image(display, imageSize, imageSize);

-

-		/* Add listeners to set the colors and font */

-		itemBackgroundButton.setImage(itemBackgroundImage);

-		itemBackgroundButton.addSelectionListener(new SelectionAdapter() {

-			public void widgetSelected(SelectionEvent event) {

-				RGB rgb = backgroundDialog.open();

-				if (rgb == null) return;

-				Color oldColor = itemBackgroundColor;

-				itemBackgroundColor = new Color (itemBackgroundButton.getDisplay(), rgb);

-				setItemsBackground ();

-				if (oldColor != null) oldColor.dispose ();

-			}

-		});

-		itemForegroundButton.setImage(itemForegroundImage);

-		itemForegroundButton.addSelectionListener(new SelectionAdapter() {

-			public void widgetSelected(SelectionEvent event) {

-				RGB rgb = foregroundDialog.open();

-				if (rgb == null) return;

-				Color oldColor = itemForegroundColor;

-				itemForegroundColor = new Color (itemForegroundButton.getDisplay(), rgb);

-				setItemsForeground ();

-				if (oldColor != null) oldColor.dispose ();

-			}

-		});

-		itemBackgroundButton.addDisposeListener(new DisposeListener() {

-			public void widgetDisposed(DisposeEvent event) {

-				if (itemBackgroundImage != null) itemBackgroundImage.dispose();

-				if (itemForegroundImage != null) itemForegroundImage.dispose();

-				if (itemBackgroundColor != null) itemBackgroundColor.dispose();

-				if (itemForegroundColor != null) itemForegroundColor.dispose();

-				itemBackgroundColor = null;

-				itemForegroundColor = null;			

-			}

-		});

-	}

-

-	/**

-	 * Creates the "Display" group.

-	 */

-	void createDisplayGroup () {

-		super.createDisplayGroup ();

-	

-		/* Create display controls specific to this example */

-		headerVisibleButton = new Button (displayGroup, SWT.CHECK);

-		headerVisibleButton.setText (ControlExample.getResourceString("Header_Visible"));

-		linesVisibleButton = new Button (displayGroup, SWT.CHECK);

-		linesVisibleButton.setText (ControlExample.getResourceString("Lines_Visible"));

-	

-		/* Add the listeners */

-		headerVisibleButton.addSelectionListener (new SelectionAdapter () {

-			public void widgetSelected (SelectionEvent event) {

-				setWidgetHeaderVisible ();

-			}

-		});

-		linesVisibleButton.addSelectionListener (new SelectionAdapter () {

-			public void widgetSelected (SelectionEvent event) {

-				setWidgetLinesVisible ();

-			};

-		});

-	}

-	

-	/**

-	 * Creates the "Example" group.

-	 */

-	void createExampleGroup () {

-		super.createExampleGroup ();

-		

-		/* Create a group for the table */

-		tableGroup = new Group (exampleGroup, SWT.NULL);

-		tableGroup.setLayout (new GridLayout ());

-		tableGroup.setLayoutData (new GridData (GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));

-		tableGroup.setText ("Table");

-	}

-	

-	/**

-	 * Creates the "Example" widgets.

-	 */

-	void createExampleWidgets () {	

-		/* Compute the widget style */

-		int style = SWT.NONE;

-		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 (borderButton.getSelection ()) style |= SWT.BORDER;

-	

-		/* Create the table widget */

-		table1 = new Table (tableGroup, style);

-	

-		/* Fill the table with data */

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

-			TableColumn tableColumn = new TableColumn(table1, SWT.NULL);

-			tableColumn.setText(columnTitles[i]);

-		}	

-		for (int i=0; i<16; i++) {

-			TableItem item = new TableItem (table1, SWT.NULL);

-			item.setImage (instance.images [i % 3]);

-			switch (i % 3) {

-				case 0:

-					stringLine0 [0] = ControlExample.getResourceString("Index") + i;

-					item.setText(stringLine0);

-					break;

-				case 1:

-					stringLine1 [0] = ControlExample.getResourceString("Index") + i;

-					item.setText(stringLine1);

-					break;

-				case 2:

-					stringLine2 [0] = ControlExample.getResourceString("Index") + i;

-					item.setText(stringLine2);

-					break;

-			}

-		}

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

-			TableColumn tableColumn = table1.getColumn(i);

-			tableColumn.pack();

-		}

-	}

-	

-	/**

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

-	 */

-	Control [] getExampleWidgets () {

-		return new Control [] {table1};

-	}

-	

-	/**

-	 * Gets the text for the tab folder item.

-	 */

-	String getTabText () {

-		return "Table";

-	}

-	

-	/**

-	 * Sets the background color of the TableItems.

-	 */

-	void setItemsBackground () {

-		if (itemBackgroundButton == null) return;

-		Color color = itemBackgroundColor;

-		if (color == null) color = table1.getItem (0).getBackground ();

-		Image image = itemBackgroundButton.getImage ();

-		drawImage (image, color);

-		itemBackgroundButton.setImage (image);

-		if (itemBackgroundColor == null) return;

-		table1.getItem (0).setBackground (itemBackgroundColor);

-	}

-	

-	/**

-	 * Sets the foreground color of the TableItems.

-	 */

-	void setItemsForeground () {

-		if (itemForegroundButton == null) return;

-		Color color = itemForegroundColor;

-		if (color == null) color = table1.getItem (0).getForeground ();

-		Image image = itemForegroundButton.getImage ();

-		drawImage (image, color);

-		itemForegroundButton.setImage (image);

-		if (itemForegroundColor == null) return;

-		table1.getItem (0).setForeground (itemForegroundColor);

-	}

-	

-	/**

-	 * Sets the state of the "Example" widgets.

-	 */

-	void setExampleWidgetState () {

-		super.setExampleWidgetState ();

-		setItemsBackground ();

-		setItemsForeground ();

-		setWidgetHeaderVisible ();

-		setWidgetLinesVisible ();

-		checkButton.setSelection ((table1.getStyle () & SWT.CHECK) != 0);

-		fullSelectionButton.setSelection ((table1.getStyle () & SWT.FULL_SELECTION) != 0);

-	}

-	

-	/**

-	 * Sets the header visible state of the "Example" widgets.

-	 */

-	void setWidgetHeaderVisible () {

-		table1.setHeaderVisible (headerVisibleButton.getSelection ());

-	}

-	

-	/**

-	 * Sets the lines visible state of the "Example" widgets.

-	 */

-	void setWidgetLinesVisible () {

-		table1.setLinesVisible (linesVisibleButton.getSelection ());

-	}

-}

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 962aea1..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/TextTab.java
+++ /dev/null
@@ -1,219 +0,0 @@
-package org.eclipse.swt.examples.controlexample;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2002.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html

- */

-

-import org.eclipse.swt.*;

-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 TextTab extends ScrollableTab {

-	/* Example widgets and groups that contain them */

-	Text text;

-	StyledText styledText;

-	Group textGroup, styledTextGroup, styledTextStyleGroup;

-

-	/* Style widgets added to the "Style" group */

-	Button wrapButton, readOnlyButton;

-	

-	/* Buttons for adding StyleRanges to StyledText */

-	Button boldButton, redButton, yellowButton;

-	Image boldImage, redImage, yellowImage;

-

-	/**

-	 * Creates the Tab within a given instance of ControlExample.

-	 */

-	TextTab(ControlExample instance) {

-		super(instance);

-	}

-	

-	/**

-	 * Creates a bitmap image. 

-	 */

-	Image createBitmapImage (Display display, String name) {

-		ImageData source = new ImageData(ControlExample.class.getResourceAsStream(name + ".bmp"));

-		ImageData mask = new ImageData(ControlExample.class.getResourceAsStream(name + "_mask.bmp"));

-		return new Image (display, source, mask);

-	}

-	

-	/**

-	 * 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 text widget */

-		textGroup = new Group (exampleGroup, SWT.NULL);

-		textGroup.setLayout (new GridLayout ());

-		textGroup.setLayoutData (new GridData (GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));

-		textGroup.setText ("Text");

-	

-		/* Create a group for the styled text widget */

-		styledTextGroup = new Group (exampleGroup, SWT.NULL);

-		styledTextGroup.setLayout (new GridLayout ());

-		styledTextGroup.setLayoutData (new GridData (GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));

-		styledTextGroup.setText ("StyledText");

-	}

-	

-	/**

-	 * Creates the "Example" widgets.

-	 */

-	void createExampleWidgets () {

-		

-		/* Compute the widget style */

-		int style = SWT.NONE;

-		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;

-	

-		/* Create the example widgets */

-		text = new Text (textGroup, style);

-		text.setText (ControlExample.getResourceString("Example_string") + Text.DELIMITER + ControlExample.getResourceString("One_Two_Three"));

-		styledText = new StyledText (styledTextGroup, style);

-		styledText.setText (ControlExample.getResourceString("Example_string"));

-		styledText.append ("\n");

-		styledText.append (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");

-	}

-	

-	/**

-	 * Creates the "StyledText Style" group.

-	 */

-	void createStyledTextStyleGroup () {

-		final Display display = controlGroup.getDisplay ();

-		styledTextStyleGroup = new Group (controlGroup, SWT.NONE);

-		styledTextStyleGroup.setText (ControlExample.getResourceString ("StyledText_Styles"));

-		styledTextStyleGroup.setLayout (new GridLayout(2, false));

-		styledTextStyleGroup.setLayoutData (new GridData (GridData.HORIZONTAL_ALIGN_FILL));

-		

-		/* Get images */

-		boldImage = createBitmapImage (display, "bold");

-		redImage = createBitmapImage (display, "red");

-		yellowImage = createBitmapImage (display, "yellow");

-		

-		/* Create controls to modify the StyledText */

-		Label label = new Label (styledTextStyleGroup, SWT.NONE);

-		label.setText (ControlExample.getResourceString ("StyledText_Style_Instructions"));

-		GridData data = new GridData(GridData.FILL_HORIZONTAL);

-		data.horizontalSpan = 2;

-		label.setLayoutData(data);

-		new Label (styledTextStyleGroup, SWT.NONE).setText (ControlExample.getResourceString ("Bold"));

-		boldButton = new Button (styledTextStyleGroup, SWT.PUSH);

-		boldButton.setImage (boldImage);

-		boldButton.addSelectionListener(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 = new StyleRange(i, 1, null, null, SWT.BOLD);}

-					else {style = new StyleRange(i, 1, range.foreground, range.background, SWT.BOLD);};

-					styledText.setStyleRange(style);

-				}

-				styledText.setSelectionRange(sel.x + sel.y, 0);

-			}

-		});

-		new Label (styledTextStyleGroup, SWT.NONE).setText (ControlExample.getResourceString ("Foreground_Style"));

-		redButton = new Button (styledTextStyleGroup, SWT.PUSH);

-		redButton.setImage (redImage);

-		new Label (styledTextStyleGroup, SWT.NONE).setText (ControlExample.getResourceString ("Background_Style"));

-		yellowButton = new Button (styledTextStyleGroup, SWT.PUSH);

-		yellowButton.setImage (yellowImage);

-		SelectionListener colorListener = new SelectionAdapter () {

-			public void widgetSelected (SelectionEvent e) {

-				Point sel = styledText.getSelectionRange();

-				if ((sel == null) || (sel.y == 0)) return;

-				Color fg, bg;

-				if (e.widget == redButton) {

-					fg = display.getSystemColor (SWT.COLOR_RED);

-					bg = null;

-				} else if (e.widget == yellowButton) {

-					fg = null;

-					bg = display.getSystemColor (SWT.COLOR_YELLOW);

-				} else {

-					fg = bg = null;

-				}

-				StyleRange style;

-				for (int i = sel.x; i<sel.x+sel.y; i++) {

-					StyleRange range = styledText.getStyleRangeAtOffset(i);

-					if (range == null) {

-						style = new StyleRange(i, 1, fg, bg, SWT.NORMAL);

-					}

-					else {

-						if (range.foreground != null) fg = range.foreground;

-						if (range.background != null) bg = range.background;

-						style = new StyleRange(i, 1, fg, bg, range.fontStyle);

-					};

-					styledText.setStyleRange(style);

-				}

-				styledText.setSelectionRange(sel.x + sel.y, 0);

-			};

-		};

-		redButton.addSelectionListener(colorListener);

-		yellowButton.addSelectionListener(colorListener);

-		yellowButton.addDisposeListener(new DisposeListener () {

-			public void widgetDisposed (DisposeEvent e) {

-				boldImage.dispose();

-				redImage.dispose();

-				yellowImage.dispose();

-			}

-		});

-	}

-	

-	/**

-	 * Gets the "Example" widget children.

-	 */

-	Control [] getExampleWidgets () {

-		return new Control [] {text, styledText};

-	}

-	

-	/**

-	 * 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);

-	}

-}

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 63380c6..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ToolBarTab.java
+++ /dev/null
@@ -1,248 +0,0 @@
-package org.eclipse.swt.examples.controlexample;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2002.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html

- */

-

-import org.eclipse.swt.*;

-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;

-	Group imageToolBarGroup, textToolBarGroup;

-	

-	/* Style widgets added to the "Style" group */

-	Button flatButton, wrapButton;

-

-	/**

-	 * 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.NULL);

-		imageToolBarGroup.setLayout (new GridLayout ());

-		imageToolBarGroup.setLayoutData (new GridData (GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));

-		imageToolBarGroup.setText (ControlExample.getResourceString("Image_ToolBar"));

-	

-		/* Create a group for the text tool bar */

-		textToolBarGroup = new Group (exampleGroup, SWT.NULL);

-		textToolBarGroup.setLayout (new GridLayout ());

-		textToolBarGroup.setLayoutData (new GridData (GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));

-		textToolBarGroup.setText (ControlExample.getResourceString("Text_ToolBar"));

-	}

-	

-	/**

-	 * Creates the "Example" widgets.

-	 */

-	void createExampleWidgets () {

-	

-		/* Compute the widget style */

-		int style = SWT.NONE;

-		if (flatButton.getSelection()) style |= SWT.FLAT;

-		if (wrapButton.getSelection()) style |= SWT.WRAP;

-		if (borderButton.getSelection()) style |= SWT.BORDER;

-	

-		/*

-		* 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");

-		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");

-		item = new ToolItem (textToolBar, SWT.DROP_DOWN);

-		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 "Style" group.

-	 */

-	void createStyleGroup() {

-		super.createStyleGroup();

-	

-		/* Create the extra widgets */

-		flatButton = new Button (styleGroup, SWT.CHECK);

-		flatButton.setText ("SWT.FLAT");

-		wrapButton = new Button (styleGroup, SWT.CHECK);

-		wrapButton.setText ("SWT.WRAP");

-		borderButton = new Button (styleGroup, SWT.CHECK);

-		borderButton.setText ("SWT.BORDER");

-	}

-	

-	void disposeExampleWidgets () {

-		super.disposeExampleWidgets ();

-	}

-	

-	/**

-	 * Gets the "Example" widget children.

-	 */

-	Control [] getExampleWidgets () {

-		return new Control [] {imageToolBar, textToolBar};

-	}

-	

-	/**

-	 * Gets the text for the tab folder item.

-	 */

-	String getTabText () {

-		return "ToolBar";

-	}

-	

-	/**

-	 * Sets the state of the "Example" widgets.

-	 */

-	void setExampleWidgetState () {

-		super.setExampleWidgetState ();

-		flatButton.setSelection ((imageToolBar.getStyle () & SWT.FLAT) != 0);

-		wrapButton.setSelection ((imageToolBar.getStyle () & SWT.WRAP) != 0);

-		borderButton.setSelection ((imageToolBar.getStyle () & SWT.BORDER) != 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;

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

-				Shell shell = tabFolderPage.getShell();

-				menu = new Menu(shell);

-				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;

-		}

-	}

-}

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 22a6563..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/TreeTab.java
+++ /dev/null
@@ -1,136 +0,0 @@
-package org.eclipse.swt.examples.controlexample;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2002.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html

- */

-

-import org.eclipse.swt.*;

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

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

-

-class TreeTab extends ScrollableTab {

-	/* Example widgets and groups that contain them */

-	Tree tree1, tree2;

-	Group treeGroup, imageTreeGroup;

-	

-	/* Style widgets added to the "Style" group */

-	Button checkButton;

-

-	/**

-	 * Creates the Tab within a given instance of ControlExample.

-	 */

-	TreeTab(ControlExample instance) {

-		super(instance);

-	}

-

-	/**

-	 * Creates the "Example" group.

-	 */

-	void createExampleGroup () {

-		super.createExampleGroup ();

-		

-		/* Create a group for the text tree */

-		treeGroup = new Group (exampleGroup, SWT.NULL);

-		treeGroup.setLayout (new GridLayout ());

-		treeGroup.setLayoutData (new GridData (GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));

-		treeGroup.setText ("Tree");

-	

-		/* Create a group for the image tree */

-		imageTreeGroup = new Group (exampleGroup, SWT.NULL);

-		imageTreeGroup.setLayout (new GridLayout ());

-		imageTreeGroup.setLayoutData (new GridData (GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));

-		imageTreeGroup.setText (ControlExample.getResourceString("Tree_With_Images"));

-	}

-	

-	/**

-	 * Creates the "Example" widgets.

-	 */

-	void createExampleWidgets () {

-		/* Compute the widget style */

-		int style = SWT.NONE;

-		if (singleButton.getSelection()) style |= SWT.SINGLE;

-		if (multiButton.getSelection()) style |= SWT.MULTI;

-		if (checkButton.getSelection()) style |= SWT.CHECK;

-		if (borderButton.getSelection()) style |= SWT.BORDER;

-	

-		/* Create the text tree */

-		tree1 = new Tree (treeGroup, style);

-		TreeItem node1 = new TreeItem (tree1, SWT.NULL);

-		node1.setText (ControlExample.getResourceString("Node_1"));

-		TreeItem node2 = new TreeItem (tree1, SWT.NULL);

-		node2.setText (ControlExample.getResourceString("Node_2"));

-		TreeItem node3 = new TreeItem (tree1, SWT.NULL);

-		node3.setText (ControlExample.getResourceString("Node_3"));

-		TreeItem node4 = new TreeItem (tree1, SWT.NULL);

-		node4.setText (ControlExample.getResourceString("Node_4"));

-		TreeItem node1_1 = new TreeItem (node1, SWT.NULL);

-		node1_1.setText (ControlExample.getResourceString("Node_1_1"));

-		TreeItem node2_1 = new TreeItem (node2, SWT.NULL);

-		node2_1.setText (ControlExample.getResourceString("Node_2_1"));

-		TreeItem node3_1 = new TreeItem (node3, SWT.NULL);

-		node3_1.setText (ControlExample.getResourceString("Node_3_1"));

-		TreeItem node2_2 = new TreeItem (node2, SWT.NULL);

-		node2_2.setText (ControlExample.getResourceString("Node_2_2"));

-		TreeItem node2_2_1 = new TreeItem (node2_2, SWT.NULL);

-		node2_2_1.setText (ControlExample.getResourceString("Node_2_2_1"));

-	

-		/* Create the image tree */	

-		tree2 = new Tree (imageTreeGroup, style);

-		node1 = new TreeItem (tree2, SWT.NULL);

-		node1.setText (ControlExample.getResourceString("Node_1"));

-		node1.setImage (instance.images[ControlExample.ciClosedFolder]);

-		node2 = new TreeItem (tree2, SWT.NULL);

-		node2.setText (ControlExample.getResourceString("Node_2"));

-		node2.setImage (instance.images[ControlExample.ciClosedFolder]);

-		node3 = new TreeItem (tree2, SWT.NULL);

-		node3.setText (ControlExample.getResourceString("Node_3"));

-		node3.setImage (instance.images[ControlExample.ciClosedFolder]);

-		node4 = new TreeItem (tree2, SWT.NULL);

-		node4.setText (ControlExample.getResourceString("Node_4"));

-		node4.setImage (instance.images[ControlExample.ciClosedFolder]);

-		node1_1 = new TreeItem (node1, SWT.NULL);

-		node1_1.setText (ControlExample.getResourceString("Node_1_1"));

-		node1_1.setImage (instance.images[ControlExample.ciClosedFolder]);

-		node2_1 = new TreeItem (node2, SWT.NULL);

-		node2_1.setText (ControlExample.getResourceString("Node_2_1"));

-		node2_1.setImage (instance.images[ControlExample.ciClosedFolder]);

-		node3_1 = new TreeItem (node3, SWT.NULL);

-		node3_1.setText (ControlExample.getResourceString("Node_3_1"));

-		node3_1.setImage (instance.images[ControlExample.ciClosedFolder]);

-		node2_2 = new TreeItem(node2, SWT.NULL);

-		node2_2.setText (ControlExample.getResourceString("Node_2_2"));

-		node2_2.setImage (instance.images[ControlExample.ciClosedFolder]);

-		node2_2_1 = new TreeItem (node2_2, SWT.NULL);

-		node2_2_1.setText (ControlExample.getResourceString("Node_2_2_1"));

-		node2_2_1.setImage (instance.images[ControlExample.ciClosedFolder]);

-	}

-	

-	/**

-	 * Creates the "Style" group.

-	 */

-	void createStyleGroup() {

-		super.createStyleGroup();

-		

-		/* Create the extra widgets */

-		checkButton = new Button (styleGroup, SWT.CHECK);

-		checkButton.setText ("SWT.CHECK");

-	}

-	

-	/**

-	 * Gets the "Example" widget children.

-	 */

-	Control [] getExampleWidgets () {

-		return new Control [] {tree1, tree2};

-	}

-	

-	/**

-	 * Gets the text for the tab folder item.

-	 */

-	String getTabText () {

-		return "Tree";

-	}

-

-}

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 a3184bb..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 382751e..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/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/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/red.bmp b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/red.bmp
deleted file mode 100644
index 88c63be..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 6ce9264..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/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/yellow.bmp b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/yellow.bmp
deleted file mode 100644
index 631d069..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 6ce9264..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/fileviewer/FileViewer.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/FileViewer.java
deleted file mode 100755
index 65b88d3..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/FileViewer.java
+++ /dev/null
Binary files differ
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 ac1f2d9..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/IconCache.java
+++ /dev/null
Binary files differ
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/helloworld/HelloWorld1.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/helloworld/HelloWorld1.java
deleted file mode 100755
index 98bcf32..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/helloworld/HelloWorld1.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.eclipse.swt.examples.helloworld;

-

-/*

- * Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html

- */

-

-import org.eclipse.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 454c23e..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/helloworld/HelloWorld2.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package org.eclipse.swt.examples.helloworld;

-

-/*

- * Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html

- */

-

-import org.eclipse.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 59bd758..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/helloworld/HelloWorld3.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package org.eclipse.swt.examples.helloworld;

-

-/*

- * Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html

- */

-

-import org.eclipse.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 b8cdde8..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/helloworld/HelloWorld4.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package org.eclipse.swt.examples.helloworld;

-

-/*

- * Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html

- */

-

-

-import org.eclipse.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 71f369d..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/helloworld/HelloWorld5.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package org.eclipse.swt.examples.helloworld;

-

-/*

- * Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html

- */

-

-

-import org.eclipse.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 2d632e0..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/hoverhelp/HoverHelp.java
+++ /dev/null
Binary files differ
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 27e2f92..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/imageanalyzer/ImageAnalyzer.java
+++ /dev/null
@@ -1,2076 +0,0 @@
-package org.eclipse.swt.examples.imageanalyzer;

-

-/*

- * Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html

- */

-

-import org.eclipse.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_CONSTANT = 0;

-	static final int ALPHA_X = 1;

-	static final int ALPHA_Y = 2;

-

-	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.NULL);

-			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);

-

-		// Separate the menu bar from the rest of the widgets.

-		Label separator = new Label(shell, SWT.SEPARATOR | SWT.HORIZONTAL);

-		GridData gridData = new GridData();

-		gridData.horizontalSpan = 2;

-		gridData.horizontalAlignment = GridData.FILL;

-		separator.setLayoutData(gridData);

-		

-		// Add a composite to contain some control widgets across the top.

-		Composite controls = new Composite(shell, SWT.NULL);

-		RowLayout rowLayout = new RowLayout();

-		rowLayout.marginTop = 0;

-		rowLayout.marginBottom = 5;

-		rowLayout.spacing = 8;

-		controls.setLayout(rowLayout);

-		gridData = new GridData();

-		gridData.horizontalSpan = 2;

-		controls.setLayoutData(gridData);

-		

-		// Combo to change the background.

-		Group group = new Group(controls, SWT.NULL);

-		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.NULL);

-		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.NULL);

-		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.NULL);

-		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.NULL);

-		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.NULL);

-		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.NULL);

-		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);

-		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)

-					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.NULL);

-		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.NULL);

-		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.NULL);

-		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.NULL);

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

-		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.NULL);

-		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.NULL);

-		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.NULL);

-		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.NULL);

-		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.NULL);

-		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.NULL);

-		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.NULL);

-		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.NULL);

-		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.NULL);

-		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.NULL);

-		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.NULL);

-		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.NULL);

-		item.setText(bundle.getString("Reopen"));

-		item.addSelectionListener(new SelectionAdapter() {

-			public void widgetSelected(SelectionEvent event) {

-				menuReopen();

-			}

-		});

-		

-		new MenuItem(fileMenu, SWT.SEPARATOR);

-		

-		// File -> Save

-		item = new MenuItem(fileMenu, SWT.NULL);

-		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.NULL);

-		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.NULL);

-		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.NULL);

-		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.NULL);

-		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.NULL);

-		item.setText("K");

-		item.addSelectionListener(new SelectionAdapter() {

-			public void widgetSelected(SelectionEvent event) {

-				menuComposeAlpha(ALPHA_CONSTANT);

-			}

-		});

-

-		// Alpha -> (K + x) % 256

-		item = new MenuItem(alphaMenu, SWT.NULL);

-		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.NULL);

-		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();

-		}

-	}

-

-	void menuOpenFile() {

-		animate = false; // stop any animation in progress

-		resetScaleCombos();

-		

-		// Get the user to choose an image file.

-		FileDialog fileChooser = new FileDialog(shell, SWT.OPEN);

-		if (lastPath != null)

-			fileChooser.setFilterPath(lastPath);

-		fileChooser.setFilterExtensions(new String[] { "*.bmp; *.gif; *.ico; *.jpg; *.pcx; *.png; *.tif", "*.bmp", "*.gif", "*.ico", "*.jpg", "*.pcx", "*.png", "*.tif" });

-		fileChooser.setFilterNames(new String[] { bundle.getString("All_images") + " (bmp, gif, ico, jpg, pcx, png, tif)",

-		                                          "BMP (*.bmp)", "GIF (*.gif)", "ICO (*.ico)", "JPEG (*.jpg)", "PCX (*.pcx)", "PNG (*.png)", "TIFF (*.tif)" });

-		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 {

-			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]);

-				resetScrollBars();

-			}

-		} catch (SWTException e) {

-			showErrorDialog(bundle.getString("Loading_lc"), filename, e);

-		} finally {

-			shell.setCursor(null);

-			imageCanvas.setCursor(crossCursor);

-			waitCursor.dispose();

-		}

-	}

-	

-	void menuOpenURL() {

-		animate = false; // stop any animation in progress

-		resetScaleCombos();

-		

-		// 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);

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

-			long startTime = System.currentTimeMillis();

-			imageDataArray = loader.load(stream);

-			loadTime = System.currentTimeMillis() - startTime;

-			if (imageDataArray.length > 0) {

-				currentName = urlname;

-				fileName = null;

-				

-				// 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]);

-				resetScrollBars();

-			}

-		} catch (Exception e) {

-			showErrorDialog(bundle.getString("Loading_lc"), urlname, e);

-		} 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);

-		} 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) fileChooser.setFileName(fileName);

-		fileChooser.setFilterExtensions(new String[] { "*.bmp", "*.gif", "*.ico", "*.jpg", "*.png" });

-		fileChooser.setFilterNames(new String[] { "BMP (*.bmp)", "GIF (*.gif)", "ICO (*.ico)", "JPEG (*.jpg)", "PNG (*.png)" });

-		String filename = fileChooser.open();

-		lastPath = fileChooser.getFilterPath();

-		if (filename == null)

-			return;

-

-		// Figure out what file type the user wants saved.

-		// We need to rely on the file extension because FileDialog

-		// does not have API for asking what filter type was selected.

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

-			loader.data = new ImageData[] {imageData};

-			loader.save(filename, filetype);

-			

-			// 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);

-		} 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(new String[] { "*.bmp", "*.gif", "*.ico", "*.jpg", "*.png" });

-		fileChooser.setFilterNames(new String[] { "BMP (*.bmp)", "GIF (*.gif)", "ICO (*.ico)", "JPEG (*.jpg)", "PNG (*.png)" });

-		String filename = fileChooser.open();

-		lastPath = fileChooser.getFilterPath();

-		if (filename == null)

-			return;

-

-		// Figure out what file type the user wants saved.

-		// We need to rely on the file extension because FileDialog

-		// does not have API for asking what filter type was selected.

-		int 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);

-		} 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.NULL);

-			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

-		resetScrollBars();

-		resetScaleCombos();

-		Cursor waitCursor = new Cursor(display, SWT.CURSOR_WAIT);

-		shell.setCursor(waitCursor);

-		imageCanvas.setCursor(waitCursor);

-		try {

-			loader = new ImageLoader();

-			long startTime = System.currentTimeMillis();

-			ImageData[] newImageData;

-			if (fileName == null) {

-				URL url = new URL(currentName);

-				InputStream stream = url.openStream();

-				newImageData = loader.load(stream);

-			} else {

-				newImageData = loader.load(fileName);

-			}

-			loadTime = System.currentTimeMillis() - startTime;

-			imageDataIndex = 0;

-			displayImage(newImageData[imageDataIndex]);

-

-		} catch (Exception 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);

-

-

-			Object[] args = {new Integer(x),

-					     new Integer(y),

-					     new Integer(pixel),

-					     Integer.toHexString(pixel),

-					     rgb};

-			if (pixel == imageData.transparentPixel) {

-				statusLabel.setText(createMsg(bundle.getString("Color_at_trans"), args));

-			} else {

-				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) {

-		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)});

-		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) 

-			dataText.setStyleRange(new StyleRange(index - INDEX_DIGITS, INDEX_DIGITS, dataText.getForeground(), dataText.getBackground(), SWT.BOLD));

-

-		statusLabel.setText("");

-

-		// Redraw both canvases.

-		paletteCanvas.redraw();

-		imageCanvas.redraw();

-	}

-

-	void paintImage(PaintEvent event) {

-		Image paintImage = image;

-		int transparentPixel = imageData.transparentPixel;

-		if (transparentPixel != -1 && !transparent) {

-			imageData.transparentPixel = -1;

-			paintImage = new Image(display, imageData);

-		}

-		int w = Math.round(imageData.width * xscale);

-		int h = Math.round(imageData.height * yscale);

-		event.gc.drawImage(

-			paintImage,

-			0,

-			0,

-			imageData.width,

-			imageData.height,

-			ix + imageData.x,

-			iy + imageData.y,

-			w,

-			h);

-		if (showMask && (imageData.getTransparencyType() != SWT.TRANSPARENCY_NONE)) {

-			ImageData maskImageData = imageData.getTransparencyMask();

-			Image maskImage = new Image(display, maskImageData);

-			event.gc.drawImage(

-				maskImage,

-				0,

-				0,

-				imageData.width,

-				imageData.height,

-				w + 10 + ix + imageData.x,

-				iy + imageData.y,

-				w,

-				h);

-			maskImage.dispose();

-		}

-		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) {

-		if (image == null) return "";

-		char[] dump = new char[imageData.height * (6 + 3 * imageData.bytesPerLine + lineDelimiter.length())];

-		int index = 0;

-		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);

-			}

-		}

-		return new String(dump);

-	}

-	

-	/*

-	 * Open an error dialog displaying the specified information.

-	 */

-	void showErrorDialog(String operation, String filename, Exception 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 {

-				errorMessage = e.toString();

-			}

-		}

-		box.setMessage(message + errorMessage);

-		box.open();

-	}

-	

-	/*

-	 * 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") + ")";

-		else

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

-	 */

-	static String fileTypeString(int filetype) {

-		if (filetype == SWT.IMAGE_BMP)

-			return "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";

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

-	 */

-	static int determineFileType(String filename) {

-		String ext = filename.substring(filename.lastIndexOf('.') + 1);

-		if (ext.equalsIgnoreCase("bmp"))

-			return SWT.IMAGE_BMP;

-		if (ext.equalsIgnoreCase("gif"))

-			return SWT.IMAGE_GIF;

-		if (ext.equalsIgnoreCase("ico"))

-			return SWT.IMAGE_ICO;

-		if (ext.equalsIgnoreCase("jpg") || ext.equalsIgnoreCase("jpeg"))

-			return SWT.IMAGE_JPEG;

-		if (ext.equalsIgnoreCase("png"))

-			return SWT.IMAGE_PNG;

-		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 dee3142..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/javaviewer/JavaLineStyler.java
+++ /dev/null
@@ -1,374 +0,0 @@
-package org.eclipse.swt.examples.javaviewer;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2002.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html

- */

-

-import org.eclipse.swt.*;

-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;

-						}

-					}

-				} else {

-					unread(c);

-				}

-				return OTHER;

-			case '\'':	// char const

-				character: for(;;) {

-					c= read();

-					switch (c) {

-						case '\'':

-							return STRING;

-						case EOF:

-							unread(c);

-							return STRING;

-						case '\\':

-							c= read();

-							break;

-						}

-				}

-

-			case '"':	// string

-				string: for (;;) {

-					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 ffa2664..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/javaviewer/JavaViewer.java
+++ /dev/null
@@ -1,176 +0,0 @@
-package org.eclipse.swt.examples.javaviewer;

-

-/*

- * Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html

- */

-

-import org.eclipse.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.CASCADE);

-	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() {	

-	final String textString;

-	if (fileDialog == null) {

-		fileDialog = new FileDialog(shell, SWT.OPEN);

-	}

-

-	fileDialog.setFilterExtensions(new String[] {"*.java", "*.*"});

-	fileDialog.open();

-	String name = fileDialog.getFileName();

-	

-	if ((name == null) || (name.length() == 0)) return;

-

-	File file = new File(fileDialog.getFilterPath(), 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 a464185..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/layoutexample/FillLayoutTab.java
+++ /dev/null
@@ -1,175 +0,0 @@
-package org.eclipse.swt.examples.layoutexample;
-
-/*
- * Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- */
-
-import org.eclipse.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;
-	/* The example layout instance */
-	FillLayout fillLayout;
-	/* TableEditors and related controls*/
-	TableEditor comboEditor;
-	CCombo combo;
-	
-	/**
-	 * 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);
-		table.addSelectionListener (new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent 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);
-			}
-		});
-		
-		
-		/* Add listener to add an element to the table */
-		add.addSelectionListener(new SelectionAdapter () {
-			public void widgetSelected(SelectionEvent e) {
-				TableItem item = new TableItem (table, 0);
-				item.setText (0, String.valueOf (table.indexOf (item)));
-				item.setText (1, "Button");
-				data.addElement ("Button");
-				resetEditors ();
-			}
-		});
-	}
-	
-	/**
-	 * 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 (GridData.FILL_HORIZONTAL));
-		horizontal = new Button (typeGroup, SWT.RADIO);
-		horizontal.setText ("SWT.HORIZONTAL");
-		horizontal.setLayoutData(new GridData (GridData.FILL_HORIZONTAL));
-		horizontal.setSelection(true);
-		horizontal.addSelectionListener (selectionListener);
-		vertical = new Button (typeGroup, SWT.RADIO);
-		vertical.setText ("SWT.VERTICAL");
-		vertical.setLayoutData(new GridData (GridData.FILL_HORIZONTAL));
-		vertical.addSelectionListener (selectionListener); 
-		
-		/* Add common controls */
-		super.createControlWidgets ();
-		
-		/* Position the sash */
-		sash.setWeights (new int [] {4,1});
-	}
-	
-	/**
-	 * 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 ();
-	}
-
-	
-	/**
-	 * 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");
-		}
-		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 layout data field names.
-	 */
-	String [] getLayoutDataFieldNames() {
-		return new String [] {"","Control"};
-	}
-	
-	/**
-	 * Gets the text for the tab folder item.
-	 */
-	String getTabText () {
-		return "FillLayout";
-	}
-	
-	/**
-	 * Takes information from TableEditors and stores it.
-	 */
-	void resetEditors () {
-		TableItem oldItem = comboEditor.getItem ();
-		comboEditor.setEditor (null, null, -1);
-		if (oldItem != null) {
-			int row = table.indexOf (oldItem);
-			data.insertElementAt (combo.getText (), row);
-			oldItem.setText (1, data.elementAt (row).toString ());
-			combo.dispose ();
-		}
-		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;
-		}
-	}
-}
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 a79a0be..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/layoutexample/FormLayoutTab.java
+++ /dev/null
@@ -1,758 +0,0 @@
-package org.eclipse.swt.examples.layoutexample;
-
-/*
- * Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- */
-
-import org.eclipse.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 */
-	Combo marginHeight, marginWidth;
-	/* The example layout instance */
-	FormLayout formLayout;
-	/* TableEditors and related controls*/
-	TableEditor comboEditor, widthEditor, heightEditor;
-	TableEditor leftEditor, rightEditor, topEditor, bottomEditor;
-	CCombo combo;
-	Text widthText, heightText;
-	Button leftAttach, rightAttach, topAttach, bottomAttach;
-	
-	/* Constants */
-	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 (100);
-		table.getColumn (RIGHT_COL).setWidth (100);
-		table.getColumn (TOP_COL).setWidth (100);
-		table.getColumn (BOTTOM_COL).setWidth (100);
-				
-		/* Add TableEditors */			
-		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);
-				
-				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;
-						}
-                    }
-                } 
-			}
-		});
-		
-		/* Add listener to add an element to the table */
-		add.addSelectionListener(new SelectionAdapter () {
-			public void widgetSelected(SelectionEvent e) {
-				TableItem item = new TableItem (table, 0);
-				String [] insert = new String [] {
-					String.valueOf (table.indexOf (item)), "Button", "-1", "-1",
-					"0,0 (" + LayoutExample.getResourceString ("Default") + ")", "", 
-					"0,0 (" + LayoutExample.getResourceString ("Default") + ")", ""};
-				item.setText (insert);
-				data.addElement (insert);
-				resetEditors ();
-			}
-		});
-	}
-
-	/**
-	 * Creates the control widgets.
-	 */
-	void createControlWidgets () {
-		/* Controls the margins and spacing of the FormLayout */
-		String [] marginValues = new String [] {"0","3","5","10"};
-		Group marginGroup = new Group (controlGroup, SWT.NONE);
-		marginGroup.setText (LayoutExample.getResourceString ("Margins"));
-		GridLayout layout = new GridLayout ();
-		layout.numColumns = 2;
-		marginGroup.setLayout (layout);
-		marginGroup.setLayoutData (new GridData (GridData.FILL_HORIZONTAL));
-		new Label (marginGroup, SWT.NONE).setText ("marginHeight");
-		marginHeight = new Combo (marginGroup, SWT.NONE);
-		marginHeight.setItems (marginValues);
-		marginHeight.select (0);
-		marginHeight.addSelectionListener (selectionListener);
-		marginHeight.addTraverseListener (traverseListener);
-		GridData data = new GridData (GridData.FILL_HORIZONTAL);
-		data.widthHint = 60;
-		marginHeight.setLayoutData (data);
-		new Label (marginGroup, SWT.NONE).setText ("marginWidth");
-		marginWidth = new Combo (marginGroup, SWT.NONE);
-		marginWidth.setItems (marginValues);
-		marginWidth.select (0);
-		marginWidth.addSelectionListener (selectionListener);
-		marginWidth.addTraverseListener (traverseListener);
-		data = new GridData (GridData.FILL_HORIZONTAL);
-		data.widthHint = 60;
-		marginWidth.setLayoutData (data);
-		
-		/* Add common controls */
-		super.createControlWidgets ();
-		
-		/* Position the sash */
-		sash.setWeights (new int [] {6,4});
-	}
-	
-	/**
-	 * 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 ();
-		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.marginHeight != 0) {
-			code.append ("\t\tformLayout.marginHeight = " + formLayout.marginHeight + ";\n");
-		}
-		if (formLayout.marginWidth != 0) {
-			code.append ("\t\tformLayout.marginWidth = " + formLayout.marginWidth + ";\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 layout data field names.
-	 */
-	String [] getLayoutDataFieldNames() {
-		return new String [] {
-			"",
-			"Control", 
-			"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 () {
-		resetEditors (false);
-	}
-	
-	void resetEditors (boolean tab) {
-		TableItem oldItem = comboEditor.getItem ();
-		if (oldItem != null) {
-			int row = table.indexOf (oldItem);
-			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 [] {String.valueOf (row), 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);
-	}
-	
-	/**
-	 * 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 */
-		try {
-			formLayout.marginHeight = new Integer (marginHeight.getText ()).intValue ();
-		} catch (NumberFormatException e) {
-			formLayout.marginHeight = 0;
-			marginHeight.select (0);
-		}
-		try {
-			formLayout.marginWidth = new Integer (marginWidth.getText ()).intValue ();
-		} catch (NumberFormatException e) {
-			formLayout.marginWidth = 0;
-			marginWidth.select (0);
-		}
-	}
-	
-	
-	/**
-	 * <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 ());
-			GridLayout layout = new GridLayout ();
-			layout.numColumns = 3;
-			layout.makeColumnsEqualWidth = true;
-			shell.setLayout (layout);
-			
-			/* 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","50","75","100"});
-			position.setText (oldPos);
-			position.setEnabled (!isControl);			
-			GridData data = new GridData (GridData.FILL_HORIZONTAL);
-			data.horizontalSpan = 2;
-			position.setLayoutData (data);
-			
-			/* 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);
-			data = new GridData (GridData.FILL_HORIZONTAL);
-			data.horizontalSpan = 2;
-			control.setLayoutData (data);
-			
-			/* 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);
-			data = new GridData (GridData.FILL_HORIZONTAL);
-			data.horizontalSpan = 2;
-			alignment.setLayoutData (data);
-			
-			/* 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);
-			data = new GridData (GridData.FILL_HORIZONTAL);
-			data.horizontalSpan = 2;
-			offset.setLayoutData (data);
-			
-			/* 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 (GridData.HORIZONTAL_ALIGN_END));
-			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 (GridData.HORIZONTAL_ALIGN_CENTER));
-			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.setLayoutData (new GridData (GridData.HORIZONTAL_ALIGN_BEGINNING));
-			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 ();
-			Display display = shell.getDisplay ();
-			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 22c1cb2..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/layoutexample/GridLayoutTab.java
+++ /dev/null
@@ -1,586 +0,0 @@
-package org.eclipse.swt.examples.layoutexample;
-
-/*
- * Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- */
-
-import org.eclipse.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 */
-	Text numColumns;
-	Button makeColumnsEqualWidth;
-	Combo marginHeight, marginWidth, horizontalSpacing, verticalSpacing;
-	/* The example layout instance */
-	GridLayout gridLayout;
-	/* TableEditors and related controls*/
-	TableEditor comboEditor, widthEditor, heightEditor;
-	TableEditor vAlignEditor, hAlignEditor, hIndentEditor;
-	TableEditor hSpanEditor, vSpanEditor, hGrabEditor, vGrabEditor;
-	CCombo combo, vAlign, hAlign, hGrab, vGrab;
-	Text widthText, heightText, hIndent, hSpan, vSpan;
-	
-	/* Constants */
-	final int COMBO_COL = 1;
-	final int WIDTH_COL = 2;
-	final int HEIGHT_COL = 3;
-	final int HALIGN_COL = 4;
-	final int VALIGN_COL = 5;
-	final int HINDENT_COL = 6;
-	final int HSPAN_COL = 7;
-	final int VSPAN_COL = 8;
-	final int HGRAB_COL = 9;
-	final int VGRAB_COL = 10;
-	
-	final int TOTAL_COLS = 11;
-		
-	/**
-	 * 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 TableEditors */		
-		comboEditor = new TableEditor (table);
-		widthEditor = new TableEditor (table);
-		heightEditor = new TableEditor (table);
-		vAlignEditor = new TableEditor (table);
-		hAlignEditor = new TableEditor (table);
-		hIndentEditor = new TableEditor (table);
-		hSpanEditor = new TableEditor (table);
-		vSpanEditor = new TableEditor (table);
-		hGrabEditor = new TableEditor (table);
-		vGrabEditor = 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);
-				
-				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);
-				
-				hIndent = new Text (table, SWT.SINGLE);
-				hIndent.setText (((String [])data.elementAt (index)) [HINDENT_COL]);
-				createTextEditor (hIndent, hIndentEditor, HINDENT_COL);
-				
-				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);
-				
-				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);
-                
-                for (int i=0; i<table.getColumnCount (); i++) {
-                	Rectangle rect = newItem.getBounds (i);
-                    if (rect.contains (pt)) {
-                    	switch (i) {
-							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 HINDENT_COL :
-								hIndent.setFocus ();
-								break;
-							case HSPAN_COL :
-								hSpan.setFocus ();
-								break;
-							case VSPAN_COL :
-								vSpan.setFocus ();
-								break;
-							case HGRAB_COL :
-								hGrab.setFocus ();
-								break;
-							case VGRAB_COL :
-								vGrab.setFocus ();
-								break;
-							default :
-								resetEditors ();
-								break;
-						}
-                    }
-                } 
-			}
-		});
-		
-		/* Add listener to add an element to the table */
-		add.addSelectionListener(new SelectionAdapter () {
-			public void widgetSelected(SelectionEvent e) {
-				TableItem item = new TableItem (table, 0);
-				String [] insert = new String [] { 
-					String.valueOf (table.indexOf (item)), "Button",
-					"-1","-1","BEGINNING","CENTER",
-					"0","1","1","false","false"};
-				item.setText (insert);
-				data.addElement (insert);
-				resetEditors ();
-			}
-		});
-	}
-
-	/**
-	 * Creates the control widgets.
-	 */
-	void createControlWidgets () {
-		/* Rearrange the layout of the control group */
-		size.setLayoutData (new GridData ());
-		
-		/* Controls the margins and spacing of the GridLayout */
-		String [] marginValues = new String [] {"0","3","5","10"};
-		Group marginGroup = new Group (controlGroup, SWT.NONE);
-		marginGroup.setText (LayoutExample.getResourceString ("Margins_Spacing"));
-		GridData data = new GridData (GridData.FILL_HORIZONTAL);
-		data.verticalSpan = 2;
-		marginGroup.setLayoutData (data);
-		GridLayout layout = new GridLayout ();
-		layout.numColumns = 2;
-		marginGroup.setLayout (layout);
-		new Label (marginGroup, SWT.NONE).setText ("marginHeight");
-		marginHeight = new Combo (marginGroup, SWT.NONE);
-		marginHeight.setItems (marginValues);
-		marginHeight.select (2);
-		data = new GridData (GridData.FILL_HORIZONTAL);
-		data.widthHint = 60;
-		marginHeight.setLayoutData (data);
-		marginHeight.addSelectionListener (selectionListener);
-		marginHeight.addTraverseListener (traverseListener);
-		new Label (marginGroup, SWT.NONE).setText ("marginWidth");
-		marginWidth = new Combo (marginGroup, SWT.NONE);
-		marginWidth.setItems (marginValues);
-		marginWidth.select (2);
-		data = new GridData (GridData.FILL_HORIZONTAL);
-		data.widthHint = 60;
-		marginWidth.setLayoutData (data);
-		marginWidth.addSelectionListener (selectionListener);
-		marginWidth.addTraverseListener (traverseListener);
-		new Label (marginGroup, SWT.NONE).setText ("horizontalSpacing");
-		horizontalSpacing = new Combo (marginGroup, SWT.NONE);
-		horizontalSpacing.setItems (marginValues);
-		horizontalSpacing.select (2);
-		data = new GridData (GridData.FILL_HORIZONTAL);
-		data.widthHint = 60;
-		horizontalSpacing.setLayoutData (data);
-		horizontalSpacing.addSelectionListener (selectionListener);
-		horizontalSpacing.addTraverseListener (traverseListener);
-		new Label (marginGroup, SWT.NONE).setText ("verticalSpacing");
-		verticalSpacing = new Combo (marginGroup, SWT.NONE);
-		verticalSpacing.setItems (marginValues);
-		verticalSpacing.select (2);
-		data = new GridData (GridData.FILL_HORIZONTAL);
-		data.widthHint = 60;
-		verticalSpacing.setLayoutData (data);
-		verticalSpacing.addSelectionListener (selectionListener);
-		verticalSpacing.addTraverseListener (traverseListener);
-        
-        /* Controls the columns in the GridLayout */
-		Group columnGroup = new Group (controlGroup, SWT.NONE);
-		columnGroup.setText (LayoutExample.getResourceString ("Columns"));
-		layout = new GridLayout ();
-		layout.numColumns = 2;
-		columnGroup.setLayout (layout);
-		data = new GridData (GridData.VERTICAL_ALIGN_FILL);
-		columnGroup.setLayoutData (data);
-		numColumns = new Text (columnGroup, SWT.BORDER);
-		numColumns.setText ("1");
-		numColumns.addSelectionListener (selectionListener);
-		numColumns.addTraverseListener (traverseListener);
-       	data = new GridData (GridData.FILL_HORIZONTAL);
-       	data.widthHint = 15;
-       	numColumns.setLayoutData (data);
-       	new Label (columnGroup, SWT.NONE).setText ("numColumns");
-		makeColumnsEqualWidth = new Button (columnGroup, SWT.CHECK);
-		makeColumnsEqualWidth.setText ("makeColumnsEqualWidth");
-		makeColumnsEqualWidth.addSelectionListener (selectionListener);
-		data = new GridData (GridData.FILL_HORIZONTAL);
-		data.horizontalSpan = 2;
-		data.horizontalIndent = 14;
-		makeColumnsEqualWidth.setLayoutData (data);
-
-		/* 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 ();
-		widthText.dispose ();
-		heightText.dispose ();
-		hAlign.dispose ();
-		vAlign.dispose ();
-		hIndent.dispose ();
-		hSpan.dispose ();
-		vSpan.dispose ();
-		hGrab.dispose ();
-		vGrab.dispose ();
-	}
-	
-	/**
-	 * Generates code for the example layout.
-	 */	
-	StringBuffer generateLayoutCode () {
-		StringBuffer code = new StringBuffer ();
-		code.append ("\t\tGridLayout gridLayout = new GridLayout ();\n");
-		if (gridLayout.numColumns != 1) {
-			code.append ("\t\tgridLayout.numColumns = " + gridLayout.numColumns + ";\n");
-		}
-		if (gridLayout.makeColumnsEqualWidth) {
-			code.append ("\t\tgridLayout.makeColumnsEqualWidth = true;\n");
-		}
-		if (gridLayout.marginHeight != 5) {
-			code.append ("\t\tgridLayout.marginHeight = " + gridLayout.marginHeight + ";\n");
-		}
-		if (gridLayout.marginWidth != 5) {
-			code.append ("\t\tgridLayout.marginWidth = " + gridLayout.marginWidth + ";\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;
-		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) {
-				code.append ("\t\t");
-				if (first) {
-					code.append ("GridData ");
-					first = false;
-				}
-				code.append ("data = new GridData ();\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");
-				}
-				if (data.horizontalAlignment != GridData.BEGINNING) {
-					String alignment;
-					int hAlignment = data.horizontalAlignment;
-					if (hAlignment == GridData.CENTER) alignment = "GridData.CENTER";
-					else if (hAlignment == GridData.END) alignment = "GridData.END";
-					else alignment = "GridData.FILL";
-					code.append ("\t\tdata.horizontalAlignment = " + alignment + ";\n");
-				}
-				if (data.verticalAlignment != GridData.CENTER) {
-					String alignment;
-					int vAlignment = data.verticalAlignment;
-					if (vAlignment == GridData.BEGINNING) alignment = "GridData.BEGINNING";
-					else if (vAlignment == GridData.END) alignment = "GridData.END";
-					else alignment = "GridData.FILL";
-					code.append ("\t\tdata.verticalAlignment = " + alignment + ";\n");
-				}	
-				if (data.horizontalIndent != 0) {
-					code.append ("\t\tdata.horizontalIndent = " + data.horizontalIndent + ";\n");
-				}
-				if (data.horizontalSpan != 1) {
-					code.append ("\t\tdata.horizontalSpan = " + data.horizontalSpan + ";\n");
-				}
-				if (data.verticalSpan != 1) {
-					code.append ("\t\tdata.verticalSpan = " + data.verticalSpan + ";\n");
-				}
-				if (data.grabExcessHorizontalSpace) {
-					code.append ("\t\tdata.grabExcessHorizontalSpace = true;\n");
-				}
-				if (data.grabExcessVerticalSpace) {
-					code.append ("\t\tdata.grabExcessVerticalSpace = 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;
-	}
-	
-	/**
-	 * Returns the layout data field names.
-	 */
-	String [] getLayoutDataFieldNames() {
-		return new String [] {
-			"",
-			"Control", 
-			"width", 
-			"height", 
-			"horizontalAlignment", 
-			"verticalAlignment", 
-			"horizontalIndent", 
-			"horizontalSpan",
-			"verticalSpan", 
-			"grabExcessHorizontalSpace", 
-			"grabExcessVerticalSpace"
-		};
-	}
-	
-	/**
-	 * Gets the text for the tab folder item.
-	 */
-	String getTabText () {
-		return "GridLayout";
-	}
-	
-	/**
-	 * Takes information from TableEditors and stores it.
-	 */
-	void resetEditors () {
-		resetEditors (false);
-	}
-	
-	void resetEditors (boolean tab) {
-		TableItem oldItem = comboEditor.getItem ();
-		if (oldItem != null) {
-			int row = table.indexOf (oldItem);
-			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 (hIndent.getText ()).intValue ();
-			} catch (NumberFormatException e) {
-				hIndent.setText (oldItem.getText (HINDENT_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));
-			}
-			String [] insert = new String [] {
-				String.valueOf (row), combo.getText (), widthText.getText (), heightText.getText (),
-				hAlign.getText (), vAlign.getText (), hIndent.getText (), 
-				hSpan.getText (), vSpan.getText (), hGrab.getText (), vGrab.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 ();
-		GridData data;
-		int hIndent, hSpan, vSpan;
-		String vAlign, hAlign, vGrab, hGrab;
-		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 = GridData.CENTER;
-			} else if (hAlign.equals ("END")) {
-				data.horizontalAlignment = GridData.END;
-			} else if (hAlign.equals ("FILL")) {
-				data.horizontalAlignment = GridData.FILL;
-			} else {
-				data.horizontalAlignment = GridData.BEGINNING;
-			}
-			vAlign = items [i].getText (VALIGN_COL);
-			if (vAlign.equals ("BEGINNING")) {
-				data.verticalAlignment = GridData.BEGINNING;
-			} else if (vAlign.equals ("END")) {
-				data.verticalAlignment = GridData.END;
-			} else if (vAlign.equals ("FILL")) {
-				data.verticalAlignment = GridData.FILL;
-			} else {
-				data.verticalAlignment = GridData.CENTER;
-			}
-			/* Set indents and spans */
-			hIndent = new Integer (items [i].getText (HINDENT_COL)).intValue ();
-			data.horizontalIndent = hIndent;
-			hSpan = new Integer (items [i].getText (HSPAN_COL)).intValue ();
-			data.horizontalSpan = hSpan;
-			vSpan = new Integer (items [i].getText (VSPAN_COL)).intValue ();
-			data.verticalSpan = vSpan;
-			/* Set grabbers */
-			hGrab = items [i].getText (HGRAB_COL);
-			if (hGrab.equals ("true")) {
-				data.grabExcessHorizontalSpace = true;
-			} else {
-				data.grabExcessHorizontalSpace = false;
-			}
-			vGrab = items [i].getText (VGRAB_COL);
-			if (vGrab.equals ("true")) {
-				data.grabExcessVerticalSpace = true;
-			} else {
-				data.grabExcessVerticalSpace = false;
-			}
-			children [i].setLayoutData (data);
-		}
-	}
-	
-	/**
-	 * Sets the state of the layout.
-	 */
-	void setLayoutState () {
-		/* Set the columns for the layout */
-		try {
-			gridLayout.numColumns = new Integer (numColumns.getText ()).intValue ();
-		} catch (NumberFormatException e) {
-			gridLayout.numColumns = 1;
-		}
-		gridLayout.makeColumnsEqualWidth = makeColumnsEqualWidth.getSelection ();
-		
-		/* Set the margins and spacing */
-		try {
-			gridLayout.marginHeight = new Integer (marginHeight.getText ()).intValue ();
-		} catch (NumberFormatException e) {
-			gridLayout.marginHeight = 5;
-			marginHeight.select (2);
-		}
-		try {
-			gridLayout.marginWidth = new Integer (marginWidth.getText ()).intValue ();
-		} catch (NumberFormatException e) {
-			gridLayout.marginWidth = 5;
-			marginWidth.select (2);
-		}
-		try {
-			gridLayout.horizontalSpacing = new Integer (horizontalSpacing.getText ()).intValue ();
-		} catch (NumberFormatException e) {
-			gridLayout.horizontalSpacing = 5;
-			horizontalSpacing.select (2);
-		}
-		try {
-			gridLayout.verticalSpacing = new Integer (verticalSpacing.getText ()).intValue ();
-		} catch (NumberFormatException e) {
-			gridLayout.verticalSpacing = 5;
-			verticalSpacing.select (2);
-		}
-	}
-}
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 6aaf66a..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/layoutexample/LayoutExample.java
+++ /dev/null
@@ -1,110 +0,0 @@
-package org.eclipse.swt.examples.layoutexample;
-
-/*
- * Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- */
-
-import org.eclipse.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.NULL);
-		Tab [] tabs = new Tab [] {
-			new FillLayoutTab (this),
-			new RowLayoutTab (this),
-			new GridLayoutTab (this),
-			new FormLayoutTab (this),
-		};
-		for (int i=0; i<tabs.length; i++) {
-			TabItem item = new TabItem (tabFolder, SWT.NULL);
-		    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 32b54e9..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/layoutexample/RowLayoutTab.java
+++ /dev/null
@@ -1,409 +0,0 @@
-package org.eclipse.swt.examples.layoutexample;
-
-/*
- * Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- */
-
-import org.eclipse.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, justify;
-	Combo marginRight, marginLeft, marginTop, marginBottom, spacing;
-	/* The example layout instance */
-	RowLayout rowLayout;
-	/* TableEditors and related controls*/
-	TableEditor comboEditor, widthEditor, heightEditor;
-	CCombo combo;
-	Text widthText, heightText;
-	
-	/* Constants */
-	final int COMBO_COL = 1;
-	final int WIDTH_COL = 2;
-	final int HEIGHT_COL = 3;
-	
-	final int TOTAL_COLS = 4;
-	
-	/**
-	 * 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 */			
-		comboEditor = new TableEditor (table);
-		widthEditor = new TableEditor (table);
-		heightEditor = 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);
-				
-				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);
-                
-                for (int i=0; i<table.getColumnCount (); i++) {
-                	Rectangle rect = newItem.getBounds (i);
-                    if (rect.contains (pt)) {
-                    	switch (i) {
-							case COMBO_COL :
-								combo.setFocus ();	
-								break;
-							case WIDTH_COL :	
-								widthText.setFocus ();
-								break;
-							case HEIGHT_COL :
-								heightText.setFocus ();
-								break;
-							default :
-								resetEditors ();
-								break;
-						}
-                    }
-                } 
-			}
-		});
-		
-		/* Add listener to add an element to the table */
-		add.addSelectionListener(new SelectionAdapter () {
-			public void widgetSelected(SelectionEvent e) {
-				TableItem item = new TableItem (table, 0);
-				String [] insert = new String [] { 
-					String.valueOf (table.indexOf (item)),
-					"Button", "-1", "-1"};
-				item.setText (insert);
-				data.addElement (insert);
-				resetEditors ();
-			}
-		});
-	}
-	
-	/**
-	 * 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 ());
-		GridData data = new GridData (GridData.FILL_HORIZONTAL);
-		typeGroup.setLayoutData (data);
-		horizontal = new Button (typeGroup, SWT.RADIO);
-		horizontal.setText ("SWT.HORIZONTAL");
-		horizontal.setLayoutData (new GridData (GridData.FILL_HORIZONTAL)); 
-		horizontal.setSelection(true);
-		horizontal.addSelectionListener (selectionListener);
-		vertical = new Button (typeGroup, SWT.RADIO);
-		vertical.setText ("SWT.VERTICAL");
-		vertical.setLayoutData (new GridData (GridData.FILL_HORIZONTAL)); 
-		vertical.addSelectionListener (selectionListener);
-		
-		/* Controls the margins and spacing of the RowLayout */
-		String [] marginValues = new String [] {"0","3","5","10"};
-		Group marginGroup = new Group (controlGroup, SWT.NONE);
-		marginGroup.setText (LayoutExample.getResourceString ("Margins_Spacing"));
-		data = new GridData (GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING);
-		data.verticalSpan = 2;
-		marginGroup.setLayoutData (data);
-		GridLayout layout = new GridLayout ();
-		layout.numColumns = 2;
-		marginGroup.setLayout (layout);
-		new Label (marginGroup, SWT.NONE).setText ("marginRight");
-		marginRight = new Combo (marginGroup, SWT.NONE);
-		marginRight.setItems (marginValues);
-		marginRight.select (1);
-		marginRight.setLayoutData (new GridData(GridData.FILL_HORIZONTAL));
-		marginRight.addSelectionListener (selectionListener);
-		marginRight.addTraverseListener (traverseListener);
-		new Label (marginGroup, SWT.NONE).setText ("marginLeft");
-		marginLeft = new Combo (marginGroup, SWT.NONE);
-		marginLeft.setItems (marginValues);
-		marginLeft.select (1);
-		marginLeft.setLayoutData (new GridData(GridData.FILL_HORIZONTAL));
-		marginLeft.addSelectionListener (selectionListener);
-		marginLeft.addTraverseListener(traverseListener);
-		new Label (marginGroup, SWT.NONE).setText ("marginTop");
-		marginTop = new Combo (marginGroup, SWT.NONE);
-		marginTop.setItems (marginValues);
-		marginTop.select (1);
-		marginTop.setLayoutData (new GridData(GridData.FILL_HORIZONTAL));
-		marginTop.addSelectionListener (selectionListener);
-		marginTop.addTraverseListener(traverseListener);
-		new Label (marginGroup, SWT.NONE).setText ("marginBottom");
-		marginBottom = new Combo (marginGroup, SWT.NONE);
-		marginBottom.setItems (marginValues);
-		marginBottom.select (1);
-		marginBottom.setLayoutData (new GridData(GridData.FILL_HORIZONTAL));
-		marginBottom.addSelectionListener (selectionListener);
-		marginBottom.addTraverseListener(traverseListener);
-		new Label (marginGroup, SWT.NONE).setText ("spacing");
-		spacing = new Combo (marginGroup, SWT.NONE);
-		spacing.setItems (marginValues);
-		spacing.select (1);
-		spacing.setLayoutData (new GridData(GridData.FILL_HORIZONTAL));
-		spacing.addSelectionListener (selectionListener);
-		spacing.addTraverseListener(traverseListener);
-		
-		/* Controls other parameters of the RowLayout */
-		Group specGroup = new Group (controlGroup, SWT.NONE);
-		specGroup.setText (LayoutExample.getResourceString ("Properties"));
-		specGroup.setLayoutData (new GridData (GridData.FILL_HORIZONTAL));
-		specGroup.setLayout (new GridLayout ());
-		wrap = new Button (specGroup, SWT.CHECK);
-		wrap.setText ("wrap");
-		wrap.setSelection (true);
-		wrap.setLayoutData (new GridData (GridData.FILL_HORIZONTAL)); 
-		wrap.addSelectionListener (selectionListener);
-		pack = new Button (specGroup, SWT.CHECK);
-		pack.setText ("pack");
-		pack.setLayoutData (new GridData (GridData.FILL_HORIZONTAL)); 
-		pack.setSelection (true);
-		pack.addSelectionListener (selectionListener);
-		justify = new Button (specGroup, SWT.CHECK);
-		justify.setText ("justify");
-		justify.setLayoutData (new GridData (GridData.FILL_HORIZONTAL)); 
-		justify.addSelectionListener (selectionListener);
-		
-		/* Add common controls */
-		super.createControlWidgets ();
-		
-		/* Position the sash */
-		sash.setWeights (new int [] {6,5});
-	}
-	
-	/**
-	 * 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 ();
-	}
-	
-	/**
-	 * 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.justify == true) {
-			code.append ("\t\trowLayout.justify = true;\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 data = (RowData) control.getLayoutData ();
-			if (data != null) {
-				if (data.width != -1 || data.height != -1) {
-					code.append ("\t\t");
-					if (first) {
-						code.append ("RowData ");
-						first = false;
-					}
-					if (data.width == -1) {
-						code.append ("data = new RowData (SWT.DEFAULT, " + data.height + ");\n");
-					} else if (data.height == -1) {
-						code.append ("data = new RowData (" + data.width + ", SWT.DEFAULT);\n");
-					} else {
-						code.append ("data = new RowData (" + data.width + ", " + data.height + ");\n");				
-					}
-					code.append ("\t\t" + names [i] + ".setLayoutData (data);\n");
-				}
-			}
-		}
-		return code;
-	}
-	
-	/**
-	 * Returns the layout data field names.
-	 */
-	String [] getLayoutDataFieldNames() {
-		return new String [] { 
-			"",
-			"Control",
-			"width", 
-			"height"
-		};
-	}
-	
-	/**
-	 * Gets the text for the tab folder item.
-	 */
-	String getTabText () {
-		return "RowLayout";
-	}
-	
-	/**
-	 * Takes information from TableEditors and stores it.
-	 */
-	void resetEditors () {
-		resetEditors (false);
-	}
-	
-	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 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 [] {
-				String.valueOf (row), combo.getText (), widthText.getText (), heightText.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;
-		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);
-			children [i].setLayoutData (data);
-		}
-		
-	}
-	
-	/**
-	 * Sets the state of the layout.
-	 */
-	void setLayoutState () {
-		/* Set the type of layout */
-		if (vertical.getSelection ()) {
-			rowLayout.type = SWT.VERTICAL;
-		} else {
-			rowLayout.type = SWT.HORIZONTAL;
-		}
-		
-		/* Set the margins and spacing */
-		try {
-			rowLayout.marginRight = new Integer (marginRight.getText ()).intValue ();
-		} catch (NumberFormatException e) {
-			rowLayout.marginRight = 3;
-			marginRight.select (1);
-		}
-		try {
-			rowLayout.marginLeft = new Integer (marginLeft.getText ()).intValue ();
-		} catch (NumberFormatException e) {
-			rowLayout.marginLeft = 3;
-			marginLeft.select (1);
-		}
-		try {
-			rowLayout.marginTop = new Integer (marginTop.getText ()).intValue ();
-		} catch (NumberFormatException e) {
-			rowLayout.marginTop = 3;
-			marginTop.select (1);
-		}
-		try {
-			rowLayout.marginBottom = new Integer (marginBottom.getText ()).intValue ();
-		} catch (NumberFormatException e) {
-			rowLayout.marginBottom = 3;
-			marginBottom.select (1);
-		}
-		try {
-			rowLayout.spacing = new Integer (spacing.getText ()).intValue ();
-		} catch (NumberFormatException e) {
-			rowLayout.spacing = 3;
-			spacing.select (1);
-		}
-		
-		/* Set the other layout properties */
-		rowLayout.wrap = wrap.getSelection ();
-		rowLayout.pack = pack.getSelection ();
-		rowLayout.justify = justify.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 4584441..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/layoutexample/Tab.java
+++ /dev/null
@@ -1,641 +0,0 @@
-package org.eclipse.swt.examples.layoutexample;
-
-/*
- * Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- */
- 
-import java.util.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 {	
-	/* 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;
-	Button size, add, delete, clear, code;
-	/* Common values for working with TableEditors */
-	Table table;
-	int index;
-	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 "child" 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"));
-		GridLayout layout = new GridLayout ();
-		layout.numColumns = 3;
-		childGroup.setLayout (layout);
-		GridData data = new GridData (GridData.FILL_BOTH);
-		data.horizontalSpan = 2;
-		childGroup.setLayoutData (data); 
-		createChildWidgets ();
-	}
-	
-	/**
-	 * Creates the controls for modifying the "children" 
-	 * table, and the table itself.
-	 * Subclasses override this method to augment the
-	 * standard table.
-	 */
-	void createChildWidgets () {
-		/* Controls for adding and removing children */
-		add = new Button (childGroup, SWT.PUSH);
-		add.setText (LayoutExample.getResourceString ("Add"));
-		add.setLayoutData(new GridData (GridData.FILL_HORIZONTAL));
-		delete = new Button (childGroup, SWT.PUSH);
-		delete.setText (LayoutExample.getResourceString ("Delete"));
-		delete.setLayoutData(new GridData (GridData.FILL_HORIZONTAL));
-		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++) {
-					table.getItem (i).setText (0, String.valueOf (i));
-				}
-				refreshLayoutComposite ();
-				layoutComposite.layout (true);
-				layoutGroup.layout (true);
-			}
-		});
-		clear = new Button (childGroup, SWT.PUSH);
-		clear.setText (LayoutExample.getResourceString ("Clear"));
-		clear.setLayoutData(new GridData (GridData.FILL_HORIZONTAL));
-		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);
-			}
-		});
-		/* 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);
-		GridData gridData = new GridData (GridData.FILL_BOTH);
-		gridData.horizontalSpan = 3;
-		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 (20);
-			else if (i == 1) column.setWidth (80);
-			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 (new String [] {
-			"Button", "Canvas", "Combo", "Composite",
-			"CoolBar", "Group", "Label", "List",
-			"ProgressBar", "Scale", "Slider", "StyledText",
-			"Table", "Text", "ToolBar", "Tree"});
-		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) {
-                    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 ();
-		layout.numColumns = 2;
-		controlGroup.setLayout (layout);
-		size = new Button (controlGroup, SWT.CHECK);
-		size.setText (LayoutExample.getResourceString ("Preferred_Size"));
-		size.setSelection (false);
-		size.addSelectionListener (new SelectionAdapter () {
-			public void widgetSelected (SelectionEvent e) {
-				resetEditors ();
-				if (size.getSelection ()) {
-					layoutComposite.setLayoutData (new GridData ());
-					layoutGroup.layout (true);
-				} else {
-					layoutComposite.setLayoutData (new GridData (GridData.FILL_BOTH));
-					layoutGroup.layout (true);
-				}
-			}
-		});
-		GridData data = new GridData (GridData.FILL_HORIZONTAL);
-		data.horizontalSpan = 2;
-		size.setLayoutData (data);
-		createControlWidgets ();
-	}
-		
-	/**
-	 * Creates the "control" widget children.
-	 * Subclasses override this method to augment
-	 * the standard controls created.
-	 */
-	void createControlWidgets () {
-		createChildGroup ();
-		code = new Button (controlGroup, SWT.PUSH);
-		code.setText (LayoutExample.getResourceString ("Code"));
-		GridData gridData = new GridData (GridData.HORIZONTAL_ALIGN_CENTER | GridData.GRAB_HORIZONTAL);
-		gridData.horizontalSpan = 2;
-		code.setLayoutData (gridData);
-		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 StyledText text = new StyledText (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 (400, 500);
-				shell.open ();
-				Display display = shell.getDisplay ();
-				while (!shell.isDisposed ())
-					if (!display.readAndDispatch ()) display.sleep ();
-			}
-		});
-	}
-	
-	/**
-	 * 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 (GridData.FILL_BOTH));
-		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) {
-		/* Create a two column page with a SashForm*/
-		tabFolderPage = new Composite (tabFolder, SWT.NULL);
-		tabFolderPage.setLayout (new FillLayout ());
-		sash = new SashForm (tabFolderPage, SWT.HORIZONTAL);
-	
-		/* Create the "layout" and "control" columns */
-		createLayoutGroup ();
-		createControlGroup ();
-		
-		return tabFolderPage;
-	}
-	
-	/**
-	 * 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++) {
-			Control control = children [i];
-			String controlClass = control.getClass ().toString ();
-			String controlType = controlClass.substring (controlClass.lastIndexOf ('.') + 1);
-			names [i] = controlType.toLowerCase () + i;
-		}
-	
-		/* Create StringBuffer containing the code */
-		StringBuffer code = new StringBuffer ();
-		code.append ("import org.eclipse.swt.*;\n");
-		code.append ("import org.eclipse.swt.custom.*;\n");
-		code.append ("import org.eclipse.swt.graphics.*;\n");
-		code.append ("import org.eclipse.swt.layout.*;\n");
-		code.append ("import org.eclipse.swt.widgets.*;\n\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;
-	}
-	
-	/**
-	 * 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 ("Text")) {
-			styleString = "SWT.BORDER";
-		} 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")) {
-			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\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\tPoint size = coolToolBar.computeSize (SWT.DEFAULT, SWT.DEFAULT);\n");
-			code.append ("\t\tcoolItem1.setSize (coolItem1.computeSize (size.x, size.y));\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 ("StyledText") ||
-			controlType.equals ("Text")) {
-			code.append ("\t\t" + names [i] + ".setText (\"" + names [i] + "\");\n");
-		}
-		return code;
-	}
-		
-	/**
-	 * 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 layed 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);
-			if (control.equals ("Button")) {
-				Button button = new Button (layoutComposite, SWT.PUSH);
-				button.setText (LayoutExample.getResourceString ("Button_Index", new String [] {new Integer (i).toString ()}));
-				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 (LayoutExample.getResourceString ("Combo_Index", new String [] {new Integer (i).toString ()}));
-				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 (LayoutExample.getResourceString ("Group_Index", new String [] {new Integer (i).toString ()}));
-				children [i] = group;
-			} else if (control.equals ("Label")) {
-				Label label = new Label (layoutComposite, SWT.NONE);
-				label.setText (LayoutExample.getResourceString ("Label_Index", new String [] {new Integer (i).toString ()}));
-				children [i] = label;
-			} 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 (LayoutExample.getResourceString ("StyledText_Index", new String [] {new Integer (i).toString ()}));
-				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 (LayoutExample.getResourceString ("Text_Index", new String [] {new Integer (i).toString ()}));
-				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;
-			} 
-		}
-	}	
-	
-	/**
-	 * Takes information from TableEditors and stores it.
-	 * Subclasses override this method.
-	 */
-	void resetEditors () {
-		resetEditors (false);
-	}
-	
-	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/texteditor/Images.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/Images.java
deleted file mode 100755
index 49c7b59..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/Images.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package org.eclipse.swt.examples.texteditor;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2002.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html

- */

-

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

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

-

-public class Images {

-

-	// Bitmap Images

-	public Image Bold;

-	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) {

-	ImageData source = new ImageData(Images.class.getResourceAsStream(fileName+".bmp"));

-	ImageData mask = new ImageData(Images.class.getResourceAsStream(fileName+"_mask"+".bmp"));

-	return new Image (display, source, mask);

-}

-

-public void loadAll (Display display) {

-	// Bitmap Images

-	Bold = createBitmapImage (display, "bold");

-	Red = createBitmapImage (display, "red");

-	Green = createBitmapImage (display, "green");

-	Blue = createBitmapImage (display, "blue");

-	Erase = createBitmapImage (display, "erase");

-	

-	AllBitmaps = new Image [] {

-		Bold,

-		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 af67c24..0000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/TextEditor.java
+++ /dev/null
@@ -1,344 +0,0 @@
-package org.eclipse.swt.examples.texteditor;

-

-/*

- * Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
- * This file is made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html

- */

-

-import org.eclipse.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;

-	

-	boolean isBold = false;

-	

-	ExtendedModifyListener extendedModifyListener;

-	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 the text state to bold.

- */

-void bold(boolean bold) {

-	isBold = bold;

-	Point sel = text.getSelectionRange();

-	if ((sel != null) && (sel.y != 0)) {

-		StyleRange style;

-		int fontStyle = SWT.NORMAL;

-		if (isBold) fontStyle = SWT.BOLD;

-		style = new StyleRange(sel.x, sel.y, null, null, fontStyle);

-		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 != null) && (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(int color) {

-	Point sel = text.getSelectionRange();

-	if ((sel == null) || (sel.y == 0)) return;

-	Color fg;

-	if (color == SWT.COLOR_RED) {

-		fg = RED;

-	} else if (color == SWT.COLOR_GREEN) {

-		fg = GREEN;

-	} else if (color == SWT.COLOR_BLUE) {

-		fg = BLUE;

-	} else {

-		fg = null;

-	}

-	StyleRange style;

-	for (int i = sel.x; i<sel.x+sel.y; i++) {

-		StyleRange range = text.getStyleRangeAtOffset(i);

-		if (range == null) {style = new StyleRange(i, 1, fg, null, SWT.NORMAL);}

-		else {style = new StyleRange(i, 1, fg, null, range.fontStyle);};

-		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);

-	extendedModifyListener = new ExtendedModifyListener() {

-		public void modifyText(ExtendedModifyEvent e) {

-			handleExtendedModify(e);

-		}

-	};

-	text.addExtendedModifyListener(extendedModifyListener);

-}

-

-void createToolBar() {

-	toolBar = new ToolBar(shell, SWT.NULL);

-	

-	ToolItem item = new ToolItem(toolBar, SWT.CHECK);

-	item.setImage(images.Bold);

-	item.addSelectionListener(new SelectionAdapter() {

-		public void widgetSelected(SelectionEvent event) {

-			bold(((ToolItem)event.widget).getSelection());

-		}

-	});

-	

-	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(SWT.COLOR_RED);

-		}

-	});

-	item = new ToolItem(toolBar, SWT.PUSH);

-	item.setImage(images.Green);

-	item.addSelectionListener(new SelectionAdapter() {

-		public void widgetSelected(SelectionEvent event) {

-			fgColor(SWT.COLOR_GREEN);

-		}

-	});

-	item = new ToolItem(toolBar, SWT.PUSH);

-	item.setImage(images.Blue);

-	item.addSelectionListener(new SelectionAdapter() {

-		public void widgetSelected(SelectionEvent event) {

-			fgColor(SWT.COLOR_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();

-		}

-	});

-}

-void displayError(String msg) {

-	MessageBox box = new MessageBox(shell, SWT.ICON_ERROR);

-	box.setMessage(msg);

-	box.open();

-}

-/*

- * 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.start = event.start;

-			style.length = event.length;

-			int fontStyle = SWT.NORMAL;

-			if (isBold) fontStyle = SWT.BOLD;

-			style.fontStyle = fontStyle;

-			text.setStyleRange(style);

-		} else if (isBold) {

-			StyleRange newStyle = new StyleRange(event.start, event.length, null, null, SWT.BOLD);

-			text.setStyleRange(newStyle);

-		}

-	} 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.setFontData((text.getFont()).getFontData()[0]);

-	FontData fontData = fontDialog.open();

-	if(fontData != null) {

-		if(font != null)

-			font.dispose();

-		font = new Font(shell.getDisplay(), fontData);

-		text.setFont(font);

-	}

-}

-

-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/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/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_custom_StyleRange.java b/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_custom_StyleRange.java
index 9c9f49c..476adb1 100644
--- a/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_custom_StyleRange.java
+++ b/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_custom_StyleRange.java
@@ -1,20 +1,23 @@
 package org.eclipse.swt.tests.junit;
 
 /*
- * (c) Copyright IBM Corp. 2000, 2002. All rights reserved.
+ * (c) Copyright IBM Corp. 2000, 2003. All rights reserved.
  * This file is made available under the terms of the Common Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/cpl-v10.html
  */
 
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.widgets.*;
-import junit.framework.*;
-import junit.textui.*;
 import java.util.*;
 
+import junit.framework.Test;
+import junit.framework.TestSuite;
+import junit.textui.TestRunner;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.custom.StyleRange;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.graphics.RGB;
+import org.eclipse.swt.widgets.Display;
+
 /**
  * Automated Test Suite for class org.eclipse.swt.custom.StyleRange
  *
@@ -98,7 +101,15 @@
 }
 
 public void test_hashCode() {
-	// does not make sense to test
+	Set set = new HashSet();
+	Color testColor = new Color(Display.getDefault(), 0, 0, 0);
+	
+	//regression test for bug 30924
+	set.add(new StyleRange());
+	set.add(new StyleRange(0, 1, testColor, null));
+	set.add(new StyleRange(0, 1, testColor, testColor));
+	set.add(new StyleRange(0, 1, testColor, testColor, SWT.BOLD));
+	testColor.dispose();
 }
 
 public void test_isUnstyled() {