Import pages from platform-swt-home.
diff --git a/community.php b/community.php
new file mode 100755
index 0000000..5586d26
--- /dev/null
+++ b/community.php
@@ -0,0 +1,113 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+    <title>The SWT Community Page</title>
+    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+    <link rel="stylesheet" href="http://dev.eclipse.org/default_style.css" type="text/css">
+    <link rel="stylesheet" href="swt.css" type="text/css">
+    <link rel="shortcut icon" href="http://www.eclipse.org/images/eclipse.ico" type="image/x-icon">
+</head>
+<body bgcolor="#ffffff" text="#000000">
+<table width="635px" style="border-bottom: 1px solid #000000;">
+<colgroup><col width="125px"><col width="510px"></colgroup>
+<tr><?php include "sidebar.php"; ?>
+<td valign="top" style="padding: 10px"><h1 style="padding: 0; margin: 0; border-bottom: 1px solid #000000;">The SWT Community Page</h1>
+
+<p>This page provides links to additional SWT ports, widgets, and applications
+maintained elsewhere in the community.  If you have a project and would like to
+see it listed here, please let us know on the
+<a href="http://dev.eclipse.org/mailman/listinfo/platform-swt-dev">SWT developer mailing list</a>.</p>
+
+<table width="100%">
+<tr><th bgcolor="#0080c0" align="left" style="padding: 2px;"><font color="#ffffff">Code and Bug Fixes</font>
+</table>
+
+<p>Many thanks to the <a href="contributors.txt">various people</a> who have
+contributed code and bug fixes to SWT.</p>
+
+<table width="100%">
+<tr><th bgcolor="#0080c0" align="left" style="padding: 2px;"><font color="#ffffff">Ports</font>
+</table>
+
+<p>Ivan Markov is working on a port of SWT to the
+<a href="http://www.fox-toolkit.org/">Fox Widget Toolkit</a>.</p>
+
+<ul>
+  <li>Homepage: <a href="http://swtfox.sf.net">http://swtfox.sf.net/</a></li>
+  <li>CVS: <a href="http://cvs.sourceforge.net/viewcvs.py/swtfox/">:pserver:anonymous@cvs.sourceforge.net:/cvsroot/swtfox</a></li>
+</ul>
+
+<p>Christopher Deckers is working on a port of SWT on top of the Swing widget
+toolkit.</p>
+
+<ul>
+  <li>Homepage: <a href="http://sourceforge.net/projects/swtswing">http://sourceforge.net/projects/swtswing/</a></li>
+  <li>CVS: <a href="http://cvs.sourceforge.net/viewcvs.py/swtswing/">:pserver:anonymous@cvs.sourceforge.net:/cvsroot/swtswing</a></li>
+</ul>
+
+<table width="100%">
+<tr><th bgcolor="#0080c0" align="left" style="padding: 2px;"><font color="#ffffff">Additional Widgets</font>
+</table>
+
+<ul>
+<li><b><a href="http://www.kupzog.de/fkmk_uk/Programming/Downloads/downloads.html">KTable Widget</a></b>
+    <i>by Friederich Kupzog</i>
+
+    <p>KTable is a custom drawn table widget for SWT that provides a flexible
+    grid of cells to display data.  It provides custom cell rendering, a variety of
+    selection modes and cell editing.</p>
+
+<li><b><a href="http://www.novocode.com/swt/">SWT Controls</a></b>
+    <i>by Novocode</i>
+
+    <p>A variety of controls such as FramedComposite, HyperLink,
+    LiveSashForm and SizeGrip developed using SWT graphics, events
+    and widgets.</p>
+
+<li><b><a href="http://sourceforge.net/projects/swt-datepicker/">SWT DatePicker widget</a></b>
+    <i>by Andrey Onistchuk and Sebastian</i>
+
+    <p>Emulated widgets that provide a date-picker panel and combo widget
+    with drop-down date-picker panel.</p>
+
+<li><b><a href="http://swtcalendar.sourceforge.net/">SWTCalendar widget</a></b>
+    <i>by Bryan Yu</i>
+
+    <p>SWTCalendar was designed to be a flexible component so a developer
+    can embed a date picker in their application or create their own
+    standalone date picker dialog.</p>
+</ul>
+
+<table width="100%">
+<tr><th bgcolor="#0080c0" align="left" style="padding: 2px;"><font color="#ffffff">Open Source SWT Applications</font>
+</table>
+
+<ul>
+<li><b><a href="http://azureus.sourceforge.net/">Azureus</a></b>
+
+    <p>Azureus is a featureful bittorrent client implementation written
+    in Java using SWT.</p>
+
+<li><b><a href="http://www.rssowl.org/">RSSOwl</a></b>
+
+    <p>RSSOwl is an RSS newsreader that lets you gather, organize, update, and
+    store information from any compliant source in a convenient, easy to use
+    interface, save selected information in various formats for offline viewing
+    and sharing, and much more.</p>
+
+<li><b><a href="http://sancho-gui.sourceforge.net/">sancho</a></b>
+
+    <p>sancho is a gui that connects to a p2p core application. Power users
+    that use p2p applications usually choose one that has core/gui separation.
+    sancho provides an easy to use, powerful, and configurable gui, currently
+    supporting the gui protocol of the popular mldonkey core.</p>
+
+<li><b><a href="http://sourceforge.net/projects/deinonychus/">Deinonychus</a></b>
+
+    <p>Deinonychus is an email client written in Java featuring a GUI built
+    with SWT. Supports MIME, IMAP, POP, and SMTP.</p>
+</ul>
+
+</table>  
+</body>
+</html>
diff --git a/docs.php b/docs.php
new file mode 100755
index 0000000..2a3d4da
--- /dev/null
+++ b/docs.php
@@ -0,0 +1,109 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+    <title>SWT Resources and Links</title>
+    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+    <link rel="stylesheet" href="http://dev.eclipse.org/default_style.css" type="text/css">
+    <link rel="shortcut icon" href="http://www.eclipse.org/images/eclipse.ico" type="image/x-icon">
+</head>
+<body bgcolor="#ffffff" text="#000000">
+<table width="510px" style="border-bottom: 1px solid #000000;">
+<tr><td><h1 style="padding: 0; margin: 0; border-bottom: 1px solid #000000;">SWT Resources and Links</h1>
+
+<p>This page contains links and references to books, tutorials, and
+articles about SWT.</p>
+
+<table width="100%">
+<tr><th bgcolor="#0080c0" align="left" style="padding: 2px;"><font color="#ffffff">SWT in Books</font>
+</table>
+
+<p>SWT is in print in the following books.</p>
+
+<ul>
+   <li><a href="http://www.amazon.com/exec/obidos/tg/detail/-/0321256638/qid=1088631104/sr=8-3/ref=sr_8_xs_ap_i3_xgl14/104-7716812-0314361?v=glance&amp;s=books&amp;n=507846">
+       <em>"SWT: The Standard Widget Toolkit, Volume 1"</em></a> by Steve Northover and Mike Wilson</li>
+   <li><a href="http://www.amazon.com/exec/obidos/tg/detail/-/1590593251/qid=1088631104/sr=8-1/ref=pd_ka_1/104-7716812-0314361?v=glance&amp;s=books&amp;n=507846">
+       <em>"The Definitive Guide to SWT and JFace"</em></a> by Rob Warner and Robert Harris</li>
+   <li><a href="http://www.amazon.com/exec/obidos/ASIN/0321305027">
+       <em>"The Java Developer's Guide to Eclipse, Second Edition"</em></a> by Jim D'Anjou, Scott Fairbrother, Dan Kehn, John Kellerman, and Pat McCarthy (Chapter 14)</li>
+   <li><a href="http://www.amazon.com/exec/obidos/tg/detail/-/0321205758/qid=1075410339//ref=sr_8_xs_ap_i1_xgl14/002-9415319-6500833?v=glance&amp;s=books&amp;n=507846">
+       <em>"Contributing to Eclipse: Principles, Patterns, and Plugins"</em></a> by Erich Gamma and Kent Beck (Chapter 34)</li>
+   <li><a href="http://www.amazon.com/exec/obidos/tg/detail/-/1930110960/qid=1075410470//ref=sr_8_xs_ap_i1_xgl14/002-9415319-6500833?v=glance&amp;s=books&amp;n=507846">
+       <em>"Eclipse in Action: A Guide for the Java Developer"</em></a> by David Gallardo, Ed Burnette, and Robert McGovern (Appendix D)</li>
+</ul>
+
+<table width="100%">
+<tr><th bgcolor="#0080c0" align="left" style="padding: 2px;"><font color="#ffffff">SWT Documentation Inside Eclipse</font>
+</table>
+
+<p>The Eclipse Help system contains good solid documentation for SWT in
+the <em>Platform Plug-in Developer Guide</em>. To get there in Eclipse,
+select <strong>Help</strong> &gt; <strong>Help Contents</strong> &gt;
+<strong>Platform Plug-in Developer Guide</strong>.</p>
+
+<p>You can also get this document <a
+href="http://www.eclipse.org/documentation/main.html">in PDF
+format</a>.</p>
+
+<p>SWT documentation appears in the following sections of the
+<em>Platform Plug-in Developer Guide</em>:</p>
+<ul>
+  <li>Programmer's Guide: Standard Widget Toolkit</li>
+  <li>Reference: API Reference: org.eclipse.swt</li>
+  <li>Examples Guide: Standard Widget Toolkit</li>
+</ul>
+
+<table width="100%">
+<tr><th bgcolor="#0080c0" align="left" style="padding: 2px;"><font color="#ffffff">More articles about SWT</font>
+</table>
+
+<ul>
+<li>SWT articles published in JDJ:
+  <ul>
+    <li><a href="http://www.sys-con.com/story/?storyid=37463&amp;DE=1">SWT: A Native Widget Toolkit for Java, Part 1 of 2</a></li>
+    <li><a href="http://www.sys-con.com/story/?storyid=37509&amp;DE=1">SWT: A Native Widget Toolkit for Java, Part 2 of 2</a></li>
+  </ul>
+  <p></p>
+
+<li>SWT articles on IBM Developerworks Library:
+  <ul>
+    <li><a href="http://www-106.ibm.com/developerworks/opensource/library/os-ecgui1/">Using the Eclipse GUI outside the Eclipse Workbench</a></li>
+    <li><a href="http://www-106.ibm.com/developerworks/opensource/library/os-activex/">Integrate ActiveX controls into SWT applications</a></li>
+    <li><a href="http://www-106.ibm.com/developerworks/opensource/library/os-ecca/">Equipping SWT applications with content assistants</a></li>
+  </ul>
+</ul>
+
+<table width="100%">
+<tr><th bgcolor="#0080c0" align="left" style="padding: 2px;"><font color="#ffffff">SWT Online Tutorials</font>
+</table>
+
+<p>There have been a few tutorials posted about SWT which you may find useful.</p>
+
+<ul>
+  <li><a href="http://www.cs.umanitoba.ca/~eclipse/">Getting Started
+       with Eclipse and SWT</a> from the University of Manitoba.
+</ul>
+
+<table width="100%">
+<tr><th bgcolor="#0080c0" align="left" style="padding: 2px;"><font color="#ffffff">SWT Examples</font>
+</table>
+
+<p>Full-blown examples that can be downloaded from the eclipse download
+page.  The examples in package org.eclipse.swt.examples run standalone,
+and the examples in org.eclipse.swt.examples.* packages are eclipse
+plug-ins.</p>
+<ul>
+  <li>To get the examples, first go to the eclipse download page: <a href="http://download.eclipse.org/downloads/index.php">
+      http://download.eclipse.org/downloads/index.php</a></li>
+  <li>Then click on the eclipse build that you would like examples for
+      (i.e. the eclipse build that you are running; typically the latest Stable Build).</li>
+  <li>Then scroll down until you see "Example Plug-ins". Read the paragraph on installing them, and select the download for your platform.</li>
+  <li>After installing the examples, the source for them will be in a src.zip file in the
+      appropriate subdirectory of: eclipse/plugins/org.eclipse.sdk.examples.source_&lt;version&gt;/src/
+      <br>For example, the 3.1 source for the standalone examples in org.eclipse.swt.examples is in: org.eclipse.sdk.examples.source_3.1.0/src/org.eclipse.swt.examples_3.1.0/swtexamplessrc.zip.</li>
+  <li>To run the plug-in SWT examples, restart eclipse, go to <i>Window &gt; Show View... &gt; Other...</i> and expand "SWT Examples".</li>
+</ul>
+
+</table>
+</body>
+</html>
diff --git a/faq.php b/faq.php
new file mode 100755
index 0000000..1934c3c
--- /dev/null
+++ b/faq.php
@@ -0,0 +1,1030 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+    <title>The SWT FAQ</title>
+    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+    <link rel="stylesheet" href="http://dev.eclipse.org/default_style.css" type="text/css">
+    <link rel="stylesheet" href="swt.css" type="text/css">
+    <link rel="shortcut icon" href="http://www.eclipse.org/images/eclipse.ico" type="image/x-icon">
+    <style type="text/css"> dt { padding-top: 20px; padding-bottom: 5px; } </style>
+</head>
+<body bgcolor="#ffffff" text="#000000">
+<table width="825px" style="border-bottom: 1px solid #000000;">
+<colgroup><col width="125px"><col width="700px"></colgroup>
+<tr><?php include "sidebar.php"; ?>
+<td valign="top" style="padding: 10px"><h1 style="padding: 0; margin: 0; border-bottom: 1px solid #000000;">The SWT FAQ</h1>
+
+<p>If you have questions you believe should go in here, please let us know on
+the <a href="http://dev.eclipse.org/mailman/listinfo/platform-swt-dev">SWT developer mailing list</a>.</p>
+
+<ul>
+  <li><a href="#whatpackagesinSWT">What packages make up SWT?</a></li>
+  <li><a href="#howbuildjar">How do I build an SWT jar for my platform?</a></li>
+  <li><a href="#howbuilddll">How do I build the SWT JNI libraries for my platform?</a></li>
+  <li><a href="#buildeclipseexe">How do I build the Eclipse executable for my platform?</a></li>
+  <li><a href="#guibuilder">Is there a GUI Builder for SWT?</a></li>
+  <li><a href="#missingjar">Why do I get the error "java.lang.NoClassDefFoundError: org/eclipse/swt/internal/XXX/OS."?</a></li>
+  <li><a href="#missingdll">Why do I get the error "java.lang.UnsatisfiedLinkError: no swt-win32-2034 in java.library.path."?</a></li>
+  <li><a href="#missinglibXm">Why do I get the error "java.lang.UnsatisfiedLinkError: libXm.so.2: cannot open shared object file: No such file or directory."?</a></li>
+  <li><a href="#uithread">Why do I get the error "org.eclipse.swt.SWTException: Invalid thread access"?</a></li>
+  <li><a href="#pocketpcstart">What do I need to do to run SWT on the PocketPC?</a></li>
+  <li><a href="#pocketpclibrary">Where is the SWT library for the PocketPC?</a></li>
+  <li><a href="#gtkstartup">What do I need to run SWT on Linux/GTK?</a></li>
+  <li><a href="#motiffontsandcolors">On motif, how do I change the default fonts and colors of widgets?</a></li>
+  <li><a href="#gtkfontsandcolors">On gtk, how do I change the default fonts and colors of widgets?</a></li>
+  <li><a href="#gtkselectiongone">On gtk, why does my widget's selection disappear when it loses focus?</a></li>
+  <li><a href="#carbonapp">On carbon, how do I run an SWT application from the command line?</a></li>
+  <li><a href="#xpthemes">How do I make SWT show the Windows XP skins?</a></li>
+  <li><a href="#swinginswt">Can I use Swing or AWT inside Eclipse?</a></li>
+  <li><a href="#smallprint">Why does everything I print seem so small?</a></li>
+  <li><a href="#supportJavaBeans">Does SWT support JavaBeans?</a></li>
+  <li><a href="#scrollonlinux">Why doesn't mouse scrolling work on Linux/Motif?</a></li>
+  <li><a href="#printstacktrace">Why don't SWTError and SWTException override all printStackTrace methods?</a></li>
+  <li><a href="#noprintimage">How do I print a snapshot of a widget?</a></li>
+  <li><a href="#printOnMotif">Why is the Print menu item disabled in Eclipse on Motif?</a></li>
+  <li><a href="#printOnGTK">Why is the Print menu item disabled in Eclipse on GTK?</a></li>
+  <li><a href="#printOnX">How do I print using my favorite Unix print program?</a></li>
+  <li><a href="#usingLesstif">Why do I get the warning "XmParseMappingCreate() is not implemented yet" on Linux/Motif?</a></li>
+  <li><a href="#konquerorUnzip">Why do I get an error beginning with "...SWTException: Unsupported or unrecognized format" on startup?</a></li>
+  <li><a href="#useUnzip">Why do I get the error "error while loading shared libraries: ./libXm.so.2: file too short" on startup?</a></li>
+  <li><a href="#subclassing">Why can't I subclass SWT widgets like Button and Table?</a></li>
+  <li><a href="#javawebstart">How can I package my standalone SWT app for Java Web Start?</a></li>
+  <li><a href="#whatisasnippet">What is a snippet and why do I care?</a></li>
+  <li><a href="#contributeToSWT">How can I contribute to SWT?</a></li> 
+  <li><a href="#whatisbrowser">What is the SWT Browser widget?</a></li>
+  <li><a href="#browserlinux">What do I need to run the SWT Browser inside Eclipse on Linux/GTK or Linux/Motif?</a></li>
+  <li><a href="#browserlinuxrcp">What do I need to run the SWT Browser in a standalone application on Linux/GTK or Linux/Motif?</a></li>
+  <li><a href="#browserlinuxibm">How can I get the SWT Browser to work with the IBM 1.4 VM?</a></li>
+  <li><a href="#browserplatforms">Which platforms are supported by the SWT Browser?</a></li>
+  <li><a href="#browserplugins">Why can't I run Java applets in the SWT Browser?</a></li>
+  <li><a href="#gtk64">How do I build the 64 bit version of SWT GTK?</a></li>
+  <li><a href="#autotest">How can I implement user interaction test cases?</a></li>
+  <li><a href="#noeventfire">Why are some events not fired in response to programmatic widget changes?</a></li>
+  <li><a href="launcher.html">What are the arguments for the Eclipse Launcher?</a></li>
+  <li><a href="#nographicslibrary">Why do I get "SWTException: Unable to load graphics library" using GC?</a></li>
+</ul>
+
+<p></p>
+<hr>
+<p></p>
+
+<dl>
+  <dt><strong><a name="whatpackagesinSWT"> Q: What packages make up SWT?</a></strong></dt>
+  <dd>A:  Package names in SWT begin with the prefix <strong>org.eclipse.swt</strong>.<br>
+      <p>Here is the complete list:</p>
+      <ul>
+      <li>org.eclipse.swt
+      <li>org.eclipse.swt.accessibility
+      <li>org.eclipse.swt.custom
+      <li>org.eclipse.swt.dnd
+      <li>org.eclipse.swt.events
+      <li>org.eclipse.swt.graphics
+      <li>org.eclipse.swt.internal.* (Not API, do not reference classes in these packages)
+      <li>org.eclipse.swt.layout
+      <li>org.eclipse.swt.ole.win32 (Windows only)
+      <li>org.eclipse.swt.printing
+      <li>org.eclipse.swt.program
+      <li>org.eclipse.swt.widgets
+      </ul>
+      <p>Classes that are not in these packages do not belong to SWT.</p>
+  </dd>
+ 
+  <dt><strong><a name="howbuildjar">Q: How do I build an SWT jar for my platform?</a></strong>
+  </dt>
+  <dd>A: The SWT jar can be built from the eclipse CVS repository using an Ant task:
+    <ol>
+      <li>Connect a CVS client (such as eclipse) to <strong>:pserver:anonymous@dev.eclipse.org:/home/eclipse</strong>.
+      <li>Checkout the projects <strong>org.eclipse.swt</strong> and <strong>org.eclipse.swt.</strong><em>WS</em> where <em>WS</em> is the name of the 
+        windowing system of interest.  For example <strong>org.eclipse.swt.gtk</strong>.
+      <li>In the project <strong>org.eclipse.swt.</strong><em>WS</em>, locate the file <strong>build.xml</strong>.  This is an Ant script.
+      <li>Run Ant on the target <strong>build.jars</strong>.  If you are using eclipse as your development environment, you can run 
+        Ant by selecting the file in the <strong>Navigator</strong> or <strong>Packages</strong> view, then selecting <strong>Run Ant...</strong> from the context
+        menu.
+      <li>This will create a file called <strong>swt.jar</strong> and put it in the folder 
+        <strong>org.eclipse.swt.</strong><em>WS</em><strong>/ws/</strong><em>WS</em>.
+    </ol>
+  </dd>
+
+  <dt><strong><a name="howbuilddll">Q: How do I build the SWT JNI libraries for my platform?</a></strong>
+  </dt>
+  <dd>A: SWT uses JNI to interact with the native widgets in the
+   operating system.  The SWT JNI libraries must be compiled for the
+   windowing system, operating system and hardware architecture of
+   interest.  The libraries can be built either from the code in the CVS
+   repository or from an eclipse SDK download.
+  
+   <p>In order to build the required libraries and run Eclipse, you
+   will require a JDK (Java Development Kit) version that is suppored
+   by Eclipse.  Check eclipse.org for details.</p>
+    
+   <p><strong>Building the SWT JNI libraries from the eclipse SDK download:</strong>
+   <ol>
+     <li>Download an Eclipse distribution from 
+       <a href="http://www.eclipse.org/downloads/index.php">http://www.eclipse.org/downloads/index.php</a>.</li>
+
+     <li>Unzip the distribution.  This will create a directory called <tt>eclipse</tt>.
+       This directory is subsequently referred to as <em>&lt;eclipseRoot&gt;</em>.
+
+     <li>In the directory <tt><em>&lt;eclipseRoot&gt;</em>/plugins/org.eclipse.rcp.source.platform_X.X.X</tt>,
+         find the source zip in the SWT subdirectory.
+
+     <li>Unzip contained file <tt>src.zip</tt>.
+
+     <li>Edit the file <strong>build.sh</strong> (or <strong>build.bat</strong> on Windows)
+         in the current directory. Set the environment variables defined in that file to
+         match the location of your JRE, etc. Save the file and close it.
+
+     <li>Run the <tt>build</tt> command (<strong>sh build.sh</strong> for UNIX and Linux
+         platforms, <strong>build.bat</strong> for Windows).  This will create the appropriate
+         library file(s) in the current directory.  For example, this will create a
+         <tt>swt_XXXX.dll</tt> file on windows, or a <tt>libswt_XXXX.so</tt> file on Linux
+         and Solaris.  On some platforms multiple libraries will be created.
+   </ol>
+
+   <p>This description was originally contributed by Colin R Devilbiss.</p>
+
+    
+   <p><strong>Building the SWT JNI libraries from the eclipse CVS repository:</strong><br>
+   <strong>NOTE</strong>: These instructions require you to use Eclipse
+
+   <ol>
+     <li>Follow <a href="cvs.html">these instructions</a> to checkout SWT from CVS.
+
+     <li>Compile the project.  This will create a folder called bin under the org.eclipse.swt project.
+
+     <li>Change directory into <tt>org.eclipse.swt/bin/library</tt>
+
+     <li>Edit the file <strong>build.sh</strong> (or <strong>build.bat</strong> on Windows)
+         in the current directory. Set the environment variables defined in that file to
+         match the location of your JRE, etc. Save the file and close it.
+
+     <li>Run the <tt>build</tt> command (<strong>sh build.sh</strong> for UNIX and Linux
+         platforms, <strong>build.bat</strong> for Windows).  This will create the appropriate
+         library file(s) in the current directory.  For example, this will create a
+         <tt>swt_XXXX.dll</tt> file on windows, or a <tt>libswt_XXXX.so</tt> file on Linux
+         and Solaris.  On some platforms, more than one library will be created.
+  </ol>
+  </dd>
+
+  <dt><strong><a name="buildeclipseexe">Q: How do I build the Eclipse executable for my platform?</a></strong>
+  </dt>
+  <dd>A: Eclipse is launched by a binary executable which puts up a splash screen and launches a Java VM. 
+    The executable must be compiled for the windowing system, operating system and hardware architecture of interest.
+    The libraries can be built either from the code in the CVS repository or from an eclipse SDK download. 
+    
+    <p><strong>Building the Eclipse executable from the eclipse SDK download:</strong>
+    <ol>
+      <li>In order to build the required libraries and run Eclipse, 
+        you will require a JDK (Java Development Kit) of version 1.4.1 or later.
+        Download an Eclipse distribution from
+        <a href="http://www.eclipse.org/downloads/index.php">http://www.eclipse.org/downloads/index.php</a>.</li>
+
+      <li>Unzip the distribution.  This will create a directory called <tt>eclipse</tt>.
+        This directory is subsequently referred to as <em>&lt;eclipseRoot&gt;</em>.
+
+      <li>In the directory <tt><em>&lt;eclipseRoot&gt;</em>/plugins/org.eclipse.platform.source_X.X.X</tt>,
+        find the <tt>launchersrc.zip</tt> file under <tt>org.eclipse.platform_X.X.X</tt>.
+
+      <li>Unzip the file <tt>launchersrc.zip</tt>.  This will create a directory called <tt>library</tt>.
+
+      <li>Change directory into <tt>library/<em>WS</em></tt>, where <em>WS</em> is the name of the windowing system 
+        e.g. win32, motif, gtk, photon, or carbon.
+        Modify any incorrect <tt>_HOME</tt> variables defined at the top of the appropriate <tt>.mak</tt> file.
+
+      <li>Run the <tt>build</tt> command (<strong>sh build.sh</strong> for UNIX and Linux, <strong>build.bat</strong> for Windows).
+        This will create an executable launcher called <tt>eclipse</tt>.
+        Move this <tt>eclipse</tt> executable to <em>&lt;eclipseRoot&gt;</em>.
+    </ol>
+
+    <p>This description was originally contributed by Colin R Devilbiss.</p>
+  </dd>
+
+  <dt><strong><a name="guibuilder">Q: Is there a GUI Builder for SWT?</a></strong></dt>
+  <dd>A: SWT itself does not provide a GUI Builder (also known as "GUI Designer", "GUI Editor",
+  "Visual Builder", "Visual Designer", "Visual Editor", or "Visual Composition Editor").
+  There are, however, several mature 'third-party' products listed at
+  <a href="http://www.eclipseplugincentral.com/">http://www.eclipseplugincentral.com/</a>.
+  Or you can follow the progress on the <a href="http://www.eclipse.org/vep/">Eclipse Visual Editor Project</a>.
+  </dd>
+
+  <dt><strong><a name="missingjar">Q: Why do I get the error "java.lang.NoClassDefFoundError: org/eclipse/swt/internal/XXX/OS."?</a></strong></dt>
+  <dd>A: On some platforms such as GTK, SWT is broken into multiple jars.  Therefore,
+      you must ensure that all required jars are on the classpath.  The required jars are:
+      <ul>
+      <li>swt.jar (all platforms)</li>
+      <li>swt-pi.jar (some platforms like GTK and Carbon)</li>
+      <li>swt-mozilla.jar (for Browser widget on GTK and Motif)</li>
+      <li>swt-gtk.jar (on Linux Motif)</li>
+      </ul>
+  </dd>
+  
+
+  <dt><strong><a name="missingdll">Q: Why do I get the error "java.lang.UnsatisfiedLinkError: no swt-win32-2034 in java.library.path."?</a></strong></dt>
+  <dd>A: You need to place the SWT JNI libraries that allow Java to use 
+    the native widgets in a place where the Java Virtual Machine 
+    will find them.
+    
+    <p>The SWT JNI libraries are included in the eclipse download.  The location of
+    the libraries depends on the operating system and windowing system of interest.
+    
+    <ul>
+      <li>Windows:
+        <ul>
+          <li>Eclipse 3.0 - <em>&lt;eclipseRoot&gt;</em>\plugins\org.eclipse.swt.win32_3.0.0\os\win32\x86
+          <li>Eclipse 2.1 - <em>&lt;eclipseRoot&gt;</em>\plugins\org.eclipse.swt.win32_2.1.0\os\win32\x86
+        </ul>
+      <li>Linux:
+        <ul>
+          <li>Eclipse 3.0 - <em>&lt;eclipseRoot&gt;</em>/plugins/org.eclipse.swt.WS_3.0.0/os/linux/x86
+          <li>Eclipse 2.1 - <em>&lt;eclipseRoot&gt;</em>/plugins/org.eclipse.swt.WS_2.1.0/os/linux/x86
+        </ul>
+    </ul>
+      
+    <p>A Java application can be informed of the location of the libraries in several ways:
+    <p></p>
+      <ol>
+      <li>Set the library path in the VM launch arguments.
+      
+      <p>In the Launch Configuration Dialog of eclipse select the Arguments 
+      page, and in the VM arguments field enter:
+      <tt>-Djava.library.path={runtime-library-path}</tt>
+      Where the runtime-library-path is the absolute path to the directory containing
+      the native code library (see above). 
+    
+      <p>This solution means that the SWT libraries have to be manually 
+      added to every project that uses SWT.</p><p></p>
+    
+    <li>Set the library location in an environment variable.
+    <p>For Windows this is done by editing the PATH environment variable to 
+    include the above mentioned runtime-library-path.
+    <br>in Win 9X this is done by editing the Autoexec.bat file,
+    <br>on NT or 2K the variable is edited through <strong>My Computer</strong> &gt; <strong>Properties</strong> &gt; <strong>Advanced</strong> &gt; <strong>Environment Variables</strong>.
+	<p>On linux/unix, modify the LD_LIBRARY_PATH environment variable to include the runtime-library-path.
+	<p></p>
+	
+	<li>Copy the SWT library to a directory that is already on the Java library path.  For example, the jre/bin directory.
+    <p>The disadvantage of this solution is that every time you upgrade eclipse you have to remember to copy the native code library.
+   </ol>
+  </dd>
+
+  <dt><strong><a name="missinglibXm">Q: Why do I get the error "java.lang.UnsatisfiedLinkError: libXm.so.2: cannot open shared object file: No such file or directory."?</a></strong></dt>
+  <dd>A: On motif, the SWT library links against the open motif library libXm.so.2.  On most platforms, the open motif library is installed 
+  and added to the library path by default. However, on some Linux platforms, either open motif is not installed or is not on the default library 
+  path, or lesstif is installed.  Eclipse (and the standalone version of SWT) includes the libXm.so.2 library in the root of the Eclipse install.
+  <p>You need to either launch Eclipse from the installed directory or modify the LD_LIBRARY_PATH environment variable to 
+  include the location of libXm.so.2. </p>
+  <p>Note <code>-Djava.library.path</code> is used by the VM to locate libraries for System.loadLibrary calls.  However, it does
+  not update the LD_LIBRARY_PATH and therefore does not help libraries locate other libraries.</p>
+  </dd>
+
+  <dt><strong><a name="uithread">Q: Why do I get the error "org.eclipse.swt.SWTException: Invalid thread access"?</a></strong></dt>
+  <dd>A: In SWT, by definition the thread that creates the Display is a UI-thread.  This thread is responsible for 
+  reading and dispatching events from the operating system event queue, and invoking listeners in response to these events.  
+  Listener code is executed in the UI-thread.  This makes an SWT application generally quite responsive, behaving like most 
+  other operating system programs.  However, any long operation, when executed by a listener, will run in the UI-thread 
+  and prevent it from reading and dispatching events, thus hanging the application.
+  
+  <p>If a listener has a large amount of work to perform, instead of performing that work in the UI-thread, it can 
+  fork a separate thread so the UI-thread can continue dispatching events. If the other thread needs to execute code 
+  that accesses an SWT object, such as changing the string in a label, there is a concurrency issue.  At the very 
+  least, some kind of synchronization is necessary to prevent the operating system or SWT from crashing, hanging or 
+  behaving unpredictably.</p>
+
+  <p>SWT implements a single-threaded UI model often called apartment threading.  In this model, only the UI-thread 
+  can invoke UI operations.  SWT strictly enforces this rule.  If you try and access an SWT object from outside the 
+  UI-thread, you get the exception "org.eclipse.swt.SWTException: Invalid thread access".  Different operating systems 
+  have different rules governing threads, UI components and synchronization.  Some use a single-threaded UI model 
+  like SWT.  Others allow only one thread at a time in the window system library, controlling access through a 
+  global lock.  This type of multi-threaded UI model is often called free threading.  Currently, in order to be 
+  simple, efficient and portable, SWT is apartment threaded.</p>
+
+  <p>To allow background threads to perform operations on objects belonging to the UI-thread, the methods 
+  syncExec(Runnable runnable) and asyncExec(Runnable runnable) of Display are used.  These are the only 
+  methods in SWT that can be called from any thread.  They allow a runnable to be executed by the UI-thread, 
+  either synchronously, causing the background thread to wait for the runnable to finish, or asynchronously 
+  allowing the background thread to continue execution without waiting for the result.  A runnable that is 
+  executed using syncExec() most closely matches the equivalent direct call to the UI operation because a 
+  Java method call always waits for the result before proceeding, just like syncExec().</p>
+ 
+  <p>The following code sets the text of a label from a background thread and waits for the operation to complete:
+
+<pre>display.syncExec(
+  new Runnable() {
+    public void run(){
+      label.setText(text);
+    }
+  });
+</pre>
+   </dd>
+
+  <dt><strong><a name="pocketpcstart">Q: What do I need to do to run SWT on the PocketPC?</a></strong>
+  </dt>
+  <dd>A: There is an experimental version of SWT for WinCE devices. If you feel like
+    giving it a try, the following steps might help you getting started.
+    <ol>
+      <li>Install a VM on your PocketPC.
+        <br>The port is tested using the J9 VM for ARM WinCE PocketPC.
+        <ul>
+          <li>For information on how to get the J9 VM, see at the WebSphere Studio Device Developer website (which ships J9):
+            <br><a href="http://www.embedded.oti.com/wdd">http://www.embedded.oti.com/wdd</a>
+          <li>For questions on how to use the J9 VM, see the WebSphere newsgroup:
+            <br><a href="news://news.software.ibm.com/ibm.software.websphere.studio.device-developer">ibm.software.websphere.studio.device-developer</a>
+        </ul>
+      <li>Get the swt.jar and SWT dll for PocketPC. See <a href="#pocketpclibrary">Where is the SWT library for the PocketPC?</a>
+      <li>Copy the swt.jar and SWT dll to your device.
+      <li>Copy your SWT app to your device.
+        <br>For example, compile the following class inside Eclipse and copy the resulting
+          class file to your device.
+        <pre>
+import org.eclipse.swt.*;
+import org.eclipse.swt.widgets.*;
+import org.eclipse.swt.layout.*;
+
+public class HelloWorld {
+public static void main(String[] args) {
+    Display display = new Display();
+  
+    /* 
+     * Create a Shell with the default style
+     * i.e. full screen, no decoration on PocketPC.
+     * Alternative: 'new Shell(display, SWT.CLOSE)'
+     * to get the Pocket PC 'Ok' button.
+     */
+    Shell shell = new Shell(display);
+  
+    /* 
+     * Set a text so that the top level Shell
+     * also appears in the Pocket PC task list
+     */
+    shell.setText("HelloWorld");
+  
+    /*
+     * Set a menubar to follow UI guidelines
+     * on Pocket PC
+     */
+    Menu mb = new Menu(shell, SWT.BAR);
+    shell.setMenuBar(mb);
+  
+    /* 
+     * Add widgets
+     */
+    FillLayout layout = new FillLayout();
+    layout.type = SWT.VERTICAL;
+    shell.setLayout(layout);
+    Label label = new Label(shell, SWT.CENTER);
+    label.setText("Hello World");
+    
+    shell.open();
+    while (!shell.isDisposed()) {
+        if (!display.readAndDispatch())
+            display.sleep();
+    }  
+}
+}
+</pre>
+
+      <li>Run your SWT application.
+        <br>One way to start your application is to create a shortcut file.
+        <ol>
+          <li>On your desktop, create a file 'HelloWorld.lnk'. Insert the following line.
+<pre>68#\j9\bin\j9.exe -Djava.home=\j9
+     -cp:\java\swt.jar;\java HelloWorld</pre>
+            This is assuming that you have installed the J9 VM in the folder \j9, and that
+            you have copied the swt.jar and your application HelloWorld.class into the folder \java.
+            It also assumes that the SWT dll was copied into the folder \j9\bin where it will be
+            found by the VM.
+          <li>Save the shortcut file. Copy the file to your device.
+          <li>Using the file explorer on your device, click on the shortcut file.
+             <br>If everything is correctly setup, the SWT app should come up.
+      </ol>
+    </ol>
+  </dd>
+
+  <dt><strong><a name="pocketpclibrary">Q: Where is the SWT library for the PocketPC?</a></strong></dt>
+  <dd>A: There is an experimental version of SWT for WinCE devices. The swt.jar and ARM Pocket PC
+    dll are available from the Eclipse download page.
+    <p>Choose which swt.jar fits your project requirements. You can also build a custom
+    version. A custom version allows you, for example, to exclude image decoders or layouts, to
+    further reduce the size.</p>
+    <ol>
+      <li>win32-ce-arm-ppc.zip
+		<ul>
+		  <li>J2SE profile</li>
+		  <li>Emulated Drag and Drop (no OLE support)</li>
+		  <li>Native widgets only (no custom widgets)</li>
+		  <li>No class file debug information (for reduced size)</li>
+		</ul>
+		<br>
+    <li>win32-ce-arm-ppc-j2me.zip
+	  <ul>
+        <li>J2ME profile (CLDC)</li>
+        <li>Emulated Drag and Drop (no OLE support)</li>
+        <li>Native widgets only (no custom widgets)</li>
+        <li>No class file debug information (for reduced size)</li>
+      </ul>
+      <br>
+    <li>Custom SWT library
+      <ol>
+		<li>From Eclipse, check out the projects org.eclipse.swt and org.eclipse.swt.win32.wce_ppc.arm
+		(from the head stream). These projects reside in the Eclipse repository
+		<li>Build the swt.jar
+		<br>Open the file org.eclipse.swt.win32.wce_ppc.arm/build_custom.xml
+		<br>The file contains indications on how to build the swt.jar as recommended for WinCE PocketPC.
+	  <li>Get the corresponding dll
+	  <br>The latest dll is available under org.eclipse.swt.win32.wce_ppc.arm
+	  </ol>
+	</ol>
+  </dd>
+  
+  <dt><strong><a name="gtkstartup">Q: What do I need to run SWT on Linux/GTK?</a></strong></dt>
+  <dd>A: SWT requires the following libraries with the specified versions or later:
+    <p>For Eclipse 3.0:</p>
+    <ul>
+      <li>GTK 2.2.1</li>
+      <li>ATK 1.2.0</li>
+      <li>glib 2.2.1</li>
+      <li>Pango 1.2.1</li>
+      <li>Freetype 2.1.3</li>
+    </ul>
+    <p>For Eclipse 2.1:</p>
+    <ul>
+      <li>GTK 2.0.6</li>
+      <li>ATK 1.0.1</li>
+      <li>glib 2.0.4</li>
+      <li>Pango 1.0.3</li>
+      <li>Freetype 2.1.2</li>
+    </ul>
+  </dd>
+  
+
+  <dt><strong><a name="motiffontsandcolors">Q: On motif, how do I change the default fonts and colors of widgets?</a></strong></dt>
+  <dd>A: Motif uses a file called <tt>.Xdefaults</tt> which is located in your home directory.
+    Here is an example of the content of that file which sets the font and colors for Eclipse:
+<pre>Eclipse*spacing:0
+Eclipse*XmForm.background:#e8e7e3
+Eclipse*XmList.background:#e8e7e3
+Eclipse*XmTextField.background:#e8e7e3
+Eclipse*background:#d6d3ce
+Eclipse*fontList:-misc-fixed-medium-r-normal-*-10-100-75-75-c-60-iso8859-1
+</pre>
+    
+    After creating/modifying this file, you must run "xrdb ~/.Xdefaults" or restart X to make the changes take effect.
+  </dd>
+  
+  <dt><strong><a name="gtkfontsandcolors">Q: On GTK, how do I change the default fonts and colors of widgets?</a></strong></dt>
+  <dd>A: GTK uses a file called <tt>.gtkrc</tt> which is located in your home directory.  
+    On some versions of Linux, this file is called <tt>.gtkrc-2.0</tt>.
+    Here is an example of the content of that file which sets the font and colors for Eclipse:
+    <pre>
+      style "eclipse" {
+        font_name = "Sans 12"
+        bg[NORMAL] = "#d6d3ce"
+        bg[ACTIVE] = "#c7c2bc"
+        bg[INSENSITIVE] = "#828282"
+        bg[PRELIGHT] = "#3a6ea5"
+        fg[NORMAL] = "#000000"
+        fg[ACTIVE] = "#000000"
+        fg[INSENSITIVE] = "#d4d0c8"
+        fg[PRELIGHT] = "#ffffff"
+      }
+      class "GtkWidget" style "eclipse"
+    </pre>
+    
+    <p>To turn off anti-aliasing of fonts you should use the facilities
+    available in your desktop if possible, such as the Gnome Font
+    Properties dialog.  An alternate approach is to ensure that your
+    ~/fonts.conf or system-wide fonts.conf file contains the following:</p>
+    <pre>
+    &lt;match target="font"&gt;
+    &lt;edit name="antialias" mode="assign"&gt;&lt;bool&gt;false&lt;/bool&gt;&lt;/edit&gt;
+    &lt;edit name="hinting" mode="assign"&gt;&lt;bool&gt;true&lt;/bool&gt;&lt;/edit&gt;
+    &lt;edit name="autohint" mode="assign"&gt;&lt;bool&gt;false&lt;/bool&gt;&lt;/edit&gt;
+    &lt;/match&gt;
+    </pre>
+  </dd>
+
+  <dt><strong><a name="gtkselectiongone">Q: On GTK, why does my widget's selection disappear when it loses focus?</a></strong></dt>
+  <dd>A: This effect may be seen if KDE color settings are being
+      utilized.  This can be fixed by unchecking the "Apply KDE colors to
+      non-KDE apps" option in the KDE colors control panel.
+  </dd>
+
+  <dt><strong><a name="carbonapp">Q: On carbon, how do I run an SWT application from the command line?</a></strong></dt>
+  <dd>A: If you run a Java application that uses Carbon via JNI, the application is not registered with the OS as 
+      a 'normal' UI application.  As a consequence, it has no entry in the dock and it cannot be activated. AWT 
+      (or Swing) based applications don't have this problem because they seem to use undocumented SPI to register 
+      themselves.
+
+      <p>To work around this problem you'll have to use the executable 'java_swt' that is part of the 
+      Eclipse distribution (you can find it inside the Eclipse application Eclipse.app/Contents/MacOS/java_swt). 
+      Basically it is a replacement for /usr/bin/java and the 'JavaApplicationStub' used in bundled applications.</p>
+
+      <p>If you want to run your SWT-based application from the command line just use 'java_swt' instead of 'java':</p>
+      <pre>
+         java_swt -cp swt.jar:. ControlExample
+      </pre>
+	
+      <p>If you want to run a bundled application, you'll have to replace the executable found in the Contents/MacOS 
+      subdirectory of the application bundle with (a renamed) 'java_swt' program.</p>
+
+      <p>If you need to create a new application bundle from scratch, please refer to comment #5 in 
+      <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=40003">bug #40003</a>.</p>
+
+  </dd>
+  
+  <dt><strong><a name="xpthemes">Q: How do I make SWT show the Windows XP skins?</a></strong></dt>
+  <dd> A: In order for an application to show the Windows XP skins, there must be a manifest file 
+    located in the same place as the executable that launches the application.
+    Here is a <a href="javaw.exe.manifest">sample manifest file</a> to download.
+    
+    <p>The name of the manifest file must match the name of the executable.  
+    In the case of eclipse, the executable is <tt>javaw.exe</tt> and the manifest file 
+    must have the name <tt>javaw.exe.manifest</tt>.  The manifest file must be in the
+    <tt>jre\bin</tt> folder for the VM you use to launch Eclipse.  Note: the 
+    <tt>eclipse.exe</tt> executable does not launch Eclipse; <tt>eclipse.exe</tt>
+    displays a splash screen and then invokes the Java VM.</p>
+  </dd>
+  
+  <dt><strong><a name="swinginswt">Q: Can I use Swing or AWT inside Eclipse?</a></strong></dt>
+  <dd>A: Yes.  As of Eclipse 3.0, Swing and AWT can be embedded in SWT on Windows, Motif and GTK 
+  using JDK 1.5.
+  
+  <p>See this <a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet135.java?rev=HEAD&amp;content-type=text/vnd.viewcvs-markup">snippet</a> for an example of how to use the API.
+  </dd>
+  
+  <dt><strong><a name="smallprint">Q: Why does everything I print seem so small?</a></strong></dt>
+  <dd>A: When you are printing something from the screen to a printer device, you
+    need to think about scaling. What is happening is that your figure is being drawn
+    in something like 72 x 72 dots per inch on the screen, but then you are printing
+    it to something like a 300 x 300 or 600 x 600 DPI printer. What you have to do is
+    ask both the screen and the printer what their DPI is, and then figure out what
+    scale factor you need to use when you draw to the printer GC. The code might look
+    like this:
+    <pre>
+      Point screenDPI = display.getDPI();
+      Point printerDPI = printer.getDPI();
+      int scaleFactor = printerDPI.x / screenDPI.x;
+    </pre>
+    Please see the ImageAnalyzer example in the org.eclipse.swt.examples project
+    for an example of printing an image to a printer. Look at method
+    menuPrint(). Note however that this is a pretty rough example, and it does
+    not take into account what happens if the image is larger than the page - it
+    just clips.
+
+    <p>Text printing takes some thought also. You need to wrap words, put your page
+    breaks in the right place, know where your margins are, etc. The SWT
+    StyledText widget does its own text printing. If you need to see a more
+    complicated example of printing a document, wrapping, margins, multi-page,
+    etc., then please look at the inner class Printing in StyledText in
+    org.eclipse.swt.custom. An instance of this class is created by the
+    StyledText.print(Printer) API method.
+    
+    <p>Note also that when printing, any graphics objects that you use to draw,
+    such as fonts, colors, and images, need to be re-created on the printer
+    device before you can draw them to the printer GC.
+
+    <p>We also recommend that you run your print job in a separate thread and not in
+    the UI thread, because printing a long document to a slow printer can hang
+    your entire UI while the printer spools.
+
+    <p>Unfortunately, printing is not simply a matter of just passing in the
+    printer GC instead of the screen GC. Printing has to be designed into your
+    drawing classes. You don't have scrollbars anymore, so you have to either
+    cut stuff off and print it on another page, or reorganize it, or scale it
+    down, or wrap it somehow. Maybe you want to give some control to your users,
+    and let them specify how many inches something should be, or whatever -
+    maybe give them a ruler. There is no magic bullet - you
+    will definitely have to give it some thought.
+  </dd>
+
+  <dt><strong><a name="supportJavaBeans">Q: Does SWT support JavaBeans?</a></strong></dt>
+  <dd>A: To the extent that it makes sense, given the constraints of operating system
+    compatibility, SWT mirrors the beans behavior. An example of this is the use
+    of standard beans mechanisms for event dispatch (EventListener, EventObject and adapter
+    classes). Some aspects of the beans paradigm, such as the ability to create beans with
+    null constructors, run counter to the constraints of the underlying operating systems
+    that SWT runs on.  For example, operating systems do not typically support creating a
+    widget without specifying its parent. 
+    <p></p>
+    The essence of the problem is that if you allow a widget to be created with a null
+    constructor, then you can't actually create the o/s resources at the time the constructor
+    runs (you would have to wait until later, after the parent has been set). We can not
+    do this, since we <em>always</em> create the o/s resources in the constructor, and for
+    performance/efficiency/consistency reasons do not keep slots in the object to hold
+    whatever state would be required if the object were to be created later. 
+  </dd>
+  
+  <dt><strong><a name="scrollonlinux"> Q: Why doesn't mouse scrolling work on Linux/Motif?</a></strong></dt>
+  <dd>A: Mouse scrolling on Linux/Motif relies on the IMWheel driver.  Here is how it works:
+    <ol>
+      <li>The X Server gets the wheel event.</li>
+      <li>Your /etc/X11/XF86Config must contain "ZAxisMap 4 5" (or the equivalent "Option" 
+        line if you use XFree86 4.x) in the Mouse section.  This maps the wheel to emulated
+        mouse buttons "4" and "5".</li>
+      <li>IMWheel has a global hook on the mouse, only looking for button4/5 events.
+        When it sees one, it looks in /etc/X11/imwheel which is a table of what to do for
+        which application.  E.g., GTK-based applications support the idea of 5-button mice
+        natively, so the imwheel file says "do nothing (pass through) for gtk".
+        On the other hand, no known Motif-based app seems to know about these, so imwheel
+        eats the mouse event and emits an accelerator event for "PgUp" or whatever your
+        preference is.  It has some clever pre-sets for xterm, netscape, and so on.</li>
+    </ol>
+  </dd>
+  
+  <dt><strong><a name="printstacktrace">Q: Why don't SWTError and SWTException override all printStackTrace methods?</a></strong></dt>
+  <dd>A: SWTError and SWTException each contain a slot which records the original
+    exception (if it is known) that caused the SWTError or SWTException to be thrown.
+    The printStackTrace() method in these classes has been overridden to print the
+    stacktrace of the original exception as well.
+
+    <p>The problem with the other two API methods (i.e. printStackTrace(PrintStream) and 
+    printStackTrace(PrintWriter)) is that the classes mentioned in their arguments 
+    (PrintStream and PrintWriter) are not available in the CLDC class library.
+    Because we need to maintain compatability with CLDC, we can not override them.
+  </dd>
+
+  <dt><strong><a name="noprintimage">Q: How do I print a snapshot of a widget?</a></strong></dt>
+  <dd>A: To print an image, the image needs to be created on the <em>printer</em>.
+    A common mistake is to try to print an image that was created on a <em>display</em>.
+
+    <p>First take the snapshot into an image that was created on the display,
+    and then get the imageData and create a new Image just for printing.
+    Something like this:
+<pre>  // Take the snapshot into a display Image
+  Point size = myWidget.getSize();
+  Image image = new Image(display, size.x, size.y);
+  GC gc = new GC(myWidget);
+  gc.copyArea(image, 0, 0);
+  gc.dispose();
+
+  // Get the ImageData and create a new printer Image from it
+  ImageData imageData = image.getImageData();
+  Image printImage = new Image(printer, imageData);</pre>
+    
+    <p>Then print using <em>printImage</em>.
+    (Remember to dispose both images when you are done with them).
+
+    <p>This is true for all graphic objects that you want to use for printing:
+    Fonts, Colors, and Images. You need to recreate them on the printer before
+    you can use them for drawing on the printer GC. You might get lucky sometimes,
+    if the printer happens to have this font or that color, but you won't get lucky
+    on all platforms and for all printers, and you won't get lucky for images.
+    So get into the habit of thinking "Did I create this graphics resource
+    on the same device that I am now trying to draw to?"
+  </dd>
+
+  <dt><strong><a name="printOnMotif">Q: Why is the Print menu item disabled in Eclipse on Motif?</a></strong></dt>
+  <dd>A: Printing on Motif requires that Xprint be installed on your
+      machine.
+
+      <p>A good FAQ regarding Xprint can be found at
+      <a href="http://xprint.mozdev.org/docs/Xprint_FAQ.html">http://xprint.mozdev.org/docs/Xprint_FAQ.html</a>.</p>
+  </dd>
+
+  <dt><strong><a name="printOnGTK">Q: Why is the Print menu item disabled in Eclipse on GTK?</a></strong></dt>
+  <dd>A: Printing on GTK has not been implemented yet. You can use the
+      External Tools support in Eclipse to print files using lpr or some other
+      printing utility.
+  </dd>
+
+  <dt><strong><a name="printOnX">Q: How do I print using my favorite Unix print program?</a></strong></dt>
+  <dd>A: You can use the External Tools support in Eclipse to print files using external programs.
+    Just create a new Program launch config from the External Tools dialog that launches your
+    favorite printing utility and you can pass the selected resource as a parameter.
+    <ol>
+    <li>Select the file you want to print.</li>
+    <li><i>Run &gt; External Tools &gt; External Tools...</i></li>
+    <li>Select "Program" in the Configurations: list.</li>
+    <li>Click New</li>
+    <li>Type: Print Selected File<br>
+   in the Name: field.</li>
+    <li>Type the full path name of your favorite printing program in the Location: field.
+    For example: /usr/bin/lpr</li>
+    <li>Type: ${container_loc}/${resource_name}<br>
+   in the Arguments: field.</li>
+    <li>Click Apply</li>
+    <li>Click Run</li>
+    </ol>
+  </dd>
+
+  <dt><strong><a name="usingLesstif">Q: Why do I get the warning "XmParseMappingCreate() is not implemented yet" on Linux/Motif?</a></strong></dt>
+  <dd>A: This warning is shown if you're accessing installed LessTif libraries instead of the
+    shipped OpenMotif libraries.  If you see this warning, add the eclipse install directory 
+    to your LD_LIBRARY_PATH before launching eclipse. For example, if you are using csh: <br>
+    
+    <pre>setenv LD_LIBRARY_PATH /opt/eclipse:${LD_LIBRARY_PATH}</pre>
+  </dd>
+    
+  <dt><strong><a name="konquerorUnzip">Q: Why do I get an error beginning with "...SWTException: Unsupported or unrecognized format" on startup?</a></strong></dt>
+  <dd>A: There is a bug in the Konqueror decompressor which causes Eclipse to be improperly extracted
+    if used.  To avoid this the Eclipse archive should first be downloaded to your machine and
+    then extracted using unzip at the command line.
+  </dd>
+    
+  <dt><strong><a name="useUnzip">Q: Why do I get the error "error while loading shared libraries: ./libXm.so.2: file too short" on startup?</a></strong>
+  </dt>
+  <dd>A: You must use unzip, not jar, to extract your eclipse download.  Jar does not extract the libXm.so.2 link file properly.
+  </dd>
+    
+  <dt><strong><a name="subclassing">Q: Why can't I subclass SWT widgets like Button and Table?</a></strong></dt>
+  <dd>A: You can but it is not recommended.  The article <a href="http://eclipse.org/articles/Article-Writing%20Your%20Own%20Widget/Writing%20Your%20Own%20Widget.htm">Creating Your Own Widget using SWT</a> describes the reasons in detail:
+  
+  <h3>Subclassing Widgets Directly</h3>
+
+<p>In extreme circumstances, you may need to subclass a widget other than
+<i>Canvas</i> or <i>Composite</i>. We recommend against doing this unless all
+other avenues have been explored and exhausted. Try to wrap the widget first,
+before subclassing it. Here is why:</p>
+
+<ul>
+<li>Subclasses may inherit a lot of API that makes no sense, and must be
+overridden.  In Java, you cannot override a method and change the return
+type; therefore you cannot reimplement some methods.</li>
+
+<li>Subclassing is typically not the safest way to extend a class that
+you do not own.  For a simplified list of the common arguments, see the
+article by <strong>Bill Venners</strong> in the Nov '98 issue of <i>Java
+World</i> called <i>"Inheritance versus composition: Which one should
+you choose?"</i> at: <a href="http://www.javaworld.com/javaworld/jw-11-1998/jw-11-techniques.html">
+http://www.javaworld.com/javaworld/jw-11-1998/jw-11-techniques.html</a></li>
+
+<li>Widget subclasses are almost certainly guaranteed to be
+platform-specific unless great care is taken to ensure that they work on
+all platforms.</li>
+
+<li>Subclassed widgets can be affected by changes in the non-API
+implementation of the superclass.</li>
+
+<li>Subclassing may cause bad system-level bugs, and runs the risk of
+leaking resources.  For example, if a subclass reimplements a method
+without making certain that dispose code from the superclass method is
+still called, then the new method will leak system resources.</li>
+
+<li>Binary incompatibility across releases becomes possible. If a method
+signature or field name changes, or new methods or fields are added,
+there may be a name conflict in the widget subclass. Only <i>Canvas</i>
+and <i>Composite</i> are guaranteed not to have name conflicts in future
+releases.</li>
+
+<li>See any paper by Leonid Mikhajlov on the <i>"Fragile Base Class
+Problem"</i>.  You can find his paper "A Study of The Fragile Base Class
+Problem" at: <a href="http://www.cas.mcmaster.ca/~emil/publications/fragile/">http://www.cas.mcmaster.ca/~emil/publications/fragile/</a></li>
+
+</ul>
+
+  <p>Subclassing <i>Canvas</i> or <i>Composite</i> is the best way to
+  ensure that your widget works on all SWT platforms. The 'is-a' test in
+  this case tests whether your widget is-a basic or compound widget.
+  Subclassing anything else requires asking if the new widget <b>is an SWT
+  native widget of the type being subclassed</b>. For example, a 100% Java
+  portable <i>PictureLabel</i> is not an SWT native <i>Label</i>.</p>
+
+  <p>When subclassing anything other than <i>Composite</i> or
+  <i>Canvas</i> you must override the method <b>protected void
+  checkSubclass()</b> to do nothing. Make sure you read the method comment
+  before overriding it.</p>
+  </dd>
+
+  <dt><strong><a name="whatisasnippet">Q: What is a snippet and why do I care?</a></strong>
+  </dt>
+  <dd>A: A snippet is a <em>minimal stand alone</em> program that demonstrates functionality or
+  	lack of functionality.  
+  	
+  	<p>Why is this important?  Posting a snippet to the news group is the
+  	quickest way to get help.  Including a snippet in a bug report is the fastest
+  	way to get a bug fixed.  Taking the time to construct a snippet helps you understand
+  	the API of the library you are calling and focuses your thinking.  For example, the
+  	SWT team uses C and Java snippets internally to prove or disprove problems in the operating system.
+	Often, something you think is a bug is actually caused by something elsewhere
+	in your program.  
+	
+	<p>Snippets isolate problems.  Code speaks louder than words.  
+	
+	<p>Here is a minimal stand alone SWT program to help you get started:
+<pre>public static void main (String [] args) {
+    Display display = new Display ();
+    Shell shell = new Shell (display);
+    shell.open ();
+    while (!shell.isDisposed ()) {
+        if (!display.readAndDispatch ()) display.sleep ();
+    }
+    display.dispose ();
+}</pre>
+    
+	For a list of sample snippets, see the <a href="snippets.html">SWT snippets page</a>.
+    
+  </dd>
+
+  <dt><strong><a name="javawebstart">Q: How can I package my standalone SWT app for Java Web Start?</a></strong></dt>
+  <dd>A: Follow the steps below to deploy your SWT app with Java Web
+      Start. You can also follow the article from Jeff Gunther on how to
+      <a href="http://www-106.ibm.com/developerworks/opensource/library/os-jws/">Deploy
+      an SWT application using Java Web Start</a>.
+
+      <p>NOTE: As of 2.1, SWT Java Web Start apps can only be deployed
+      on Windows and GTK.  <p>Example:  Package the SWT ControlExample
+      application.</p>
+    <ol>
+	<li>Create the file "<a href="swtexamples.jnlp.txt">swtexamples.jnlp</a>".
+            In the file, replace the value of the codebase attribute with your own URI.
+    	<li>Create the file "<a href="swt.jnlp.txt">swt.jnlp</a>"
+            In the file, replace the value of the codebase attribute with your own URI.
+    	<li>Create the following folders and files:
+	    	<ul>
+    			<li>root (e.g. d:/jws or the URL of your website)
+    			<ul>
+    				<li>apps/swtexamples/swtexamples.jar contains the SWT ControlExample
+	    			<li>apps/swtexamples/swtexamples.jnlp (Java Web Start extension file)
+	    			<li>swt/swt.jnlp (Java Web Start extension file)
+	    			<li>swt/os/linux/x86/swtNativeLib.jar contains the GTK linux native libraries: libswt-gtk-xxxx.so, libswt-pi-gtk-xxxx.so, libswt-gnome-gtk-xxxx.so
+	    			<li>swt/os/win32/x86/swtNativeLib.jar contains the Win32 native library: swt-win32-xxxx.dll
+					<li>swt/ws/linux/swt.jar contains the SWT Linux GTK jar library
+					<li>swt/ws/linux/swt-pi.jar contains the SWT Linux GTK jar library
+					<li>swt/ws/win32/swt.jar contains the SWT Win32 jar library
+    			</ul>
+	    	</ul>
+	    	<br>- The swtexamples.jar can be found in the Example Plug-ins section of the Eclipse download page.
+	    	<br>- The SWT jars and native libraries can also be downloaded from the Eclipse download page.
+	    	<br>- You need to create the swtNativeLib.jar files described previously. Create empty jars with the name 'swtNativeLib.jar'.  Add the native SWT library into the swtNativeLib.jar file you just created. As indicated previously, insert the SWT Win32 native library (swt-win32-xxxx.dll) into the swt/os/win32/x86/swtNativeLib.jar file. Insert the SWT GTK linux native libraries in the swt/os/linux/x86/swtNativeLib.jar.
+	    <li>Sign the jar files
+	    	<br>Each jar file must be signed with your own key certificate.
+	    <li>Create a web page linking to the extension file root/apps/swtexamples/swtexamples.jnlp
+    </ol>
+    
+    <p>This description was originally contributed by &Oslash;yvind Harboe.</p>
+  </dd>
+	
+  <dt><strong><a name="contributeToSWT">Q: How can I contribute to SWT?</a></strong>
+  </dt>
+  <dd>A: The SWT team is interested in recruiting more developers to our cause.  There are many ways 
+  you can make contributions to the SWT project:
+  
+  <ul>
+    <li>Enter <a href="https://bugs.eclipse.org/bugs/">bug reports</a> against Platform SWT to request enhancements or when you find errors or platform inconsistencies.</li>
+    <li>Write <a href="http://www.eclipse.org/arg/index.html">articles</a> for Eclipse about how to use SWT.</li>
+    <li>Write snippets for the <a href="snippets.html">SWT snippet page</a> and send them to the mailing list.</li>
+    <li>Create your own web site with useful SWT information and ask us to add it our <a href="SWT_Resources.html">list of other
+    useful information</a>.</li>
+    <li>Help fellow SWT users by answering questions in <a href="news://news.eclipse.org/eclipse.platform.swt">eclipse.platform.swt</a>.</li>
+    <li>Test SWT on a specific platform, particularly one that is less common or that is still 
+    in a beta release.  Run the <a href="test_plan.html">SWT test plan</a> 
+    and post the results in a bug report against Platform SWT.</li>
+    <li>Contribute solutions to bug reports against Platform SWT.  This is the best way to
+    become familiar with the SWT architecture.  If you are familiar with a widget toolkit
+    for a specific Operating System, you should find our Java code quite familiar.
+    Attach your solution as a patch to the bug report.  If your solution is not accepted we will 
+    provide an explanation.  We have fairly strict coding guidelines which we are currently trying 
+    to capture in a document.</li>
+    <li>Implement new widgets.  Since SWT needs to be portable, this task can be difficult because 
+    it requires you to have all the platforms available to you.  Your best bet would be to 
+    implement the widget for Windows and GTK plus an emulated version.  Again, we have fairly 
+    strict coding guidelines which we expect to be followed.</li>
+    <li>Port SWT to a new platform.  If your port is available under CPL and is in a repository
+    that is publicly accessible, we will inspect your code and give you feedback.</li>
+  </ul>
+
+  
+  <p>Code that you contribute to SWT will come under the CPL license.  We will acknowledge any 
+  contributions in the Copyright documentation at the top of the source code file.  Code must either
+  be sent to <a href="http://dev.eclipse.org/mailman/listinfo/platform-swt-dev">platform-swt-dev@eclipse.org</a> 
+  or <a href="news://news.eclipse.org/eclipse.platform.swt">eclipse.platform.swt</a> or attached to a 
+  <a href="https://bugs.eclipse.org/bugs/">bug report</a> against Platform SWT to be accepted.  
+  Please do not email code to individual members of the SWT team.</p>
+  </dd>
+  
+  <dt><strong><a name="whatisbrowser">Q: What is the SWT Browser widget?</a></strong></dt>
+  <dd>A: The SWT Browser widget is used to display HTML documents. It is
+      designed to provide a basic and portable API sufficient for essential
+      HTML browsing and rendering on the platforms on which it is implemented.
+  </dd>
+  
+  <dt><strong><a name="browserlinux">Q: What do I need to run the SWT Browser inside Eclipse on Linux/GTK or Linux/Motif?</a></strong></dt>
+  <dd>A: You need the Mozilla version 1.4 GTK2. Mozilla 1.5 GTK2 or Mozilla 1.6 GTK2 can also be used with SWT 3.0. In addition, Mozilla 1.7.3 GTK2 can be used starting with SWT 3.1 v3104. The version of Mozilla installed on your system varies with your Linux distribution
+    <br><br>The following Linux distributions meet the Mozilla requirements for using the Browser widget.
+    <ul>
+    	<li>RedHat Enterprise Linux 3</li>
+    	<li>Suse 9</li>
+    </ul>
+    <br>If you use the IBM 1.4 VM <a href="#browserlinuxibm">check this.</a>
+    <br>
+    <br>Instructions for RedHat 9 users:
+  	<br>You need the Mozilla version 1.4 GTK2 RPMs for RedHat 9. Mozilla 1.5 GTK2 or Mozilla 1.6 GTK2 can also be used. For example, the RPMs for the Mozilla version 1.6 GTK2 can be downloaded from the
+	  <a href="http://ftp26moz.newaol.com/pub/mozilla.org/mozilla/yum/SeaMonkey/releases/1.6/redhat/1/i386/">Mozilla ftp site</a>.
+	<br>
+	<ol>
+    	<li>Uninstall any prior Mozilla version</li>
+	    <li>Install the Mozilla RPMs</li>
+    	<li>Run Mozilla once. Verify the application opens HTML documents correctly. Check the version number (1.6) in the Mozilla About dialog.. Verify you now have the Mozilla configuration file /etc/gre.conf.</li>
+    	<li>Start Eclipse. Eclipse is now ready to use the Browser widget.</li>
+	</ol>
+	<br>Instructions for other Linux distributions:
+	<br>You need the Mozilla version 1.4 GTK2 for your distribution. Mozilla 1.5 GTK2 or Mozilla 1.6 GTK2 can also be used.
+  <ol>
+  	<li>If you are using SWT 3.0, download the Mozilla 1.6 Xft and GTK2 build available from <a href="http://www.braindrain.be/mozilla/">the Mozilla XFT website</a>. If you are using SWT 3.1, you can choose to use the more recent <a href="http://ftp.mozilla.org/pub/mozilla.org/mozilla/releases/mozilla1.7.3/contrib/mozilla-i686-pc-linux-gnu-1.7.3-gtk2+xft.tar.gz">Mozilla 1.7.3 GTK2 from Mozilla.org</a>.</li>
+  	<li>Uninstall any prior Mozilla version.</li>
+  	<li>Extract and install the Mozilla build.</li>
+  	<li>Run Mozilla once. Verify the application run correctly and check the version number (1.6) in the Mozilla About dialog.</li>
+  	<li>Set the environment variable MOZILLA_FIVE_HOME to the folder containing your Mozilla install. e.g. <code>setenv MOZILLA_FIVE_HOME /usr/lib/mozilla</code></li>
+  	<li>Start Eclipse. Eclipse is now ready to use the Browser widget.</li>
+  </ol>
+  </dd>
+
+  <dt><strong><a name="browserlinuxrcp">Q: What do I need to run the SWT Browser in a standalone application on Linux GTK or Linux Motif?</a></strong></dt>
+  <dd>A: Follow the steps below to use the SWT Browser widget in your standalone SWT application.
+    <ol>
+    	<li>A supported version of Mozilla must be installed - 1.4 GTK2, 1.5 GTK2 or 1.6 GTK2. <a href="#browserlinux">Instructions here</a></li>
+    	<li>Set the environment variable MOZILLA_FIVE_HOME to your Mozilla installation folder. e.g. <code>setenv MOZILLA_FIVE_HOME /usr/lib/mozilla</code></li>
+    	<li>Set the environmnent variable LD_LIBRARY_PATH to include MOZILLA_FIVE_HOME. e.g. <code>setenv LD_LIBRARY_PATH ${MOZILLA_FIVE_HOME}:${LD_LIBRARY_PATH}</code></li>
+    	<li>Your standalone SWT application can now use the Browser widget.
+    </ol>
+    <br>If you use the IBM 1.4 VM <a href="#browserlinuxibm">check this.</a>
+    <br>
+  </dd>
+
+  <dt><strong><a name="browserlinuxibm">Q: How can I get the SWT Browser to work with the IBM 1.4 VM?</a></strong></dt>
+  <dd>A: The IBM 1.4 VM accidentally removes certain entries of the environment variable LD_LIBRARY_PATH. This occurs in particular
+  for entries starting with /usr/lib. It will leave untouched entries such as /usr/../usr/lib.
+  
+  <br>Instructions for Red Hat users:
+    <ol>
+    	<li>Mozilla is installed in <code>/usr/lib/mozilla-1.x</code> on this platform. Set the environment variable MOZILLA_FIVE_HOME to <code>/usr/../usr/lib/mozilla-1.x</code></li>
+    	<li>Start Eclipse. If you are not using Eclipse, add MOZILLA_FIVE_HOME to LD_LIBRARY_PATH before starting your standalone SWT application.</li>
+		<li>The Browser widget should now work with the IBM VM.</li>
+    </ol>
+  </dd>
+
+  <dt><strong><a name="browserplatforms">Q: Which platforms are supported by the SWT Browser?</a></strong></dt>
+  <dd>A: The SWT Browser is currently available on the following platforms:
+  <br>
+  <ol>
+    <li>Windows (Internet Explorer 5 or above)</li>
+    <li>Mac (Panther OS X.3 or above. Safari based)</li>
+    <li>Linux GTK and Linux Motif (both using Mozilla 1.4 GTK2 - or above 1.4)
+    <br>The following Linux distributions meet the Mozilla requirements for using the Browser widget:
+    <ul>
+    	<li>RedHat Enterprise Linux 3</li>
+    	<li>Suse 9</li>
+    </ul>
+    Other Linux distributions require a supported version of Mozilla to be installed. <a href="#browserlinux">See instructions</a>
+    <li>Photon</li>
+  </ol> 
+  </dd>
+  
+  <dt><strong><a name="browserplugins">Q: Why can't I run Java applets in the SWT Browser?</a></strong></dt>
+  <dd>A: Applets usually don't show up in the SWT Browser. On Windows (Internet Explorer), the Java
+  plugin fails to run a second Java virtual machine to execute the applet because two Java virtual machines cannot run
+  in the same process. On Linux (Mozilla), the Java plug-in has been reported to work because it executes in its own process.
+  <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=59506">See bug 59506</a> .
+  </dd>
+
+  <dt><strong><a name="gtk64">Q: How do I build the 64 bit version of SWT GTK?</a></strong></dt>
+  <dd>Sept. 29th 2004. An SWT GTK library is under development for the 64 bit platform. It is being developed and tested on an AMD64 machine.
+  The SWT build for the AMD64 Linux platform is available from the Eclipse download page along with the other SWT ports.
+  <br>Follow these steps to extract the 64 bit SWT GTK source code and produce your own build.
+  <ol>
+  	<li>Start Eclipse and download the following projects from dev.eclipse.org: org.eclipse.swt, org.eclipse.swt.gtk64, org.eclipse.swt.tools</li>
+  	<li>Open the file build.xml located into the org.eclipse.swt.gtk64 fragment. Run Ant to execute the ant task build.nativeLibraries defined in build.xml.</li>
+  	<li>Refresh the project org.eclipse.swt.gtk64</li>
+  </ol>
+  The project org.eclipse.swt.gtk64 now contains the 64 bit native libraries. The 64 bit java and C source code
+  has been copied under the org.eclipse.swt.gtk64/src folder.
+  </dd>
+
+  <dt><strong><a name="autotest">Q: How can I implement user interaction test cases?</a></strong></dt>
+  <dd>A: The method <code>org.eclipse.swt.widgets.Display.post(Event)</code> can be used to
+      post mouse and keyboard events into the OS, which emulates a user
+      performing the specified action.  Also, open source application
+      <a href="http://sourceforge.net/projects/abbot/">"Abbot for SWT"</a> assists
+      in the writing of automated test suites.
+  </dd>
+
+  <dt><strong><a name="noeventfire">Q: Why are some events not fired in response to programmatic widget changes?</a></strong></dt>
+  <dd>A: This is a design decision that was made in order to minimize
+      notification of potentially unwanted events.  For example, when the
+      selection of a control is changed programmatically, SWT does not issue a
+      selection event.  If this were not the case then changing the selection
+      multiple times would send multiple notifications and run application
+      listener code multiple times, thereby leading to a potential performance
+      problem.  Clients that wish to notify widget listeners of changes made
+      programatically can do so by creating an <code>Event</code> object and
+      invoking <code>Widget.notifyListeners(int, Event)</code> on the widget.
+      Note that some programmatically-triggered events are sent, typically in
+      response to low-level widget operations such as focus, move and resize
+      changes.
+  </dd>
+  
+  <dt><strong><a name="nographicslibrary">Q: Why do I get "SWTException: Unable to load graphics library" using GC?</a></strong></dt>
+  <dd>A: Support for advanced graphics operations such as path for curvers and
+      lines, alpha blending, antialiasing, patterns and transformations was
+      added to SWT 3.1. On Windows, <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdicpp/gdiplus/gdiplus.asp">GDI+</a>
+      is required. On X Windows platforms (i.e. GTK and Motif),
+      <a href="http://cairographics.org/introduction">Cairo 0.4.0</a> is
+      required. If your Windows platform does not have GDI+ by default, you can
+      <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=6a63ab9c-df12-4d41-933c-be590feaa05a&amp;DisplayLang=en">download</a>
+      a redistributable package from Microsoft.
+  </dd>
+</dl>
+</table>
+
+</body>
+</html>
diff --git a/sidebar.php b/sidebar.php
index d194912..5e4fc8c 100755
--- a/sidebar.php
+++ b/sidebar.php
@@ -1,13 +1,14 @@
 <td valign="top" bgcolor="#6699cc"><p><table class="nav" width="90%">
