blob: 415d2095d239e63e713b21de3548af306cf08ffc [file] [log] [blame]
Niraj Modie29ee6b2015-01-30 15:07:18 +05301<?xml version="1.0" encoding="iso-8859-1"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
3 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4<html xmlns="http://www.w3.org/1999/xhtml">
5<head>
6<meta http-equiv="Content-Language" content="en-us" />
7<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
8 <style type="text/css">
9p, table, td, th { font-family: verdana, arial, helvetica, geneva; font-size: 10pt}
10pre { font-family: "Courier New", Courier, mono; font-size: 10pt}
11h2 { font-family: verdana, arial, helvetica, geneva; font-size: 18pt; font-weight: bold ; line-height: 14px}
12code { font-family: "Courier New", Courier, mono; font-size: 10pt}
13sup { font-family: verdana, arial, helvetica, geneva; font-size: 10px}
14h3 { font-family: verdana, arial, helvetica, geneva; font-size: 14pt; font-weight: bold}
15li { font-family: verdana, arial, helvetica, geneva; font-size: 10pt}
16h1 { font-family: verdana, arial, helvetica, geneva; font-size: 24pt; font-weight: bold}
17body { font-family: verdana, arial, helvetica, geneva; font-size: 10pt; margin-top: 5mm; margin-left: 3mm}
18.indextop { font-size: x-large; font-family: verdana, arial, helvetica, sans-serif; font-weight: bold}
19.indexsub { font-size: xx-small; font-family: verdana, arial, helvetica, sans-serif; color: #8080FF}
20a.bar:link { text-decoration: none; color: #FFFFFF}
21a.bar:visited { color: #FFFFFF; text-decoration: none}
22a.bar:hover { color: #FFFFFF; text-decoration: underline}
23a.bar { color: #FFFFFF}
24
25.section {font-size: 20px; font-weight: bold;}
26table.news td {border-top: solid thin black;}
27table.news tr {vertical-align: top;}
28table.news tr td.title {vertical-align: top; width: 30%; font-weight: bold;}
29table.news tr td.content {vertical-align: top; width: 70%;}
30 </style>
31<title>Eclipse &quot;New and Noteworthy&quot; Template</title>
32</head>
33
34<body>
35<h1><font face="Verdana">Eclipse 4.5 (Mars) - New and Noteworthy in SWT</font></h1>
36
37<ul>
Niraj Modi0fc1a2f2015-02-02 15:44:09 +053038 <li><a href="#m3">Milestone M3</a></li>
39 <li><a href="#m4">Milestone M4</a></li>
Niraj Modie29ee6b2015-01-30 15:07:18 +053040 <li><a href="#m5">Milestone M5</a></li>
Lakshmi Shanmugam381968b2015-08-17 16:46:42 +053041 <li><a href="#m6">Milestone M6</a></li>
42 <li><a href="#m7">Milestone M7</a></li>
43 <li><a href="#rc1">Release Candidate 1</a></li>
Niraj Modie29ee6b2015-01-30 15:07:18 +053044</ul>
45
46
47<table class="news" border="0" cellpadding="10" cellspacing="0" width="80%" summary="news entries">
48
49 <tr>
Niraj Modi0fc1a2f2015-02-02 15:44:09 +053050 <td id="m3" class="section" colspan="2"><h2>Milestone M3</h2></td>
51 </tr>
52 <tr id="date-time-on-gtk-spin-button">
53 <td class="title">The DateTime widget now uses GtkSpinButton on UNIX/Linux platforms</td>
54 <td class="content">
55 The DateTime widget has been re-implemented to use the GtkSpinButton widget for
56 <code>SWT.DATE</code> and <code>SWT.TIME</code> styles. The new look and feel is as illustrated below:
57 <p><b>GTK+ 2:</b></p>
58 <p>
59 <img src="images/gtk2-date-time.png" alt="" />
60 </p>
61 <p><b>GTK+ 3:</b></p>
62 <p>
63 <img src="images/gtk3-date-time.png" alt="" />
64 </p>
65 </td>
66 </tr>
67
68 <tr id="sleep-wakeup-deprecated-replaced">
69 <td class="title">New monitoring events added in place of SWT.Sleep and SWT.Wakeup</td>
70 <td class="content">
71 The <code>SWT.Sleep</code> and <code>SWT.Wakeup</code> events have been deprecated
72 in favor of the more generic events <code>SWT.PreExternalEventDispatch</code> and
73 <code>SWT.PostExternalEventDispatch</code>, respectively. Clients that were written
74 using the old event names should be updated to refer to the new events.
75 </td>
76 </tr>
77
78 <tr id="gtk-supported-versions-update">
79 <td class="title">Dropped support for GTK+ 2 versions older than 2.18</td>
80 <td class="content">
81 GTK+ 2.18.0 or later (and its dependencies) will be the pre-requisites necessary to
82 run Eclipse successfully on all Linux/UNIX platforms as opposed to GTK+ 2.10.0 earlier.
83 Support for all versions older than 2.18 has been dropped effective Mars M3 milestone release.
84 <p>
85 Note: As of now, Eclipse logs a warning and continues to run when a GTK+ version older than 2.18.0
86 is detected, but that behavior will soon be changed to not run Eclipse with unsupported versions.
87 </p>
88 </td>
89 </tr>
90
91 <tr>
92 <td id="m4" class="section" colspan="2"><h2>Milestone M4</h2></td>
93 </tr>
94 <tr id="menuitem-tooltip">
95 <td class="title">Added API to set tooltip for MenuItem</td>
96 <td class="content">
97 SWT now supports setting a tooltip on menu items via <code>MenuItem.setToolTipText()</code>.
98 <p>
99 For an example, see the <b>Menu</b> tab in the <a href="https://www.eclipse.org/swt/examples.php">ControlExample</a>.</p>
100 <p>
101 <img src="images/tooltip.png" alt="" />
102 </p>
103 </td>
104 </tr>
105
106 <tr>
Niraj Modie29ee6b2015-01-30 15:07:18 +0530107 <td id="m5" class="section" colspan="2"><h2>Milestone M5</h2></td>
108 </tr>
109
Niraj Modi0fc1a2f2015-02-02 15:44:09 +0530110 <tr id="transparent-bg">
Niraj Modie29ee6b2015-01-30 15:07:18 +0530111 <td class="title">Transparent background for Control</td>
112 <td class="content">
113 <p>SWT has added support to set a <code>Control</code>'s background as transparent. The <code>Color</code> class now supports specifying a alpha value (integer: 0 to 255) for transparency.
114 Calling <code>Control#setBackground(Color color)</code> with a transparent color (color with alpha value '0'), sets the control's background as transparent.</p>
115 <p><b>List of New Classes and APIs:</b></p>
116 <ul>
117 <li>Class: <code>org.eclipse.swt.graphics.RGBA</code></li>
118 <li>Constant: <code>SWT.COLOR_TRANSPARENT</code> - This is a default transparent color</li>
119 <li>Methods added in <code>org.eclipse.swt.graphics.Color</code></li>
120 <ul>
121 <li><code>public Color (Device device, int red, int green, int blue, int alpha)</code></li>
122 <li><code>public Color (Device device, RGB rgb, int alpha)</code></li>
123 <li><code>public Color (Device device, RGBA rgba)</code></li>
124 <li><code>public RGBA getRGBA </code>()</li>
125 <li><code>public int getAlpha ()</code></li>
126 </ul>
127 </ul>
128 <p><b>Note:</b></p>
129 <ul>
130 <li>Currently, SWT honors only extreme values for alpha i.e, '0'(transparent) or '255'(opaque).</li>
131 <li>Setting transparent background color fails for some controls on all platforms, they show the default background color instead. For e.g. Text, Combo.</li>
132 <li>Setting transparent background color for some controls works on GTK3 only, it fails on other platforms. For e.g. Table, Tree.</li>
133 </ul>
134 For an example on using the new APIs, see <a href="http://git.eclipse.org/c/platform/eclipse.platform.swt.git/tree/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet365.java">Snippet365</a>.
135 <p>
136 <b>Snippet365 in action</b> (Controls with <code>SWT.COLOR_TRANSPARENT</code> background and Shell with gradient background image)
137 </p>
138 <p>
139 <img src="images/transparent_control_background.png" alt="Transparent Background on Control widgets" />
140 </p>
141 </td>
142 </tr>
143
144 <tr id="swt-tools">
145 <td class="title">SWT Tools</td>
146 <td class="content">
147 <a href="https://www.eclipse.org/swt/tools.php">SWT Tools</a> are now available in the Eclipse Platform P2 repository.
148 SWT Tools provides tools for developing SWT itself (JNIGen) but also general purpose tools Sleak
149 (monitors the creation and disposal of SWT graphics resources) and SWT Spy (prints out information like style, layout and parent
150 about the widget under the cursor).
151 </td>
152 </tr>
Lakshmi Shanmugam381968b2015-08-17 16:46:42 +0530153
154 <tr>
155 <td id="m6" class="section" colspan="2"><h2>Milestone M6</h2></td>
156 </tr>
157
158 <tr id="high-dpi">
159 <td class="title">APIs for high-DPI monitor support</td>
160 <td class="content">
161 New APIs have been added to provide support for rendering high-resolution images on high-DPI monitors.
162 <p>
163 Two constructors have been added to the <code>Image</code> class. They accept
164 image-provider callbacks that allow clients to supply resolution-dependent versions
165 of images:
166 </p>
167 <pre>public interface ImageDataProvider {
168 public ImageData getImageData (int zoom);
169 }
170 public interface ImageFileNameProvider {
171 public String getImagePath (int zoom);
172 }</pre>
173
174 <p>
175 Depending on the user's monitor configuration, SWT will request images with the
176 corresponding zoom level. Here's an example that displays 3 original images,
177 followed by variants whose resolution changes depending your monitor's resolution:
178 <a href="http://git.eclipse.org/c/platform/eclipse.platform.swt.git/plain/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet367.java">Snippet367.java</a>.
179 </p>
180
181 <p>
182 Note that this is just the first step to support high-resolution images in
183 SWT and Eclipse-based applications. Work is underway to adopt the new APIs in
184 the platform. Futhermore, more work in SWT is required to properly
185 support drawing into high-resolution images via <code>GC</code>.
186 </p>
187 </td>
188 </tr>
189
190 <tr id="evaluate">
191 <td class="title">API to choose security context in Browser#evaluate()</td>
192 <td class="content">
193 A new API <code>Browser#evaluate(String script, boolean trusted)</code> has been added that allows the client to run
194 Javascript code in the Chrome security context or in the normal security context for <code>SWT.MOZILLA</code>
195 style browsers.
196 </td>
197 </tr>
198
199 <tr>
200 <td id="m7" class="section" colspan="2"><h2>Milestone M7</h2></td>
201 </tr>
202
203 <tr id="xulr-31-support">
204 <td class="title">SWT Browser now supports XULRunner 31.x</td>
205 <td class="content">
206 An SWT Browser created with style <code>SWT.MOZILLA</code> can now be used with the XULRunner 31.x
207 runtime on Windows and Mac OSX.
208 <p>
209 Note: XULRunner 31 support is not available on Linux for Mars release.
210 For details, please see <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=467646">Bug 467646</a>.
211 </p>
212 </td>
213 </tr>
214
215 <tr>
216 <td id="rc1" class="section" colspan="2"><h2>Release Candidate 1</h2></td>
217 </tr>
218
219 <tr id="auto-text-direction">
220 <td class="title">BIDI: SWT Controls now support AUTO text direction</td>
221 <td class="content">
222 The auto (a.k.a. "contextual") text direction implies that the base text direction is derived from the direction
223 of the first strong (either LTR or RTL) bidi character. Auto text direction is the most appropriate choice when
224 the text content is not known in advance and, hence, it is not yet possible to decide which base direction value,
225 LTR or RTL, would be most suitable at run time.
226 <br />
227 Support for auto text direction has been introduced at the SWT Control level. Auto text direction can be applied
228 through the existing <code>Control#setTextDirection</code> API. The new value for auto direction is expressed as
229 the bitwise disjunction of (<code>SWT#LEFT_TO_RIGHT</code> | <code>SWT#RIGHT_TO_LEFT</code>) bit fields. When
230 applied onto a Composite control, the auto base direction (similarly to LTR and RTL ones) is inherited by the
231 child components.
232 <br />
233 For example:
234 <ul>
235 <li><code>org.eclipse.swt.widgets.Table.setTextDirection(SWT.LEFT_TO_RIGHT | SWT.RIGHT_TO_LEFT);</code></li>
236 </ul>
237 Result:
238 <p>
239 <img src="images/auto-text-direction.png" alt=""/>
240 </p>
241 <b>Note:</b> Auto text direction is not yet supported:
242 <ul>
243 <li>in StyledText</li>
244 <li>upon Control creation (but only through <code>Control#setTextDirection</code> call once the Control has been created)</li>
245 </ul>
246 </td>
247 </tr>
Niraj Modie29ee6b2015-01-30 15:07:18 +0530248
249 <tr>
250 <td colspan="2"/>
251 </tr>
252</table>
253</body>
254</html>