| <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| <html> |
| <head> |
| <meta name="copyright" content="Copyright (c) Eclipse contributors and others 2013. 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=ISO-8859-1"/> |
| <link rel="stylesheet" href="default_style.css" charset="ISO-8859-1" type="text/css"/> |
| <style type="text/css"> |
| table.news td {border-top: solid thin black;} |
| 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; width: 30%; font-weight: bold;} |
| table.news tr td.content {vertical-align: top; width: 70%;} |
| </style> |
| <title>Eclipse Project Kepler - New and Noteworthy</title> |
| </head> |
| <body> |
| |
| <h2>Platform and Equinox API</h2> |
| |
| <!-- ****************** START OF N&N TABLE ****************** --> |
| <table class="news" cellpadding="10" cellspacing="0"> |
| <tbody> |
| <!-- ******************** Platform ********************** --> |
| <tr> |
| <td id="Platform" class="section" colspan="2"><h2>Platform Changes</h2></td> |
| </tr> |
| |
| <tr id="e4-api"> |
| <td class="title">Initial Eclipse 4 API released</td> |
| <td class="content"> |
| The first set of official API based on the new Eclipse Platform 4 architecture is now available. |
| This is the first step in allowing developers to use the new simpler and more powerful mechanisms |
| to build Eclipse plug-ins and applications. |
| <p> |
| This API is comprised of two basic concepts: |
| </p><p> |
| <b>The user interface model</b>: The content of this model describes the structure of the user interface. |
| The Eclipse Platform reacts to changes in this model by updating the presentation, and the complete |
| model is now available through the new API. |
| </p><p> |
| Note that the model represents everything on the screen and these elements can be modified |
| by your code (see the example below). |
| </p><p> |
| <b>IEclipseContext / Dependency Injection (DI)</b>: Contexts are containers of UI runtime state |
| including all the available services. The typical Eclipse Platform 4 pattern is that contributions |
| are created and configured through dependency injection based on state and services found in the local |
| context for that model element. |
| </p><p> |
| Here are a few links to more information about the UI Model, the services and DI (the Javadoc and supporting |
| Eclipse documentation will be available before Kepler is released): |
| </p> |
| <ul> |
| <li><a href="http://www.eclipsecon.org/2013/sites/eclipsecon.org.2013/files/FormalAPI.pdf">EclipseCon 2013 API Slides</a></li> |
| <li><a href="http://www.vogella.com/articles/EclipseRCP/article.html">Lars' RCP Tutorial</a></li> |
| <li><a href="http://www.vogella.com/articles/Eclipse4Services/article.html">Lars' Services Tutorial</a></li> |
| <li><a href="http://eclipsesource.com/blogs/2013/04/18/eclipse-4-e4-tutorial-behavior-annotations/">Jonas Helming's DI Tutorials</a></li> |
| </ul> |
| <p> |
| There is quite a lot of information already available for Eclipse Platform 4. While parts of the API are just being |
| formalized now, most of the concepts and API existed in provisional form in previous Eclipse 4 releases. |
| </p><p> |
| Just to give a taste of what working in a modeled UI is all about, here's a code snippet showing |
| how to get a 'standard' Command handler to toggle the visibility of the 'Quick Access' text field |
| that appears in the top trim. First we gain access to the model by getting the MApplication as a |
| 'service'. Form there we can access the EModelService and use it to find the model element |
| representing the search in the UI. Then it's just a simple matter of toggling the element's |
| 'toBeRendered' flag to get it to (dis)appear. |
| </p> |
| <pre> |
| public Object execute(ExecutionEvent e) throws ExecutionException { |
| IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindowChecked(e); |
| MApplication theApp = (MApplication) window.getService(MApplication.class); |
| MWindow activeWin = theApp.getSelectedElement(); |
| EModelService ms = activeWin.getContext().get(EModelService.class); |
| EPartService ps = activeWin.getContext().get(EPartService.class); |
| MToolControl search = (MToolControl) ms.find("SearchField", activeWin); |
| if (search != null) { |
| search.setToBeRendered(!search.isToBeRendered()); |
| window.getShell().layout(true, true); |
| } |
| return null; |
| } |
| </pre> |
| </td> |
| </tr> |
| |
| <tr id="ua-lucene"> |
| <td class="title">Migrated to Lucene 3.5</td> |
| <td class="content"> |
| The Eclipse platform help system has migrated from Lucene 2.9.1 to Lucene 3.5. |
| This change brings improved performance and many bug fixes in help search. |
| Some old help system API related to Lucene has been changed or removed as part |
| of this fix. Refer to the platform 4.3 migration guide for more details. |
| </td> |
| </tr> |
| |
| <tr id="ant184"> |
| <td class="title">Platform updated to Ant 1.8.4</td> |
| <td class="content"> |
| The platform has been updated to use Apache Ant version 1.8.4. To see what is new in version 1.8.4 you can |
| check the <a href="http://apache.mirrors.tds.net/ant/README.html">Apache Ant what's new</a>. |
| </td> |
| </tr> |
| |
| |
| <!-- *********************** SWT *********************** --> |
| <tr> |
| <td id="SWT" class="section" colspan="2"><h2>SWT Changes</h2></td> |
| </tr> |
| |
| <tr id="xulrunner64"> |
| <td class="title">XULRunner on 64-bit Windows</td> |
| <td class="content">The browser widget now supports the embedding of XULRunner on Windows x86_64.</td> |
| </tr> |
| |
| <tr id="bidi"> |
| <td class="title">New SWT color constant for hyperlinks</td> |
| <td class="content"> |
| A new constant (SWT_COLOR_LINK_FOREGROUND) has been added that returns the native color of hyperlinks on all platforms. |
| <p><img src="images/linkColor.png" alt=""/></p> |
| </td> |
| </tr> |
| |
| <tr id="linkColor"> |
| <td class="title">BIDI Text Direction</td> |
| <td class="content"> |
| New API has been added to allow text direction to be set independent of the widget orientation. |
| Note that this API is currently only implemented on Windows. |
| <p>For more info see <a href="http://git.eclipse.org/c/platform/eclipse.platform.swt.git/tree/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet364.java">Snippet 364</a>. |
| </p> |
| <p><img src="images/bidi.png" alt=""/></p> |
| </td> |
| </tr> |
| |
| </tbody> |
| <!-- ****************** END OF N&N TABLE ****************** --> |
| </table> |
| |
| <p align="center"><a href="eclipse-news-part2.html">Previous</a> <a href="eclipse-news-part4.html">Next</a></p> |
| |
| </body> |
| </html> |