-<tr><td class="nav">&nbsp; <a class="nav" href="foo">Widgets</a>
-<tr><td class="nav">&nbsp; <a class="nav" href="foo">Snippets</a>
-<tr><td class="nav">&nbsp; <a class="nav" href="foo">FAQ</a>
-<tr><td class="nav">&nbsp; <a class="nav" href="foo">Tools</a>
-<tr><td class="nav">&nbsp; <a class="nav" href="foo">Documentation</a>
-<tr><td class="nav">&nbsp; <a class="nav" href="foo">Community</a>
-<tr><td class="nav">&nbsp; <a class="nav" href="foo">SWT Home</a>
+<tr><td class="nav">&nbsp; <a class="nav" href="widgets.php">Widgets</a>
+<tr><td class="nav">&nbsp; <a class="nav" href="snippets.php">Snippets</a>
+<tr><td class="nav">&nbsp; <a class="nav" href="faq.php">FAQ</a>
+<tr><td class="nav">&nbsp; <a class="nav" href="tools.php">Tools</a>
+<tr><td class="nav">&nbsp; <a class="nav" href="docs.php">Documentation</a>
+<tr><td class="nav">&nbsp; <a class="nav" href="community.php">Community</a>
+<tr><td class="nav">&nbsp; <a class="nav" href="http://bugs.eclipse.org/bugs/">Bugs</a>
+<tr><td class="nav">&nbsp; <a class="nav" href="http://www.eclipse.org/swt/">SWT Home</a>
 </table></p><p><table class="nav" width="90%">
