| <!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 2018. This page is made available under license. For full details see the LEGAL in the documentation book 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;} |
| ul {padding-left: 13px;} |
| </style> |
| <title>Eclipse Project 4.9 - New and Noteworthy</title> |
| </head> |
| |
| <body> |
| <h2>Platform and Equinox API</h2> |
| <ul> |
| <li><a href="#Platform">Platform 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="e4-lifecycle-annotations"> |
| <td class="title">Graduation of E4 Lifecycle Annotations</td> |
| <td class="content"> |
| Four annotations that have been preliminary API for some time have been graduated. |
| The relevant classes are in package |
| <a href="http://help.eclipse.org/2018-09/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/e4/ui/workbench/lifecycle/package-summary.html"> |
| org.eclipse.e4.ui.workbench.lifecycle |
| </a> |
| in the <code>org.eclipse.e4.ui.workbench</code> bundle. This includes |
| <code>PostContextCreate</code>, <code>PreSave</code>, <code>ProcessAdditions</code> |
| and <code>ProcessRemovals</code>. |
| <p> |
| These changes are part of an ongoing effort to finalize the E4 API. |
| </p> |
| </td> |
| </tr> |
| |
| <tr id="type-parameters-core-databinding"> |
| <td class="title">Type parameters on Core Databinding classes</td> |
| <td class="content"> |
| Type parameters have been added to relevant classes and methods in the |
| <code>org.eclipse.core.databinding</code> bundle. This includes |
| <code>DataBindingContext</code>, <code>IConverter</code> and <code>IValidator</code>. |
| This makes code using these classes more explicit and clear and |
| can help catching bugs in an early stage. |
| <p> |
| Code example: |
| </p> |
| <pre> |
| IObservableValue<String> o1 = ...; |
| IObservableValue<Integer> o2 = ...; |
| DataBindingContext cont = ...; |
| IConverter<String, Integer> c = IConverter.create(String.class, Integer.class, Integer::decode); |
| UpdateValueStrategy<String, Integer> s = new UpdateValueStrategy<>(); |
| s.setConverter(c); |
| cont.bindValue(o1, o2, s, null); |
| </pre> |
| <p> |
| These changes are part of an ongoing effort to make the databinding API more typesafe. |
| This effort started with the addition of type parameters to the bundles |
| <code>org.eclipse.core.databinding.property</code> and |
| <code>org.eclipse.core.databinding.observable</code>, and will continue with the bundles |
| <code>org.eclipse.core.databinding.beans</code> and <code>org.eclipse.jface.databinding</code> |
| in a future release. |
| </p> |
| <p> |
| Note: Users of databinding APIs that are not yet updated to take advantage of the type |
| parameters will find that the new type parameters cause raw type warnings in their code. |
| The best way to handle warnings from code that can't be updated is often to suppress these |
| warnings using <code>@SuppressWarnings("rawtypes")</code>. Since the implementation of |
| the databinding classes has not changed, suppressing warnings is a safe thing to do in this |
| case. |
| </p> |
| </td> |
| </tr> |
| |
| <tr id="generic-editor-folding"> |
| <td class="title">Contribute folding to the Generic Editor</td> |
| <td class="content"> |
| The Generic Editor provides a new extension point <code>org.eclipse.ui.genericeditor.foldingReconcilers</code> to customize folding. |
| <p>This example shows how LSP4E could contribute folding reconciler only for editor input supporting a language server:</p> |
| <pre> |
| <extension |
| point="org.eclipse.ui.genericeditor.foldingReconcilers"> |
| <foldingReconciler |
| class="org.eclipse.lsp4e.operations.folding.FoldingReconciler" |
| contentType="org.eclipse.core.runtime.text"> |
| <enabledWhen> |
| <with |
| variable="editorInput"> |
| <test |
| property="org.eclipse.lsp4e.hasLanguageServer"> |
| </test> |
| </with> |
| </enabledWhen> |
| </foldingReconciler> |
| </extension> |
| </pre> |
| When no other folding reconciler is registered for current document, |
| the generic editor uses a strategy which folds blocks of lines based on whitespaces and indentation: |
| <p> |
| <img src="images/generic-editor-folding.png" alt="" /> |
| </p> |
| </td> |
| </tr> |
| |
| <tr id="generic-editor-character-pair-matcher"> |
| <td class="title">Contribute character pair matcher to the Generic Editor</td> |
| <td class="content"> |
| The Generic Editor provides a new extension point <code>org.eclipse.ui.genericeditor.characterPairMatchers</code> to customize character pair matchers (matching brackets). |
| <p>The <a href="http://git.eclipse.org/c/platform/eclipse.platform.text.git/tree/org.eclipse.ui.genericeditor.examples">Generic Editor examples</a> shows how to manage matching |
| bracket for tag elements of .project file:</p> |
| <pre> |
| <extension |
| point="org.eclipse.ui.genericeditor.characterPairMatchers"> |
| <characterPairMatcher |
| class="org.eclipse.ui.genericeditor.examples.dotproject.TagCharacterPairMatcher" |
| contentType="org.eclipse.ui.genericeditor.examples.dotproject"> |
| </characterPairMatcher> |
| </extension> |
| </pre> |
| <p> |
| <img src="images/generic-editor-character-pair-matcher.png" alt="" /> |
| </p> |
| </td> |
| </tr> |
| |
| <!-- *********************** SWT *********************** --> |
| <tr> |
| <td id="SWT" class="section" colspan="2"><h2>SWT Changes</h2></td> |
| </tr> |
| |
| <tr id="calendar-weeknumbers"> |
| <td class="title">Display week numbers in DateTime calendar</td> |
| <td class="content"> |
| <p> |
| The <code>SWT.DateTime</code> calendar widget will now display week numbers, when the <code>SWT.CALENDAR_WEEKNUMBERS</code> style flag is set. |
| </p> |
| <p> |
| <img src="images/calendar-weeknumbers.png" alt="" /> |
| </p> |
| <p> |
| Note: This is a HINT and currently only works on Windows and Linux/GTK. |
| </p> |
| </td> |
| </tr> |
| |
| <tr id="alt-gr-display-post"> |
| <td class="title">New SWT.ALT_GR constant and support for non-US keyboard layouts</td> |
| <td class="content"> |
| SWT on GTK3 has added a <code>SWT.ALT_GR</code> constant which can be used to generate special characters requiring the AltGr modifier using |
| the <code>Display.post(Event)</code> method. |
| <p> |
| The <code>Display.post(Event)</code> method now supports simulating key events for non-US |
| keyboard layouts and the option to send key modifiers together with key characters in a single event. |
| </p> |
| </td> |
| </tr> |
| |
| <tr id="zoom-changed-api"> |
| <td class="title">New event SWT.ZoomChanged added</td> |
| <td class="content"> |
| A new event type <code>SWT.ZoomChanged</code> has been added to SWT to notify clients that the SWT zoom has changed. |
| Listeners for the ZoomChanged event should be added to a <code>Shell</code>. The event's detail field contains the new SWT zoom level. |
| <p> |
| Note: This operation is a hint and is supported on Windows 10 only. |
| </p> |
| </td> |
| </tr> |
| |
| <tr id="dark-theme-table-tree-header"> |
| <td class="title">Improved Table and Tree header under dark theme</td> |
| <td class="content"> |
| SWT on Windows has made the following improvements to <code>Table</code> and <code>Tree</code> headers, which improves their visibility in Dark theme: |
| <ul> |
| <li> Add a new line separator between header and the first row.</li> |
| <li> Draw the header column separators always (irrespective of the value of <code>getLinesVisible()</code>).</li> |
| </ul> |
| <p> |
| <img src="images/dark_theme_table_header.png" alt="" /> |
| </p> |
| </td> |
| </tr> |
| |
| </tbody> |
| </table> |
| <script type="text/javascript" src="scripts.js"></script> |
| |
| <p style="text-align:center"> |
| <a href="jdt.php">Previous</a> <a style="margin:1em" href=".">Up</a> <a href="pde.php">Next</a> |
| </p> |
| |
| </body> |
| </html> |