Niraj Modi | e29ee6b | 2015-01-30 15:07:18 +0530 | [diff] [blame] | 1 | <?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"> |
| 9 | p, table, td, th { font-family: verdana, arial, helvetica, geneva; font-size: 10pt} |
| 10 | pre { font-family: "Courier New", Courier, mono; font-size: 10pt} |
| 11 | h2 { font-family: verdana, arial, helvetica, geneva; font-size: 18pt; font-weight: bold ; line-height: 14px} |
| 12 | code { font-family: "Courier New", Courier, mono; font-size: 10pt} |
| 13 | sup { font-family: verdana, arial, helvetica, geneva; font-size: 10px} |
| 14 | h3 { font-family: verdana, arial, helvetica, geneva; font-size: 14pt; font-weight: bold} |
| 15 | li { font-family: verdana, arial, helvetica, geneva; font-size: 10pt} |
| 16 | h1 { font-family: verdana, arial, helvetica, geneva; font-size: 24pt; font-weight: bold} |
| 17 | body { 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} |
| 20 | a.bar:link { text-decoration: none; color: #FFFFFF} |
| 21 | a.bar:visited { color: #FFFFFF; text-decoration: none} |
| 22 | a.bar:hover { color: #FFFFFF; text-decoration: underline} |
| 23 | a.bar { color: #FFFFFF} |
| 24 | |
| 25 | .section {font-size: 20px; font-weight: bold;} |
| 26 | table.news td {border-top: solid thin black;} |
| 27 | table.news tr {vertical-align: top;} |
| 28 | table.news tr td.title {vertical-align: top; width: 30%; font-weight: bold;} |
| 29 | table.news tr td.content {vertical-align: top; width: 70%;} |
| 30 | </style> |
| 31 | <title>Eclipse "New and Noteworthy" 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 Modi | 0fc1a2f | 2015-02-02 15:44:09 +0530 | [diff] [blame] | 38 | <li><a href="#m3">Milestone M3</a></li> |
| 39 | <li><a href="#m4">Milestone M4</a></li> |
Niraj Modi | e29ee6b | 2015-01-30 15:07:18 +0530 | [diff] [blame] | 40 | <li><a href="#m5">Milestone M5</a></li> |
Lakshmi Shanmugam | 381968b | 2015-08-17 16:46:42 +0530 | [diff] [blame] | 41 | <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 Modi | e29ee6b | 2015-01-30 15:07:18 +0530 | [diff] [blame] | 44 | </ul> |
| 45 | |
| 46 | |
| 47 | <table class="news" border="0" cellpadding="10" cellspacing="0" width="80%" summary="news entries"> |
| 48 | |
| 49 | <tr> |
Niraj Modi | 0fc1a2f | 2015-02-02 15:44:09 +0530 | [diff] [blame] | 50 | <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 Modi | e29ee6b | 2015-01-30 15:07:18 +0530 | [diff] [blame] | 107 | <td id="m5" class="section" colspan="2"><h2>Milestone M5</h2></td> |
| 108 | </tr> |
| 109 | |
Niraj Modi | 0fc1a2f | 2015-02-02 15:44:09 +0530 | [diff] [blame] | 110 | <tr id="transparent-bg"> |
Niraj Modi | e29ee6b | 2015-01-30 15:07:18 +0530 | [diff] [blame] | 111 | <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 Shanmugam | 381968b | 2015-08-17 16:46:42 +0530 | [diff] [blame] | 153 | |
| 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 Modi | e29ee6b | 2015-01-30 15:07:18 +0530 | [diff] [blame] | 248 | |
| 249 | <tr> |
| 250 | <td colspan="2"/> |
| 251 | </tr> |
| 252 | </table> |
| 253 | </body> |
| 254 | </html> |