|  | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> | 
|  | <html xmlns="http://www.w3.org/1999/xhtml"> | 
|  | <head> | 
|  | <meta name="copyright" content="Copyright (c) Eclipse contributors and others 2015. This page is made available under license. For full details, see the LEGAL section in the documentation that contains this page."/> | 
|  | <meta http-equiv="Content-Language" content="en-us"/> | 
|  | <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> | 
|  | <link rel="STYLESHEET" href="news.css" type="text/css"/> | 
|  | <style type="text/css"> | 
|  | body {max-width: 900px;} | 
|  | table.news col.title {width: 30%;} | 
|  | /*img {max-width: 520px;}*/ | 
|  | table.news {table-layout: fixed; border-collapse: collapse; width: 100%;} | 
|  | table.news td {border-top: solid thin black; padding: 10px; overflow: visible;} | 
|  | table.news tr {vertical-align: top;} | 
|  | table.news tr td.section {font-size: 20px; font-weight: bold;} | 
|  | table.news tr td.title {vertical-align: top; font-weight: bold;} | 
|  | table.news tr td.content {vertical-align: top;} | 
|  | </style> | 
|  | <title>Eclipse Project Mars - New and Noteworthy</title> | 
|  | </head> | 
|  |  | 
|  | <body> | 
|  | <h2>Platform and Equinox API</h2> | 
|  | <ul> | 
|  | <li><a href="#Platform">Platform Changes</a></li> | 
|  | <li><a href="#Equinox">Equinox Changes</a></li> | 
|  | <li><a href="#SWT">SWT Changes</a></li> | 
|  | </ul> | 
|  |  | 
|  | <table class="news"> | 
|  | <colgroup> | 
|  | <col class="title" /> | 
|  | <col /> | 
|  | </colgroup> | 
|  | <tbody> | 
|  | <!-- ******************** Platform ********************** --> | 
|  | <tr> | 
|  | <td id="Platform" class="section" colspan="2"><h2>Platform Changes</h2></td> | 
|  | </tr> | 
|  |  | 
|  | <tr id="Job-groups-api"> | 
|  | <td class="title">Job groups API</td> | 
|  | <td class="content"> | 
|  | A JobGroup API (<code>org.eclipse.core.runtime.jobs.JobGroup</code>) has been added that makes it | 
|  | easier to implement parallel algorithms in Eclipse. | 
|  | <p>Job groups provide a simple way to manage a set of Eclipse Jobs that are responsible | 
|  | for pieces of the same large task. The API supports throttling, joining, cancellation, | 
|  | combined progress and error reporting for all of the jobs in the group. The job grouping | 
|  | functionality can be used to implement performance critical algorithms using cooperating | 
|  | jobs. More information can be found in | 
|  | <b><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=432049">bug 432049</a></b>.</p> | 
|  | </td> | 
|  | </tr> | 
|  |  | 
|  | <tr id="jface-structuredselection"> | 
|  | <td class="title">Direct access to structured selection of a JFace Viewer</td> | 
|  | <td class="content"> | 
|  | The JFace <code>StructuredViewer</code> class now has an API to access the <code>IStructuredSelection</code> directly. | 
|  | Examples: | 
|  | <pre>	IStructuredSelection sel = viewer.getStructuredSelection(); | 
|  | ITreeSelection treeSel = treeViewer.getStructuredSelection();</pre> | 
|  | Bye bye <code>(IStructuredSelection) viewer.getSelection()</code>, we won't miss you! | 
|  | </td> | 
|  | </tr> | 
|  |  | 
|  | <tr id="AbstractSelectionDialog"> | 
|  | <td class="title">New API: AbstractSelectionDialog</td> | 
|  | <td class="content"> | 
|  | <code>org.eclipse.jface.dialogs.AbstractSelectionDialog</code> is an enhanced version of the existing | 
|  | <code>org.eclipse.ui.dialogs.SelectionDialog</code>. | 
|  | It has been added to the org.eclipse.jface bundle, where it is also available for Eclipse 4 RCP applications. | 
|  |  | 
|  | <p>The AbstractSelectionDialog API supports generics and varargs. | 
|  | </p> | 
|  | </td> | 
|  | </tr> | 
|  |  | 
|  | <tr id="ant-version-upgrade"> | 
|  | <td class="title">Ant 1.9.4</td> | 
|  | <td class="content"> | 
|  | Eclipse has adopted Ant version 1.9.4. | 
|  | </td> | 
|  | </tr> | 
|  |  | 
|  | <tr id="step-filter-ext-point"> | 
|  | <td class="title">New stepFilters extension point</td> | 
|  | <td class="content"> | 
|  | The new <b>stepFilters</b> extension point allows clients to provide new step filters for existing debug models without having to extend those models. | 
|  | <p> | 
|  | To use the new extension point, clients will require a dependency on <code>org.eclipse.debug.core</code>. Clients can then access any contributed step filters | 
|  | using the new API: <code>org.eclipse.debug.core.DebugPlugin.getStepFilters(String)</code>. | 
|  | </p> | 
|  | <p> | 
|  | An example of the new extension point: | 
|  | </p> | 
|  | <pre> | 
|  | <extension point="org.eclipse.debug.core.stepFilters"> | 
|  | <stepFilter | 
|  | class="com.example.ExampleStepFilter" | 
|  | modelIdentifier="com.example.debug.model"> | 
|  | </stepFilter> | 
|  | </extension> | 
|  | </pre> | 
|  | </td> | 
|  | </tr> | 
|  |  | 
|  | <tr id="resource-notifications"> | 
|  | <td class="title">New debug option for resource change notifications</td> | 
|  | <td class="content"> | 
|  | In order to help troubleshooting problems with resource change listeners, | 
|  | a new debug option was added to print information about which event triggers which | 
|  | listener. This option gives a better picture of the flow of all workspace | 
|  | change events and how other plugins react to those changes. To enable the new | 
|  | option, add | 
|  | <pre> | 
|  | org.eclipse.core.resources/debug=true | 
|  | org.eclipse.core.resources/notifications=true</pre> | 
|  | in your <a href="http://help.eclipse.org/topic/org.eclipse.pde.doc.user/guide/tools/launchers/tracing.htm">.options file</a> | 
|  | or use the <b>General > Tracing</b> preference page to | 
|  | enable it. | 
|  | </td> | 
|  | </tr> | 
|  |  | 
|  | <tr id="i18n-for-cssbridge"> | 
|  | <td class="title">I18n support for CSS bridge</td> | 
|  | <td class="content"> | 
|  | Internationalization and localization support for the CSS bridge has been added. More information can be found in <b><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=437902">bug 437902</a></b> | 
|  | <p> | 
|  | Example: | 
|  | </p> | 
|  | <p> | 
|  | 1. Modified files needed to enable the i18n support in the CSS bridge for the Polish locale: | 
|  | </p> | 
|  | <img src="images/i18n_for_cssbridge-required_mod_files.png" alt="Modified files for the i18n support"/> | 
|  | <p> | 
|  | 2. Launch the Eclipse instance with the '-nl pl' command line arguments. Running CSS bridge with Polish locale: | 
|  | </p> | 
|  | <img src="images/i18n_for_cssbridge-colorAndFontDialog.png" alt="CSS bridge with polish locale"/> | 
|  | </td> | 
|  | </tr> | 
|  |  | 
|  | <tr id="runtime-locale-type-change"> | 
|  | <td class="title">Changed type of TranslationService.LOCALE</td> | 
|  | <td class="content"> | 
|  | The type of the <code>LOCALE</code> value in the application context was changed from | 
|  | <code>String</code> to <code>Locale</code> (for performance reasons). | 
|  | <p>If you are injecting <code>org.eclipse.e4.core.services.translation.TranslationService.LOCALE</code> in your code, you | 
|  | need to change the type from <code>String</code> to <code>Locale</code>.</p> | 
|  | </td> | 
|  | </tr> | 
|  |  | 
|  | <tr id="css-transparency"> | 
|  | <td class="title">CSS support for new COLOR-TRANSPARENT constant</td> | 
|  | <td class="content"> | 
|  | The CSS engine now supports the COLOR-TRANSPARENT property. The implementation uses SWT's new SWT#COLOR_TRANSPARENT pseudo-color. | 
|  | COLOR-TRANSPARENT allowed to simplify the dark theme significantly. | 
|  | <!-- TODO: Could add a link to an API description, but not to a bug. --> | 
|  | </td> | 
|  | </tr> | 
|  |  | 
|  | <tr id="css-inherit-prop"> | 
|  | <td class="title">New 'inherit' value for CSS properties</td> | 
|  | <td class="content"> | 
|  | When CSS property gets 'inherit' value then the parent's value will be applied. See more in <b><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=419377">bug 419377</a></b> | 
|  | <p> | 
|  | <img src="images/css-inherit-prop.png" alt="" /> | 
|  | </p> | 
|  | </td> | 
|  | </tr> | 
|  |  | 
|  | <tr id="css-section-prop"> | 
|  | <td class="title">New CSS properties for the Section title bar</td> | 
|  | <td class="content"> | 
|  | The Forms Section title bar can now be styled with special CSS properties for a Section: | 
|  | <p> | 
|  | <img src="images/section_css.png"  alt="CSS for Section"/> | 
|  | </p> | 
|  | <p> | 
|  | By using the same color for the background-color-titlebar and | 
|  | background-color-gradient-titlebar CSS property, | 
|  | like in the sample above, you get a solid background color. | 
|  | </p> | 
|  | <p>For more information see <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=431635">bug 431635</a>.</p> | 
|  | </td> | 
|  | </tr> | 
|  | <tr id="css-section-multiple"> | 
|  | <td class="title">Support for multiple style sheet rules for the same selector</td> | 
|  | <td class="content"> | 
|  | The CSS engines now scans all style sheets and combines all matching rules into a common style. This allows plug-ins to override previously defined styles: | 
|  | <p> | 
|  | <img src="images/css_override.png"  alt="CSS override"/> | 
|  | </p> | 
|  | <p>For more information see <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=458342">bug 458342</a>.</p> | 
|  | </td> | 
|  | </tr> | 
|  |  | 
|  | <tr id="help-service"> | 
|  | <td class="title">Provisional EHelpService service</td> | 
|  | <td class="content"> | 
|  | Eclipse now provides the provisional help service <code>EHelpService</code> in the <code>IEclipseContext</code>. | 
|  | <code>EHelpService</code> is a thin wrapper to the <code>WorkbenchHelpSystem</code> in the Eclipse IDE and allows customers to | 
|  | provide their custom implementation in Eclipse RCP applications. | 
|  | </td> | 
|  | </tr> | 
|  |  | 
|  | <tr id="message_registry"> | 
|  | <td class="title">Message registry</td> | 
|  | <td class="content"> | 
|  | Added support for binding control attributes for localization to a value of a messages class. | 
|  | By using such a binding, the dynamic update of widgets due to locale changes at runtime  (<i>Eclipse Translation Pattern</i>) | 
|  | gets easier to implement, since the localized widgets (e.g. <code>Labels</code>, <code>Buttons</code>, etc.) | 
|  | are managed by the message registry. | 
|  | <p> | 
|  | To use the message binding for a messages class named <code>MyMessages</code>, you need to create a specialized | 
|  | <code>BaseMessageRegistry</code> class like shown below: | 
|  | </p> | 
|  | <pre>@Creatable | 
|  | public class MyMessageRegistry extends BaseMessageRegistry<MyMessages> { | 
|  |  | 
|  | @Override | 
|  | @Inject | 
|  | public void updateMessages(@Translation MyMessages messages) { | 
|  | super.updateMessages(messages); | 
|  | } | 
|  | }</pre> | 
|  | <p> | 
|  | It can then be used like this: | 
|  | </p> | 
|  | <pre>@Inject | 
|  | MyMessageRegistry registry; | 
|  |  | 
|  | @PostConstruct | 
|  | public void init(Composite parent) { | 
|  | Label myFirstLabel = new Label(parent, SWT.WRAP); | 
|  | Label mySecondLabel = new Label(parent, SWT.NONE); | 
|  | Label myThirdLabel = new Label(parent, SWT.NONE); | 
|  |  | 
|  | // bind myFirstLabel via method reference | 
|  | registry.register(myFirstLabel::setText, (m) -> m.firstLabelMessage); | 
|  | // bind mySecondLabel via method name | 
|  | registry.register(mySecondLabel, "setText", "secondLabelMe | 
|  | ssage"); | 
|  | // bind myThirdLabel via property name | 
|  | registry.registerProperty(myThirdLabel, "text", "thirdLabelMessage"); | 
|  | }</pre> | 
|  | <p> | 
|  | The <code>BaseMessageRegistry</code> supports bindings for Java version before Java 8. | 
|  | </p> | 
|  | </td> | 
|  | </tr> | 
|  |  | 
|  | <tr id="e4tools-integration"> | 
|  | <td class="title">e4 tools integrated into Eclipse platform</td> | 
|  | <td class="content"> | 
|  | Parts of the e4 tools have been integrated into the Eclipse platform project. Mainly the Eclipse 4 application | 
|  | model editor and related wizards are now directly available via the Eclipse update site. The e4 project wizard has been | 
|  | integrated into PDE, see the PDE section for more information. | 
|  | <p> | 
|  | <img src="images/updatesitee4tools.png" alt=""/> | 
|  | </p> | 
|  | </td> | 
|  | </tr> | 
|  | <tr id="xpath"> | 
|  | <td class="title">XPath expressions for parent element ID in Model Fragments</td> | 
|  | <td class="content"> | 
|  | When specifying the target for a fragment contribution, you can now use an | 
|  | XPath expression or a comma-separated list of element IDs instead of a single | 
|  | element ID. | 
|  | <p>The XPath expression uses JXPath internally, so it should reference attributes of the model object, | 
|  | not the XML file.</p> | 
|  | <p>These 2 samples are equivalent:</p> | 
|  | <code>parentElementId="MyMenu1, MyMenu2"</code> | 
|  | <br /> | 
|  | <code>parentElementId="xpath://*[@elementId='MyMenu1' or @elementId='MyMenu2']"</code> | 
|  | <p>This feature opens up the possibility to:</p> | 
|  | <ol> | 
|  | <li>Add a fragment to multiple places in a model</li> | 
|  | <li>Target a fragment to multiple application models</li> | 
|  | <li>Specify attributes (such as tags) as the target</li> | 
|  | </ol> | 
|  | </td> | 
|  | </tr> | 
|  |  | 
|  | <tr id="e4model-icons-displayed"> | 
|  | <td class="title">Icons are displayed in model editor and model spy</td> | 
|  | <td class="content"> | 
|  | If an Icon URI is defined, it is now displayed in the model editor and in the model spy: | 
|  | <p> | 
|  | <img src="images/model-editor-icons.png" alt=""/> | 
|  | </p> | 
|  | </td> | 
|  | </tr> | 
|  |  | 
|  | <tr id="default-darkthemecss-forms"> | 
|  | <td class="title">Better CSS support for Forms-based editors</td> | 
|  | <td class="content"> | 
|  | CSS support for Forms-based editors has been improved. The dark theme included in the Eclipse SDK | 
|  | takes advantages of that, as depicted in the following screenshot: | 
|  | <p> | 
|  | <img src="images/formheader.png" alt=""/> | 
|  | </p> | 
|  | </td> | 
|  | </tr> | 
|  |  | 
|  | <tr id="default-darkthemecss-heapmonitor"> | 
|  | <td class="title">Heap Monitor can be styled, dark theme uses that</td> | 
|  | <td class="content"> | 
|  | The heap monitor has been extended to allow to set its background color, and the dark theme uses that. The following | 
|  | screenshot show the heap monitor after the change. | 
|  | <p> | 
|  | <img src="images/heap-after.png" alt=""/> | 
|  | </p> | 
|  | </td> | 
|  | </tr> | 
|  |  | 
|  |  | 
|  | <!-- ******************** Equinox ********************** --> | 
|  | <tr> | 
|  | <td id="Equinox" class="section" colspan="2"><h2>Equinox Changes</h2></td> | 
|  | </tr> | 
|  |  | 
|  | <tr id="getAdapter"> | 
|  | <td class="title">IAdaptable#getAdapter(Class) generified</td> | 
|  | <td class="content"> | 
|  | The <code>org.eclipse.core.runtime.IAdaptable</code> interface has been enhanced to return the requested type from | 
|  | its <code>getAdapter</code> method: | 
|  |  | 
|  | <pre>public <T> T getAdapter(Class <T> adapter);</pre> | 
|  |  | 
|  | <p>Implementations of this method should also be updated. This has already been done | 
|  | for some platform APIs like <code>org.eclipse.ui.part.WorkbenchPart</code>. Callers and implementers | 
|  | of these APIs can see compile errors or warnings due to this binary-compatible change.</p> | 
|  |  | 
|  | <p>For more information, see <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=442021#c25">bug 442021</a>.</p> | 
|  | </td> | 
|  | </tr> | 
|  |  | 
|  | <tr id="jetty9"> | 
|  | <td class="title">Updated to Jetty version 9</td> | 
|  | <td class="content"> | 
|  | Updated to the Jetty version 9.2.3 to provide the servlet container for the Equinox Http Service implementation.  Jetty 9 implements the Servlet 3.1 specification.  Both Jetty 9 and Servlet 3.1 require Java 7.  Java 7 is now required in order to run the Equinox Http Service and the Eclipse Help system. | 
|  | </td> | 
|  | </tr> | 
|  |  | 
|  | <tr id="http-white-board"> | 
|  | <td class="title">New Http Whiteboard implementation</td> | 
|  | <td class="content"> | 
|  | <ul> | 
|  | <li>New implementation of Http Whiteboard Draft specification. See <a href="http://www.osgi.org/Specifications/Drafts">Current Drafts</a>.</li> | 
|  | <li>Simplify your web development by using whiteboard pattern to create assemblies of servlets, filters, context listeners and grouping them logically in shared contexts.</li> | 
|  | <li>The implementation is a near feature complete implementation of the draft specification.</li> | 
|  | <li>In addition to the Http Whiteboard specification, the Equinox Http Service implementation provides a complete imperative API in order to support the traditional direct registration programming model.</li> | 
|  | <li>Supports Servlet 3.0 features.</li> | 
|  | <li>Ongoing work will continue to provide more tests, improve support for Servlet 3.1 features and to improve stability and performance.</li> | 
|  | </ul> | 
|  | </td> | 
|  | </tr> | 
|  |  | 
|  | <tr id="p2-native-dependencies"> | 
|  | <td class="title">Prompt for native dependencies</td> | 
|  | <td class="content"> | 
|  | It is now possible with p2 to express dependencies on OS packages and prompt the user to install those when they are not installed. | 
|  | <p><img src="images/os-prompt.png" alt="" /></p> | 
|  | <p>This functionality can be enabled by a new touchpoint instruction. For example:</p> | 
|  | <pre>org.eclipse.equinox.p2.touchpoint.natives.checkAndPromptNativePackage(distro:debian,package:handbrake,comparator:ge,version:0.9);</pre> | 
|  | <p>At this point, the support is limited to Ubuntu. | 
|  | <a href="https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Equinox&component=p2">Contributions</a> to add this support for other OS are welcomed.</p> | 
|  | <p>Integration with Tycho is available from 0.23.0-SNAPSHOT and above.</p> | 
|  | </td> | 
|  | </tr> | 
|  |  | 
|  |  | 
|  | <!-- *********************** SWT *********************** --> | 
|  | <tr> | 
|  | <td id="SWT" class="section" colspan="2"><h2>SWT Changes</h2></td> | 
|  | </tr> | 
|  |  | 
|  | <tr id="menuitem-tooltip"> | 
|  | <td class="title">Added API to set tooltip for MenuItem</td> | 
|  | <td class="content"> | 
|  | SWT now supports setting a tooltip on menu items via <code>MenuItem.setToolTipText()</code>. | 
|  | <p> | 
|  | For an example, see the <b>Menu</b> tab in the <a href="https://www.eclipse.org/swt/examples.php">ControlExample</a>.</p> | 
|  | <p> | 
|  | <img src="images/tooltip.png" alt="" /> | 
|  | </p> | 
|  | </td> | 
|  | </tr> | 
|  |  | 
|  | <tr id="date-time-on-gtk-spin-button"> | 
|  | <td class="title">The DateTime widget now uses GtkSpinButton on UNIX/Linux platforms</td> | 
|  | <td class="content"> | 
|  | The DateTime widget has been re-implemented to use the GtkSpinButton widget for | 
|  | <code>SWT.DATE</code> and <code>SWT.TIME</code> styles. The new look and feel is as illustrated below: | 
|  | <p><b>GTK+ 2:</b></p> | 
|  | <p> | 
|  | <img src="images/gtk2-date-time.png" alt="" /> | 
|  | </p> | 
|  | <p><b>GTK+ 3:</b></p> | 
|  | <p> | 
|  | <img src="images/gtk3-date-time.png" alt="" /> | 
|  | </p> | 
|  | </td> | 
|  | </tr> | 
|  |  | 
|  | <tr id="sleep-wakeup-deprecated-replaced"> | 
|  | <td class="title">New monitoring events added in place of SWT.Sleep and SWT.Wakeup</td> | 
|  | <td class="content"> | 
|  | The <code>SWT.Sleep</code> and <code>SWT.Wakeup</code> events have been deprecated | 
|  | in favor of the more generic events <code>SWT.PreExternalEventDispatch</code> and | 
|  | <code>SWT.PostExternalEventDispatch</code>, respectively. Clients that were written | 
|  | using the old event names should be updated to refer to the new events. | 
|  | </td> | 
|  | </tr> | 
|  |  | 
|  | <tr id="transparent-bg"> | 
|  | <td class="title">Transparent background for Control</td> | 
|  | <td class="content"> | 
|  | SWT has added support to set a <code>Control</code>'s background as transparent. The <code>Color</code> class now supports specifying an alpha value (integer: 0 to 255) for transparency. | 
|  | Calling <code>Control#setBackground(Color color)</code> with a transparent color (color with alpha value '0'), sets the control's background as transparent. | 
|  | <p><b>List of new classes and APIs:</b></p> | 
|  | <ul> | 
|  | <li>Class: <code>org.eclipse.swt.graphics.RGBA</code></li> | 
|  | <li>Constant: <code>SWT.COLOR_TRANSPARENT</code> - This is a default transparent color</li> | 
|  | <li>Methods added in <code>org.eclipse.swt.graphics.Color</code></li> | 
|  | <li><ul> | 
|  | <li><code>public Color (Device device, int red, int green, int blue, int alpha)</code></li> | 
|  | <li><code>public Color (Device device, RGB rgb, int alpha)</code></li> | 
|  | <li><code>public Color (Device device, RGBA rgba)</code></li> | 
|  | <li><code>public RGBA getRGBA </code>()</li> | 
|  | <li><code>public int getAlpha ()</code></li> | 
|  | </ul></li> | 
|  | </ul> | 
|  | <p><b>Note:</b></p> | 
|  | <ul> | 
|  | <li>Currently, SWT honors only extreme values for alpha i.e, '0'(transparent) or '255'(opaque).</li> | 
|  | <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> | 
|  | <li>Setting transparent background color for some controls works on GTK3 only, it fails on other platforms. For e.g. Table, Tree.</li> | 
|  | </ul> | 
|  | 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>. | 
|  | <p> | 
|  | <b>Snippet365 in action</b> (Controls with <code>SWT.COLOR_TRANSPARENT</code> background and Shell with gradient background image) | 
|  | </p> | 
|  | <p> | 
|  | <img src="images/transparent_control_background.png" alt="Transparent Background on Control widgets" /> | 
|  | </p> | 
|  | </td> | 
|  | </tr> | 
|  |  | 
|  | <tr id="high-dpi"> | 
|  | <td class="title">APIs for high-DPI monitor support</td> | 
|  | <td class="content"> | 
|  | New APIs have been added to provide support for rendering high-resolution images on high-DPI monitors. | 
|  | <p> | 
|  | Two constructors have been added to the <code>Image</code> class. They accept | 
|  | image-provider callbacks that allow clients to supply resolution-dependent versions | 
|  | of images: | 
|  | </p> | 
|  | <pre>public interface ImageDataProvider { | 
|  | public ImageData getImageData (int zoom); | 
|  | } | 
|  | public interface ImageFileNameProvider { | 
|  | public String getImagePath (int zoom); | 
|  | }</pre> | 
|  |  | 
|  | <p> | 
|  | Depending on the user's monitor configuration, SWT will request images with the | 
|  | corresponding zoom level. Here's an example that displays 3 original images, | 
|  | followed by variants whose resolution changes depending your monitor's resolution: | 
|  | <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>. | 
|  | </p> | 
|  |  | 
|  | <p> | 
|  | Note that this is just the first step to support high-resolution images in | 
|  | SWT and Eclipse-based applications. Work is underway to adopt the new APIs in | 
|  | the platform. Futhermore, more work in SWT is required to properly | 
|  | support drawing into high-resolution images via <code>GC</code>. | 
|  | </p> | 
|  | </td> | 
|  | </tr> | 
|  |  | 
|  | <tr id="evaluate"> | 
|  | <td class="title">API to choose security context in Browser#evaluate()</td> | 
|  | <td class="content"> | 
|  | A new API <code>Browser#evaluate(String script, boolean trusted)</code> has been added that allows the client to run | 
|  | Javascript code in the Chrome security context or in the normal security context for <code>SWT.MOZILLA</code> | 
|  | style browsers. | 
|  | </td> | 
|  | </tr> | 
|  |  | 
|  | <tr id="auto-text-direction"> | 
|  | <td class="title">BIDI: SWT Controls now support AUTO text direction</td> | 
|  | <td class="content"> | 
|  | The auto (a.k.a. "contextual") text direction implies that the base text direction is derived from the direction | 
|  | of the first strong (either LTR or RTL) bidi character. Auto text direction is the most appropriate choice when | 
|  | the text content is not known in advance and, hence, it is not yet possible to decide which base direction value, | 
|  | LTR or RTL, would be most suitable at run time. | 
|  | <br /> | 
|  | Support for auto text direction has been introduced at the SWT Control level. Auto text direction can be applied | 
|  | through the existing <code>Control#setTextDirection</code> API. The new value for auto direction is expressed as | 
|  | the bitwise disjunction of (<code>SWT#LEFT_TO_RIGHT</code> | <code>SWT#RIGHT_TO_LEFT</code>) bit fields. When | 
|  | applied onto a Composite control, the auto base direction (similarly to LTR and RTL ones) is inherited by the | 
|  | child components. | 
|  | <br /> | 
|  | For example: | 
|  | <ul> | 
|  | <li><code>org.eclipse.swt.widgets.Table.setTextDirection(SWT.LEFT_TO_RIGHT | SWT.RIGHT_TO_LEFT);</code></li> | 
|  | </ul> | 
|  | Result: | 
|  | <p> | 
|  | <img src="images/auto-text-direction.png" alt=""/> | 
|  | </p> | 
|  | <b>Note:</b> Auto text direction is not yet supported: | 
|  | <ul> | 
|  | <li>in StyledText</li> | 
|  | <li>upon Control creation (but only through <code>Control#setTextDirection</code> call once the Control has been created)</li> | 
|  | </ul> | 
|  | </td> | 
|  | </tr> | 
|  |  | 
|  | <tr id="swt-tools"> | 
|  | <td class="title">SWT Tools</td> | 
|  | <td class="content"> | 
|  | <a href="https://www.eclipse.org/swt/tools.php">SWT Tools</a> are now available in the Eclipse Platform p2 repository. | 
|  | SWT Tools provides tools for developing SWT itself (JNIGen) but also general purpose tools like  <b>Sleak</b> | 
|  | (monitors the creation and disposal of SWT graphics resources) and <b>SWT Spy</b> (prints out information like style, layout and parent | 
|  | about the widget under the cursor). | 
|  | </td> | 
|  | </tr> | 
|  |  | 
|  | </tbody> | 
|  | </table> | 
|  |  | 
|  | <p style="text-align:center"> | 
|  | <a href="jdt.php">Previous</a>     <a href="pde.php">Next</a> | 
|  | </p> | 
|  |  | 
|  | </body> | 
|  | </html> |