- Introduced the
SwtThread
annotation to mark that a method is only safe to use from an SWT thread. - Added
SwtExec.swtOnly()
as a high-performance, non-thread-safe version ofSwtExec.immediate()
(thanks to David Karnok). - Renamed
Shells.openOnAndBlock()
toShells.openOnBlocking()
. SwtScheduler
now honors theScheduler/Worker
contracts (thanks to David Karnok).ColumnFormat
andColumnViewerFormat
now expose all their data through getters.- Fallout from 2.0 bump of durian-rx.
- Upgraded Eclipse/SWT dependencies from Luna SR2 to Mars.2 (4.4.2 to 4.5.2).
- Changed
SwtDebug
event names to their 4.5-based names. InteractiveTest
can now pass/fail itself automatically, for self-testing gui tests.- Added
SwtRx.combo()
methods for reactive control of combo boxes. - Added
SwtMisc.requestLayout()
, which is backported from Eclipse Neon. It will be deprecated when Neon comes out.
- Ditched Guava for DurianGuava.
- Fixed a bug in
OS.calculateNative
on linux x86 systems that report theiros.arch
asi386
.
- Added
Actions.setCallback
, which allows behavior based on the actual IAction which ends up being created. - Added
SwtMisc.copyEvent()
. - Added
SwtMisc.withGcRun
andSwtMisc.withGcCompute
, which allows quick access to a GC for e.g. computing the size of some text.
SwtExec.Guarded::subscribe
now supportsCompletionStage
andCompletableFuture
, in support of improvements made to DurianRx 1.2.0.- Added
SwtMisc.setFlag()
. - Added
JFaceRx
, which exposes JFace properties as RxJava observables.
- Changed OSGi metadata Bundle-SymbolicName to
com.diffplug.durian.swt
. - OSGi metadata is now auto-generated using bnd.
- Added
ColumnViewerFormat.ColumnBuilder::setFinalSetup()
which allows us to get theViewerColumn
object and setup something such as aCellEditor
on it. ColumnViewerFormat
no longer requires aLabelProvider
, since we might set that stuff up insetFinalSetup()
.- Fixed a bug in
Shells
which caused windows to always open on the primary monitor. Actions
is now based onrunWithEvent()
rather thanrun()
. This allows implementors to get theEvent
which is causing the action to fire, which can allow more detailed actions to be taken.
- Major improvement to the
CoatMux
API. - Added
ColorPool.getSystemColor(int systemColor)
so that ColorPool can be your one-stop-shop for getting colors. - Added some methods to
SwtMisc
:Shell rootShell(Control control)
void forEachDeep(Composite root, Consumer<Control> ctlSetter)
void setForegroundDeep(Composite root, Color foreground)
void setBackgroundDeep(Composite root, Color background)
Rectangle globalBounds(Control control)
Rectangle toDisplay(Control control, Rectangle rect)
Optional<Monitor> monitorFor(Point p)
- Fixed
SwtMisc.setEnabledDeep()
- it now skipsComposite
s which haven't been subclassed. - Fixed
SwtRx.toggle()
now works with radio buttons. - Fixed
Shells
so that the dialogs it creates don't automatically close on escape, and so that they are better about opening on-screen.
- Gah! MANIFEST.MF still had -SNAPSHOT version. Fixed now. Would be really nice if we could get MANIFEST.MF generation working.
- Fixed a linux-specific bug in
Shells.openOnActive()
. - Fixed an NPE in
Shells.openOnActive()
. - Made
InteractiveTest.testShellWithoutHandle()
a little more forgiving.
- First stable release.