blob: 2e95cfe489d7598c2e80d638c42d7b0adb0af1d8 [file] [log] [blame]
<!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 2020. 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.17 - 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>
<!-- ****************** START OF N&N TABLE****************** -->
<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="deferred-image-descriptor"><!-- https://bugs.eclipse.org/477391 -->
<td class="title"><a href="#deferred-image-descriptor">DeferredImageDescriptor API</a></td>
<td class="content">
The <code>DeferredImageDescriptor</code> API has been added to JFace
allowing the creation of <code>ImageDescriptor</code> instances from
a URL, where the calculation of the URL is potentially costly
(because it might involve searching through multiple directories or
bundles/fragments on disk).
<p>The new API can be called using
<code>ImageDescriptor.createFromSupplier</code> along with a
<code>Supplier&lt;URL&gt;</code> which will calculate on demand the
URL when the image is acessed for the first time. This allows images
registered at startup in an <code>ImageRegistry</code> to be deferred
until the first time the image is shown on screen.</p>
<p>Old way:</p>
<pre><code>URL url = FileLocator.find(bundle, path);
descriptor = ImageDescriptor.createFromURL(url);
</code></pre>
<p>New way:</p>
<pre><code>descriptor = ImageDescriptor.createFromURLSupplier(
() -&gt; FileLocator.find(bundle, path)
);
</code></pre>
</td>
</tr>
<tr id="system-color-in-workbench-css"><!-- https://bugs.eclipse.org/565775 -->
<td class="title"><a href="#system-color-in-workbench-css">Use System colors in workbench CSS theme files</a></td>
<td class="content">
In workbench theme CSS files, you can now reference the system colors defined by SWT. To do so, use the
SWT field name replacing uderscores <code>_</code> by dashes <code>-</code> and prefixing with hash <code>#</code>.
<p>
For example, to reference the system color <code>SWT.COLOR_LIST_SELECTION_BACKGROUND</code>, you can use
<code>#COLOR-LIST-SELECTION-BACKGROUND</code> in your .css files.
</p>
</td>
</tr>
<tr id="widget-factories"> <!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=551589 -->
<td class="title"><a href="#widget-factories">Additional widget factories</a></td>
<td class="content">
Factories for additional SWT widgets have been created: SashFactory, ShellFactory and SectionFactory.
</td>
</tr>
<!-- ******************** End of Platform ********************** -->
<!-- *********************** SWT *********************** -->
<tr>
<td id="SWT" class="section" colspan="2"><h2>SWT Changes</h2></td>
</tr>
<tr id="swt-chromium"> <!-- https://bugs.eclipse.org/549585 -->
<td class="title"><a href="#swt-chromium">Support for Chromium browser renderer</a></td>
<td class="content">
SWT now supports Chromium as a browser renderer on all platforms using a new <code>SWT.CHROMIUM</code> constant. Please see this
<a href="https://www.eclipse.org/swt/faq.php#howusechromium">FAQ</a> entry for details on using the Chromium style browser.
</td>
</tr>
<tr id="swt-device-free-constructors"> <!-- https://bugs.eclipse.org/563560 -->
<td class="title"><a href="#swt-device-free-constructors">Colors have new Device free constructors</a></td>
<td class="content">
Starting from Eclipse 4.16, SWT no longer required Colors to be disposed, with Eclipse 4.17
new constructors are available which don't require a Device when creating Colors.
</td>
</tr>
<tr id="dark-win32-menu"> <!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=562454 -->
<td class="title"><a href="#dark-win32-menu">Support for dark theme Menu under Windows10</a></td>
<td class="content">
SWT supports dark theme <code>Menu</code> under Windows10 as below:
<p>
Old:
</p>
<p>
<img src="images/menu-background-old.png" alt="" />
</p>
<p>
New:
</p>
<p>
<img src="images/menu-background-dark.png" alt="" />
</p>
<p>
On <b>Windows 10</b>, all the dark theme tweaks including the <a href="#dark-win32-menu">dark menu</a> can be disabled using the
<code>org.eclipse.swt.internal.win32.disableCustomThemeTweaks</code> Java property.<br/>
For Example: add this VM argument in eclipse.ini or on the command line after <b><code>-vmargs</code></b>:
</p>
<pre><b>-Dorg.eclipse.swt.internal.win32.disableCustomThemeTweaks=true</b></pre>
</td>
</tr>
<tr id="dark-win32-combo"> <!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=562454 -->
<td class="title"><a href="#dark-win32-combo">Improved dark theme Combo under Windows</a></td>
<td class="content">
SWT supports improved dark theme <code>Combo</code> under Windows10 as below:
<p>
Old:
</p>
<p>
<img src="images/combo-win32-dark-old.png" alt="" />
</p>
<p>
New:
</p>
<p>
<img src="images/combo-win32-dark-new.png" alt="" />
</p>
<p>
On <b>Windows 10</b>, all the dark theme tweaks including the <a href="#dark-win32-combo">dark combo</a> can be disabled using the
<code>org.eclipse.swt.internal.win32.disableCustomThemeTweaks</code> Java property.<br/>
For Example: add this VM argument in eclipse.ini or on the command line after <b><code>-vmargs</code></b>:
</p>
<pre><b>-Dorg.eclipse.swt.internal.win32.disableCustomThemeTweaks=true</b></pre>
</td>
</tr>
<!-- *********************** End of SWT *********************** -->
</tbody>
</table>
<!-- ****************** END OF N&N 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>