-<tr><td class="nav">&nbsp; <a class="nav" href="foo">Bugs</a>
-<tr><td class="nav">&nbsp; <a class="nav" href="foo">Mailing List</a>
+<tr><td class="nav">&nbsp; <a class="nav" href="http://www.eclipse.org/projects/">Eclipse Projects</a>
+<tr><td class="nav">&nbsp; <a class="nav" href="http://www.eclipse.org/">Eclipse Home</a>
 </table></p>
 <center><p><a href="http://www.eclipse.org/"><img src="http://www.eclipse.org/images/EclipseBannerPic.jpg" border="0"></a></p></center>
diff --git a/tools.php b/tools.php
new file mode 100755
index 0000000..f9f225b
--- /dev/null
+++ b/tools.php
@@ -0,0 +1,78 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+    <title>SWT Development Resources</title>
+    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+    <link rel="stylesheet" href="http://dev.eclipse.org/default_style.css" type="text/css">
+    <link rel="stylesheet" href="swt.css" type="text/css">
+    <link rel="shortcut icon" href="http://www.eclipse.org/images/eclipse.ico" type="image/x-icon">
+</head>
+<body bgcolor="#ffffff" text="#000000">
+<table width="635px" style="border-bottom: 1px solid #000000;">
+<colgroup><col width="125px"><col width="510px"></colgroup>
+<tr><?php include "sidebar.php"; ?>
+<td valign="top" style="padding: 10px"><h1 style="padding: 0; margin: 0; border-bottom: 1px solid #000000;">SWT Development Resources</h1>
+
+<p>This page contains information and tools for SWT developers.</p>
+
+<table width="100%">
+<tr><th bgcolor="#0080c0" align="left" style="padding: 2px;"><font color="#ffffff">Experimental OpenGL Plug-in</font>
+</table>
+
+<p>An OpenGL plug-in has been developed and is available for download
+here.  The plugin consists of a library that provides bindings for all
+native OpenGL functions, and the classes that facilitate the use of
+these bindings for drawing on an SWT Canvas.  Note that this plug-in is
+purely experimental in nature and is not intended to be part of the
+standard SWT distribution.</p>
+
+<ul>
+  <li><a href="opengl/opengl.html">org.eclipse.swt.opengl</a></li>
+</ul>
+
+<table width="100%">
+<tr><th bgcolor="#0080c0" align="left" style="padding: 2px;"><font color="#ffffff">Tools</font>
+</table>
+
+<p><b>Sleak</b> is a simple tool that monitors the creation and
+disposing of SWT graphics resources.</p>
+<ul>
+  <li><b>Sleak plug-in for Eclipse</b> <a href="tools/org.eclipse.swt.sleak_1.0.0.zip">(zip file)</a>
+    <ul>
+      <li>Requires Eclipse 2.1.0 or later.</li>
+      <li>Extract the zip file above into the <code>eclipse/plugins/</code> folder.</li>
+      <li>Extract the <code>.options</code> file from the <code>eclipse/plugins/org.eclipse.ui_&lt;version&gt;.jar/</code> archive to the <code>eclipse/</code> folder.</li>
+       <li>Add the following lines to the <code>.options</code> file:<br>
+           <code>org.eclipse.ui/debug=true</code>
+           <br><code>org.eclipse.ui/trace/graphics=true</code></li>
+       <li>Launch Eclipse with the "-clean -debug" option on the command line.</li>
+    </ul>
+
+  <li><b>Sleak for standalone applications </b><a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.swt.tools/Sleak/org/eclipse/swt/tools/internal/Sleak.java?rev=HEAD&amp;content-type=text/vnd.viewcvs-markup">(Sleak.java)</a></li>
+</ul>
+
+<p><b>JniGen</b> is a tool that generates JNI wrappers for creating the SWT Platform Interface.</p>
+
+<ul>
+  <li>Retrieve the org.eclipse.swt.tools project from dev.eclipse.org.</li>
+  <li>Run the org.eclipse.swt.tools.internal.JNIGeneratorAppUI class inside the JNI Generation folder.</li>
+</ul>
+    
+<p><b>SWT Spy plug-in</b> for Eclipse is a simple tool that prints out
+information about the widget under the cursor.  Currently, this includes
+style, layout and parent information.</p>
+
+<ul>
+  <li>Requires Eclipse 3.0 or later.</li>
+  <li>Extract <a href="tools/org.eclipse.swt.spy_1.0.0.zip">org.eclipse.swt.spy_1.0.0.zip</a>
+      into the <code>eclipse/plugins/</code> folder.</li>
+  <li>Launch eclipse with "-clean" argument (clears caches so eclipse will pick up new plugin).</li>
+  <li>Open the SWT Spy view (Window &gt; Show View &gt; Other ... &gt; Tools &gt; SWT Spy.</li>
+  <li>Enable collection of info by clicking on the "Monitor" button in Spy view.</li>
+  <li>Move cursor over the control of interest and see data printed in Spy view.</li>
+  <li>To start or stop data collection while over a control, toggle the monitor action using ALT+SHIFT+".".</li>
+</ul>
+
+</table>
+</body>
+</html>
\ No newline at end of file
diff --git a/widgets.php b/widgets.php
new file mode 100644
index 0000000..504a1bd
--- /dev/null
+++ b/widgets.php
@@ -0,0 +1,260 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+    <title>SWT Widgets</title>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta http-equiv="Content-Style-Type" content="text/css">
+    <link rel="stylesheet" href="http://dev.eclipse.org/default_style.css" type="text/css">
+    <link rel="stylesheet" href="swt.css" type="text/css">
+    <link rel="shortcut icon" href="http://www.eclipse.org/images/eclipse.ico" type="image/x-icon">
+</head>
+<body bgcolor="#ffffff" text="#000000">
+<table width="875px" style="border-bottom: 1px solid #000000;">
+<colgroup><col width="125px"><col width="750px"></colgroup>
+<tr><?php include "sidebar.php"; ?>
+<td valign="top" style="padding: 10px"><h1 style="padding: 0; margin: 0; border-bottom: 1px solid #000000;">SWT Widgets</h1>
+
+<p>Below are screenshots and links to documentation for many of the
+widgets included in SWT.  For a complete list of classes including
+those that don't screeenshot well, see the
+<a href="http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/package-summary.html">SWT Javadoc</a>.</p>
+
+<table width="100%" style="border-bottom: 1px solid #000000;">
+<colgroup>
+    <col width="242">
+    <col width="242">
+    <col width="242">
+</colgroup>
+<tr><td align="center" valign="bottom">
+        <table>
+        <tr><td align="center"><a href="http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/browser/Browser.html"><img src="images/gallery-browser.png" width="169" height="111" border="0" alt="Bowser"></a>
+        <tr><td align="center"><b>Browser</b><br>
+        <small><a href="http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/browser/Browser.html">javadoc</a> -
+        <a href="snippets.html#browser">snippets</a></small>
+        </table>
+    <td align="center" valign="bottom">
+        <table>
+        <tr><td align="center"><a href="http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/widgets/Button.html"><img src="images/gallery-arrow.png" width="55" height="58" border="0" alt="Button"></a>
+        <tr><td align="center"><b>Button</b> (<tt>SWT.ARROW</tt>)<br>
+        <small><a href="http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/widgets/Button.html">javadoc</a> -
+        <a href="snippets.html#button">snippets</a></small>
+        </table>
+    <td align="center" valign="bottom">
+        <table>
+        <tr><td align="center"><a href="http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/widgets/Button.html"><img src="images/gallery-check.png" width="94" height="62" border="0" alt="Button"></a>
+        <tr><td align="center"><b>Button</b> (<tt>SWT.CHECK</tt>)<br>
+        <small><a href="http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/widgets/Button.html">javadoc</a> -
+        <a href="snippets.html#button">snippets</a></small>
+        </table>
+<tr><td height="25px"><td><td>
+<tr><td align="center" valign="bottom">
+        <table>
+        <tr><td align="center"><a href="http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/widgets/Button.html"><img src="images/gallery-push.png" width="100" height="62" border="0" alt="Button"></a>
+        <tr><td align="center"><b>Button</b> (<tt>SWT.PUSH</tt>)<br>
+        <small><a href="http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/widgets/Button.html">javadoc</a> -
+        <a href="snippets.html#button">snippets</a></small>
+        </table>
+    <td align="center" valign="bottom">
+        <table>
+        <tr><td align="center"><a href="http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/widgets/Button.html"><img src="images/gallery-radio.png" width="210" height="56" border="0" alt="Button"></a>
+        <tr><td align="center"><b>Button</b> (<tt>SWT.RADIO</tt>)<br>
+        <small><a href="http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/widgets/Button.html">javadoc</a> -
+        <a href="snippets.html#button">snippets</a></small>
+        </table>
+    <td align="center" valign="bottom">
+        <table>
+        <tr><td align="center"><a href="http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/widgets/Button.html"><img src="images/gallery-toggle.png" width="132" height="63" border="0" alt="Button"></a>
+        <tr><td align="center"><b>Button</b> (<tt>SWT.TOGGLE</tt>)<br>
+        <small><a href="http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/widgets/Button.html">javadoc</a> -
+        <a href="snippets.html#button">snippets</a></small>
+        </table>
+<tr><td height="25px"><td><td>
+<tr><td align="center" valign="bottom">
+        <table>
+        <tr><td align="center"><a href="http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/widgets/Canvas.html"><img src="images/gallery-canvas.png" width="123" height="121" border="0" alt="Canvas"></a>
+        <tr><td align="center"><b>Canvas</b><br>
+        <small><a href="http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/widgets/Canvas.html">javadoc</a> -
+        <a href="snippets.html#canvas">snippets</a></small>
+        </table>
+    <td align="center" valign="bottom">
+        <table>
+        <tr><td align="center"><a href="http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/widgets/Combo.html"><img src="images/gallery-combo.png" width="162" height="60" border="0" alt="Combo"></a>
+        <tr><td align="center"><b>Combo</b><br>
+        <small><a href="http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/widgets/Combo.html">javadoc</a> -
+        <a href="snippets.html#combo">snippets</a></small>
+        </table>
+    <td align="center" valign="bottom">
+        <table>
+        <tr><td align="center"><a href="http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/widgets/Composite.html"><img src="images/gallery-composite.png" width="179" height="108" border="0" alt="Composite"></a>
+        <tr><td align="center"><b>Composite</b><br>
+        <small><a href="http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/widgets/Composite.html">javadoc</a> -
+        <a href="snippets.html#composite">snippets</a></small>
+        </table>
+<tr><td height="25px"><td><td>
+<tr><td align="center" valign="bottom">
+        <table>
+        <tr><td align="center"><a href="http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/widgets/CoolBar.html"><img src="images/gallery-coolbar.png" width="230" height="84" border="0" alt="CoolBar"></a>
+        <tr><td align="center"><b>CoolBar</b><br>
+        <small><a href="http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/widgets/CoolBar.html">javadoc</a> -
+        <a href="snippets.html#coolbar">snippets</a></small>
+        </table>
+    <td align="center" valign="bottom">
+        <table>
+        <tr><td align="center"><a href="http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/custom/CTabFolder.html"><img src="images/gallery-ctabfolder.png" width="222" height="79" border="0" alt="Group"></a>
+        <tr><td align="center"><b>CTabFolder</b><br>
+        <small><a href="http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/custom/CTabFolder.html">javadoc</a> -
+        <a href="snippets.html#ctabfolder">snippets</a></small>
+        </table>
+    <td align="center" valign="bottom">
+        <table>
+        <tr><td align="center"><a href="http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/widgets/Group.html"><img src="images/gallery-group.png" width="106" height="115" border="0" alt="Group"></a>
+        <tr><td align="center"><b>Group</b><br>
+        <small><a href="http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/widgets/Group.html">javadoc</a>
+        </small>
+        </table>
+<tr><td height="25px"><td><td>
+<tr><td align="center" valign="bottom">
+        <table>
+        <tr><td align="center"><a href="http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/widgets/Label.html"><img src="images/gallery-label.png" width="145" height="119" border="0" alt="Label"></a>
+        <tr><td align="center"><b>Label</b><br>
+        <small><a href="http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/widgets/Label.html">javadoc</a> -
+        <a href="snippets.html#label">snippets</a></small>
+        </table>
+    <td align="center" valign="bottom">
+        <table>
+        <tr><td align="center"><a href="http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/widgets/Link.html"><img src="images/gallery-link.png" width="210" height="50" border="0" alt="Link"></a>
+        <tr><td align="center"><b>Link</b><br>
+        <small><a href="http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/widgets/Link.html">javadoc</a> -
+        <a href="snippets.html#link">snippets</a></small>
+        </table>
+    <td align="center" valign="bottom">
+        <table>
+        <tr><td align="center"><a href="http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/widgets/List.html"><img src="images/gallery-list.png" width="147" height="168" border="0" alt="List"></a>
+        <tr><td align="center"><b>List</b><br>
+        <small><a href="http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/widgets/List.html">javadoc</a> -
+        <a href="snippets.html#list">snippets</a></small>
+        </table>
+<tr><td height="25px"><td><td>
+<tr><td align="center" valign="bottom">
+        <table>
+        <tr><td align="center"><a href="http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/widgets/Menu.html"><img src="images/gallery-menu.png" width="242" height="166" border="0" alt="Menu"></a>
+        <tr><td align="center"><b>Menu</b><br>
+        <small><a href="http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/widgets/Menu.html">javadoc</a> -
+        <a href="snippets.html#menu">snippets</a></small>
+        </table>
+    <td align="center" valign="bottom">
+        <table>
+        <tr><td align="center"><a href="http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/widgets/ProgressBar.html"><img src="images/gallery-progressbar.png" width="159" height="51" border="0" alt="ProgressBar"></a>
+        <tr><td align="center"><b>ProgressBar</b><br>
+        <small><a href="http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/widgets/ProgressBar.html">javadoc</a> -
+        <a href="snippets.html#progressbar">snippets</a></small>
+        </table>
+    <td align="center" valign="bottom">
+        <table>
+        <tr><td align="center"><a href="http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/widgets/Sash.html"><img src="images/gallery-sash.png" width="144" height="141" border="0" alt="Sash"></a>
+        <tr><td align="center"><b>Sash</b><br>
+        <small><a href="http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/widgets/Sash.html">javadoc</a> -
+        <a href="snippets.html#sash">snippets</a></small>
+        </table>
+<tr><td height="25px"><td><td>
+<tr><td align="center" valign="bottom">
+        <table>
+        <tr><td align="center"><a href="http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/custom/ScrolledComposite.html"><img src="images/gallery-scrolledcomposite.png" width="134" height="131" border="0" alt="ScrolledComposite"></a>
+        <tr><td align="center"><b>ScrolledComposite</b><br>
+        <small><a href="http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/custom/ScrolledComposite.html">javadoc</a> -
+        <a href="snippets.html#scrolledcomposite">snippets</a></small>
+        </table>
+    <td align="center" valign="bottom">
+        <table>
+        <tr><td align="center"><a href="http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/widgets/Shell.html"><img src="images/gallery-shell.png" width="222" height="47" border="0" alt="Shell"></a>
+        <tr><td align="center"><b>Shell</b><br>
+        <small><a href="http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/widgets/Shell.html">javadoc</a> -
+        <a href="snippets.html#shell">snippets</a></small>
+        </table>
+    <td align="center" valign="bottom">
+        <table>
+        <tr><td align="center"><a href="http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/widgets/Slider.html"><img src="images/gallery-slider.png" width="189" height="54" border="0" alt="Slider"></a>
+        <tr><td align="center"><b>Slider</b><br>
+        <small><a href="http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/widgets/Slider.html">javadoc</a> -
+        <a href="snippets.html#slider">snippets</a></small>
+        </table>
+<tr><td height="25px"><td><td>
+<tr><td align="center" valign="bottom">
+        <table>
+        <tr><td align="center"><a href="http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/widgets/Scale.html"><img src="images/gallery-scale.png" width="191" height="75" border="0" alt="Scale"></a>
+        <tr><td align="center"><b>Scale</b><br>
+        <small><a href="http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/widgets/Scale.html">javadoc</a> -
+        <a href="snippets.html#scale">snippets</a></small>
+        </table>
+    <td align="center" valign="bottom">
+        <table>
+        <tr><td align="center"><a href="http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/widgets/Spinner.html"><img src="images/gallery-spinner.png" width="98" height="67" border="0" alt="Spinner"></a>
+        <tr><td align="center"><b>Spinner</b><br>
+        <small><a href="http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/widgets/Spinner.html">javadoc</a> -
+        <a href="snippets.html#spinner">snippets</a></small>
+        </table>
+    <td align="center" valign="bottom">
+        <table>
+        <tr><td align="center"><a href="http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/custom/StyledText.html"><img src="images/gallery-styledtext.png" width="208" height="98" border="0" alt="StyledText"></a>
+        <tr><td align="center"><b>StyledText</b><br>
+        <small><a href="http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/custom/StyledText.html">javadoc</a> -
+        <a href="snippets.html#styledtext">snippets</a></small>
+        </table>
+<tr><td height="25px"><td><td>
+<tr><td align="center" valign="bottom">
+        <table>
+        <tr><td align="center"><a href="http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/widgets/TabFolder.html"><img src="images/gallery-tabfolder.png" width="178" height="116" border="0" alt="TabFolder"></a>
+        <tr><td align="center"><b>TabFolder</b><br>
+        <small><a href="http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/widgets/TabFolder.html">javadoc</a> -
+        <a href="snippets.html#tabfolder">snippets</a></small>
+        </table>
+    <td align="center" valign="bottom">
+        <table>
+        <tr><td align="center"><a href="http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/widgets/Table.html"><img src="images/gallery-table.png" width="210" height="130" border="0" alt="Table"></a>
+        <tr><td align="center"><b>Table</b><br>
+        <small><a href="http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/widgets/Table.html">javadoc</a> -
+        <a href="snippets.html#table">snippets</a></small>
+        </table>
+    <td align="center" valign="bottom">
+        <table>
+        <tr><td align="center"><a href="http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/widgets/Text.html"><img src="images/gallery-textsingle.png" width="185" height="66" border="0" alt="Text"></a>
+        <tr><td align="center"><b>Text</b> (<tt>SWT.SINGLE</tt>)<br>
+        <small><a href="http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/widgets/Text.html">javadoc</a> -
+        <a href="snippets.html#text">snippets</a></small>
+        </table>
+<tr><td height="25px"><td><td>
+<tr><td align="center" valign="bottom">
+        <table>
+        <tr><td align="center"><a href="http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/widgets/Text.html"><img src="images/gallery-textmulti.png" width="180" height="79" border="0" alt="Text"></a>
+        <tr><td align="center"><b>Text</b> (<tt>SWT.MULTI</tt>)<br>
+        <small><a href="http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/widgets/Text.html">javadoc</a> -
+        <a href="snippets.html#text">snippets</a></small>
+        </table>
+    <td align="center" valign="bottom">
+        <table>
+        <tr><td align="center"><a href="http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/widgets/ToolBar.html"><img src="images/gallery-toolbar.png" width="185" height="60" border="0" alt="ToolBar"></a>
+        <tr><td align="center"><b>ToolBar</b><br>
+        <small><a href="http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/widgets/ToolBar.html">javadoc</a> -
+        <a href="snippets.html#toolbar">snippets</a></small>
+        </table>
+    <td align="center" valign="bottom">
+        <table>
+        <tr><td align="center"><a href="http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/widgets/Tray.html"><img src="images/gallery-tray.png" width="180" height="90" border="0" alt="Tray"></a>
+        <tr><td align="center"><b>Tray</b><br>
+        <small><a href="http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/widgets/Tray.html">javadoc</a> -
+        <a href="snippets.html#tray">snippets</a></small>
+        </table>
+<tr><td height="25px"><td><td>
+<tr><td align="center" valign="bottom">
+    <td align="center" valign="bottom">
+        <table>
+        <tr><td align="center"><a href="http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/widgets/Tree.html"><img src="images/gallery-tree.png" width="185" height="134" border="0" alt="Tree"></a>
+        <tr><td align="center"><b>Tree</b><br>
+        <small><a href="http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/widgets/Tree.html">javadoc</a> -
+        <a href="snippets.html#tree">snippets</a></small>
+        </table>
+    <td align="center" valign="bottom">
+</table>
+</table>
+</body>
+</html>
\ No newline at end of file