blob: fc8fd51e559269ae8ddc5780caeea9993eb7a00e [file] [log] [blame]
<html>
<head>
<meta http-equiv="Content-Language" content="en-us">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>Eclipse 3.1 Milestone New and Noteworthy Items - SWT</title>
</head>
<body>
<h1><font face="Verdana">Eclipse 3.1 - New and Noteworthy in SWT</font></h1>
<ul>
<li><a href="#m1">Milestone M1</a></li>
<li><a href="#m2">Milestone M2</a></li>
<li><a href="#m3">Milestone M3</a></li>
<li><a href="#m4">Milestone M4</a></li>
<li><a href="#m5">Milestone M5</a></li>
<li><a href="#m6">Milestone M6</a></li>
<li><a href="#m7">Milestone M7</a></li>
<li><a href="#rc1">Milestone RC1</a></li>
</ul>
<h2><font face="Verdana"><a name=m1>Milestone M1</a></font></h2>
<p>Download: <a href="http://download.eclipse.org/downloads/drops/S-3.1M1-200408122000/index.php#swt">M1 Build</a> (August 12, 2004)
<p>Build Notes: <a href="http://download.eclipse.org/downloads/drops/S-3.1M1-200408122000/buildnotes/buildnotes_swt.html">M1 Build Notes</a>
<table border="0" cellpadding="10" cellspacing="0">
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td width="30%" valign="top" align="left">
<p align="right"><b>Bug Fixing</b></p>
</td>
<td width="70%" valign="top" align="left">In Milestone 1, the SWT team focused on bug fixing.
</td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
</table>
<h2><font face="Verdana"><a name=m2>Milestone M2</a></font></h2>
<p>Download: <a href="http://download.eclipse.org/downloads/drops/S-3.1M2-200409240800/index.php#swt">M2 Build</a> (September 24, 2004)
<p>Build Notes: <a href="http://download.eclipse.org/downloads/drops/S-3.1M2-200409240800/buildnotes/buildnotes_swt.html">M2 Build Notes</a>
<table border="0" cellpadding="10" cellspacing="0">
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td width="30%" valign="top" align="left">
<p align="right"><b>Browser widget improvements</b></p>
</td>
<td width="70%" valign="top" align="left">The <code>WindowEvent</code> notification now contains new fields <code>addressBar</code>, <code>menuBar</code>,
<code>statusBar</code> and <code>toolBar</code>. The style <code>SWT.BORDER</code> creates a <code>Browser</code> with the Internet Explorer 3D border on Windows and a regular border on the other platforms. The SWT <code>Browser</code> widget on Linux now works with Mozilla 1.7 GTK2 as well as with previous Mozilla 1.4 GTK2 and above.
</td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td width="30%" valign="top" align="left">
<p align="right"><b>Browser Demo example</b></td>
<td width="70%" valign="top" align="left">The Browser Demo example illustrates how to integrate HTML content with the Browser widget into an application.
<p><img border="0" src="demo.png" width="363" height="368"></p>
</td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
</table>
<h2><font face="Verdana"><a name=m3>Milestone M3</a></font></h2>
<p>Download: <a href="http://download.eclipse.org/downloads/drops/S-3.1M3-200411050810/index.php#swt">M3 Build</a> (November 5, 2004)
<p>Build Notes: <a href="http://download.eclipse.org/downloads/drops/S-3.1M3-200411050810/buildnotes/buildnotes_swt.html">M3 Build Notes</a>
<table border="0" cellpadding="10" cellspacing="0">
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td width="30%" valign="top" align="left">
<p align="right"><b>Browser.execute(String)</b></p>
</td>
<td width="70%" valign="top" align="left">The SWT Browser widget now lets you run javascript commands. Javascript commands can be used in a
variety of ways such as accessing or modifying the Document Object Model, calling javascript functions stored in the current HTML document, etc. The commands are directly evaluated
by the underlying native javascript engine (Internet Explorer on Windows, Mozilla on Linux, Safari on the Mac), in the context of the HTML document
that is currently loaded in the Browser.
<p>See the SWT snippets for examples of <a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet161.java?rev=HEAD&content-type=text/vnd.viewcvs-markup">modifying the DOM</a>
and <a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet160.java?rev=HEAD&content-type=text/vnd.viewcvs-markup">querying DOM node value</a>.
<p><img border="0" src="execute.png" width="466" height="321"></p>
The Browser Demo example now contains an 'Editor' pane that lets you input javascript commands.
</td>
</tr>
</table>
<table border="0" cellpadding="10" cellspacing="0">
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td width="30%" valign="top" align="left">
<p align="right"><b>GtkFileChooser</b></p>
</td>
<td width="70%" valign="top" align="left">
On GTK+ the FileDialog and DirectoryDialog widgets will now utilize the
GtkFileChooser widget if the detected GTK+ version is 2.4.10 or greater.
<p><img border="0" src="fileChooser.png" width="450" height="362"></p>
</td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
</table>
<h2><font face="Verdana"><a name=m4>Milestone M4</a></font></h2>
<p>Download: <a href="http://download.eclipse.org/downloads/drops/S-3.1M4-200412162000/index.php#swt">M4 Build</a> (December 17, 2004)
<p>Build Notes: <a href="http://download.eclipse.org/downloads/drops/S-3.1M4-200412162000/buildnotes/buildnotes_swt.html">M4 Build Notes</a>
<table border="0" cellpadding="10" cellspacing="0">
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td width="30%" valign="top" align="left">
<p align="right"><b>SWT for Solaris-GTK+</b></p>
</td>
<td width="70%" valign="top" align="left">Solaris-GTK has joined the lineup
of supported configurations for which SWT and Eclipse are routinely built.
</td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td width="30%" valign="top" align="left">
<p align="right"><b>GC.setLineCap, GC.setLineJoin</b></p>
</td>
<td width="70%" valign="top" align="left">
<p><code>GC.setLineCap()</code> lets you specify how the end of a line should be drawn.
It supports the styles <code>SWT.CAP_FLAT, SWT.CAP_ROUND and SWT.CAP_SQUARE</code>.
To specify how one line is attached to another, use <code>GC.setLineJoin()</code>.
Possible styles are <code>SWT.JOIN_BEVEL, SWT.JOIN_MITER and SWT.JOIN_ROUND</code>.
<p><img border="0" src="gcCapsJoins.png" width="350" height="78"></p>
<p>See the SWT <a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet168.java?rev=HEAD&content-type=text/vnd.viewcvs-markup">snippet</a>
for drawing lines with different cap and join styles.
</td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td width="30%" valign="top" align="left">
<p align="right"><b>New Spinner Widget</b></p>
</td>
<td width="70%" valign="top" align="left">
SWT now provides a Spinner widget on all supported platforms.
See org.eclipse.swt.widgets.Spinner.
<p><img border="0" src="spinner.png" width="248" height="53"></p>
<p>For more details, see the example
<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet184.java?rev=HEAD&content-type=text/vnd.viewcvs-markup">snippet</a>.</p>
</td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td width="30%" valign="top" align="left">
<p align="right"><b>Mouse Wheel Events</b></p>
</td>
<td width="70%" valign="top" align="left">
SWT now provides events when the user spins the mouse wheel. Note
that the default behaviour of scrolling the scroll bar continues to work
as before. See SWT.MouseWheel.</p>
</td>
</tr>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td width="30%" valign="top" align="left">
<p align="right"><b>Improved Layout support</b></p>
</td>
<td width="70%" valign="top" align="left">
There are new methods on Composite and Layout to allow applications to
improve layout performance and to force the laying out of all children
even when there is an intermediate parent that does not resize.</p>
<ul>
<li>Composite.layout(Control[])</li>
<li>Composite.layout(boolean, boolean)</li>
<li>Composite.setLayoutDeferred(boolean)</li>
<li>Layout.flushCache(Control)</li>
</ul>
</p>
</td>
</tr>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td width="30%" valign="top" align="left">
<p align="right"><b>Selection Clipboard</b></p>
</td>
<td width="70%" valign="top" align="left">
Unix users on both GTK and Motif can now select text and paste it with the middle mouse button.
</td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
</table>
<h2><font face="Verdana"><a name=m5>Milestone M5</a></font></h2>
<p>Download: <a href="http://download.eclipse.org/downloads/drops/S-3.1M5a-200502191500/index.php#swt">M5 Build</a> (February 19th, 2005)
<p>Build Notes: <a href="http://download.eclipse.org/downloads/drops/S-3.1M5a-200502191500/buildnotes/buildnotes_swt.html">M5 Build Notes</a>
<table border="0" cellpadding="10" cellspacing="0">
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td width="30%" valign="top" align="left">
<p align="right"><b>Native tree with columns</b></p>
</td>
<td width="70%" valign="top" align="left">
<p>The <code>Tree</code> widget can display multiple columns by creating <code>TreeColumn</code> objects.
New API in Tree, TreeItem and TreeColumn provides the same support for columns as Table.
This replaces the <code>TableTree</code> widget which is deprecated for 3.1 M5.
<p><img border="0" src="treetable.png" width="444" height="418"></p>
<p>For more details see the example
<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet170.java?rev=HEAD&content-type=text/vnd.viewcvs-markup">snippet</a>.</p>
</td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td width="30%" valign="top" align="left">
<p align="right"><b>Reorderable table columns</b></p>
</td>
<td width="70%" valign="top" align="left">
<p>The display order of columns in a table can be changed by dragging the column header or
can be set programmatically.
<p><img border="0" src="moveable.png" width="348" height="396"></p>
<p>For more details see the example
<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet181.java?rev=HEAD&content-type=text/vnd.viewcvs-markup">snippet</a>.</p>
</td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td width="30%" valign="top" align="left">
<p align="right"><b>Windows XP look and feel for Buttons</b></p>
</td>
<td width="70%" valign="top" align="left">
<p>Under Windows XP, buttons with images now show the expected look and feel for the current skin.
<p><img border="0" src="xpbuttons.png" width="317" height="71"></p>
<p>For more details on Windows XP skins, see the
<a href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-swt-home/faq.html#xpthemes">SWT FAQ</a>.</p>
</td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td width="30%" valign="top" align="left">
<p align="right"><b>SWT Browser widget improvements</b></p>
</td>
<td width="70%" valign="top" align="left">
<p>On Windows, new window requests can now be opened in a standalone Internet Explorer browser. A new flag
<code>required</code> has been added to the <code>WindowEvent</code> notification. This flag specifies
whether the platform requires the user to provide a <code>Browser</code> to handle the new window or if the request
will open in a standalone system browser otherwise.
</td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td width="30%" valign="top" align="left">
<p align="right"><b>Eclipse RCP launcher improvements</b></p>
</td>
<td width="70%" valign="top" align="left">
<p>The Eclipse launcher supports new arguments (<code>-name</code> and <code>-startup</code>) and a new configuration file to improve
customization for RCP applications. For details, see the
<a href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-swt-home/launcher.html">Eclipse Launcher description</a>.</p>
</td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td width="30%" valign="top" align="left"> <p align="right"><b>
Standalone SWT download is now an Eclipse project</b></p></td>
<td width="70%" valign="top" align="left"> <p>For developers of standalone
SWT applications, the SWT component is available as a separate download. For
Eclipse 3.1, the SWT download can now be easily imported into your workspace as a project.</p>
<ol><li>Download SWT for standalone applications. A standalone version of SWT is
available on the same download page as the Eclipse SDK. Look for the section
titled SWT Binary and Source. Do not extract the archive file, just save it to
disk.
<li>Select <b>Import...</b> from the <b>File</b> menu.
<li>Select <b>Existing Projects into Workspace</b> and click on the <b>Next</b> button.
<li>Select <b>Select archive file:</b> and use the <b>Browse</b> button to locate the SWT
standalone archive you have previously downloaded.
<li>Click on the <b>Finish</b> button.</ol>
</p>
</p>The org.eclipse.swt project you have imported defines the location of the native libraries
so you can run your application with the standard Java or JUnit launchers.</p>
</td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td width="30%" valign="top" align="left"> <p align="right"><b>Starting
SWT standalone applications using PDE</b></p></td>
<td width="70%" valign="top" align="left"> <p>In 3.1, the core Eclipse plug-ins,
including SWT, are packaged as single JAR files rather than as a directory of files.
The SWT plug-in JAR now contains everything including the native libraries.</p>
<p>In order to run a standalone SWT application, the native libraries must be placed
on the java library path. If you use the SWT Binary and Source download this is resolved for you
but sometimes it is useful to build against the SWT plug-in from the Eclipe SDK.
In Eclipse 3.0, standalone SWT developers added the native libraries using -Djava.library.path.
In Eclipse 3.1, since the native libraries are inside a JAR, developers cannot
easily locate the libraries.</p>
<p>To run and debug your SWT application using the SWT plug-in from
Eclipse, you can use the SWT application launcher to locate the native libraries. A shortcut to the
launcher is available in the context menu of your Java class via
<b>Run As &gt; SWT Application</b>.</p>
<p><img border="0" src="swtlauncher.png" width="411" height="127"></p>
<p>Please note that the SWT application launcher may be unnecessary in future releases.</p>
</td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td width="30%" valign="top" align="left">
<p align="right"><b>Advanced Graphics</b></p>
</td>
<td width="70%" valign="top" align="left">
<p>New API has been added for advanced graphics operations such as path for
curves and lines, alpha blending and transformations. This new API requires
the <a href="http://cairographics.org/introduction">Cairo Vector engine</a>
on GTK and Motif and
<a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdicpp/GDIPlus/GDIPlus.asp">GDI+</a> on Windows.
<p><img border="0" src="advanced_gc.png" width="328" height="272"></p>
<p>For more details see the example
<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet10.java?rev=HEAD&content-type=text/vnd.viewcvs-markup">snippet</a>.</p>
</td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td width="30%" valign="top" align="left">
<p align="right"><b>New Link Widget</b></p>
</td>
<td width="70%" valign="top" align="left">
<p>The new <code>Link</code> widget displays text containing hyperlinks.</p>
<p><img border="0" src="linkwidget.png" width="410" height="131"></p>
<p>For more details, see the example
<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet183.java?rev=HEAD&content-type=text/vnd.viewcvs-markup">snippet</a>.</p>
</td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td width="30%" valign="top" align="left">
<p align="right"><b>Remove Widgets from Layout</b></p>
</td>
<td width="70%" valign="top" align="left">
<p><code>RowData</code> and <code>GridData</code> have a new <code>exclude</code> attribute.
Setting the <code>exclude</code> attribute to true will remove the associated widget from
the layout management - previously, applications had to dispose and recreate
widgets to achieve this effect.</p>
<p>For more details, see the example
<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet175.java?rev=HEAD&content-type=text/vnd.viewcvs-markup">snippet</a>.</p>
</td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
</table>
<h2><font face="Verdana"><a name=m6>Milestone M6</a></font></h2>
<p>Download: <a href="http://download.eclipse.org/downloads/drops/S-3.1M6-200504011645/index.php#swt">M6 Build</a> (April 1st, 2005)
<p>Build Notes: <a href="http://download.eclipse.org/downloads/drops/S-3.1M6-200504011645/buildnotes/buildnotes_swt.html">M6 Build Notes</a>
<table border="0" cellpadding="10" cellspacing="0">
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td width="30%" valign="top" align="left">
<p align="right"><b>Strikethrough and Underline in StyledText</b></p>
</td>
<td width="70%" valign="top" align="left">
<p>Text can be underlined or a strike can be drawn through it with the new <code>StyleRange.underline</code> and
<code>StyleRange.strikeout</code> fields.</p>
<p><img border="0" src="strike_underline.png" width="388" height="154"></p>
<p>For more details see the example
<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet189.java?rev=HEAD&content-type=text/vnd.viewcvs-markup">snippet</a>.</p>
</td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td width="30%" valign="top" align="left">
<p align="right"><b>Spinner supports decimal values</b></p>
</td>
<td width="70%" valign="top" align="left">
<p>The Spinner widget can display non-integer values using the <code>Spinner.setDigits()</code> API.
Decimal values can be used for the minimum, maximum, increment and selection values.</p>
<p><img border="0" src="spinner_float.png" width="317" height="52"></p>
<p>For more details see the example
<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet190.java?rev=HEAD&content-type=text/vnd.viewcvs-markup">snippet</a>.</p>
</td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td width="30%" valign="top" align="left">
<p align="right"><b>Emulated Table improvements</b></p>
</td>
<td width="70%" valign="top" align="left">
<p>Some platforms such as Motif and Photon do not provide a native table widget and for these platforms SWT provides an emulated table implementation.
In M6, this implementation was largely re-written. Many bugs were fixed and some features were enabled such as re-orderable columns
and <code>Table.showColumn()</code>.</p>
</td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td width="30%" valign="top" align="left">
<p align="right"><b>Tree supports indices</b></p>
</td>
<td width="70%" valign="top" align="left">
<p>New API has been added so that items in a Tree can be referenced by index. The index is relative to the immediate
parent which for top level nodes is the Tree and for sub-nodes is the parent TreeItem. The new API includes
<code>Tree/TreeItem.indexOf(TreeItem)</code> and <code>Tree/TreeItem.getItem(index)</code>.
In addition, you can remove the children of a tree item using <code>TreeItem.removeAll()</code>.</p>
</td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
</table>
<h2><font face="Verdana"><a name=m7>Milestone M7</a></font></h2>
<p>Download: <a href="http://download.eclipse.org/downloads/drops/S-3.1M7-200505131415/index.php#swt">M7 Build</a> (May 13, 2005)
<p>Build Notes: <a href="http://download.eclipse.org/downloads/drops/S-3.1M7-200505131415/buildnotes/buildnotes_swt.html">M7 Build Notes</a>
<table border="0" cellpadding="10" cellspacing="0">
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td width="30%" valign="top" align="left">
<p align="right"><b>Bug Fixing</b></p>
</td>
<td width="70%" valign="top" align="left">In Milestone 7, the SWT team focused on performance and consistency.
</td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
</table>
<h2><font face="Verdana"><a name=rc1>Milestone RC1</a></font></h2>
<p>Download: <a href="http://download.eclipse.org/downloads/drops/S-3.1RC1-200505271300/index.php#swt">RC1 Build</a> (May 27, 2005)
<p>Build Notes: <a href="http://download.eclipse.org/downloads/drops/S-3.1RC1-200505271300/buildnotes/buildnotes_swt.html">RC1 Build Notes</a>
<table border="0" cellpadding="10" cellspacing="0">
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td width="30%" valign="top" align="left">
<p align="right"><b>Bug Fixing</b></p>
</td>
<td width="70%" valign="top" align="left">In Milestone RC1, the SWT team focused on bug fixing.
</td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
</table>
</body>
</html>