You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
*[`ControlWrapper`](https://javadoc.io/static/com.diffplug.durian/durian-swt/5.0.0/com/diffplug/common/swt/ControlWrapper.html) - create custom widgets which properly encapsulate their base control.
29
-
*[`Coat`](https://javadoc.io/static/com.diffplug.durian/durian-swt/5.0.0/com/diffplug/common/swt/Coat.html) - a functional interface for populating an empty Composite.
30
-
*[`CoatMux`](https://javadoc.io/static/com.diffplug.durian/durian-swt/5.0.0/com/diffplug/common/swt/CoatMux.html) - a mechanism for layering and swapping Coats.
31
-
*[`SwtExec`](https://javadoc.io/static/com.diffplug.durian/durian-swt/5.0.0/com/diffplug/common/swt/SwtExec.html) - an `ExecutorService` which executes on the SWT thread.
32
-
*[`SwtExec.Guarded`](https://javadoc.io/static/com.diffplug.durian/durian-swt/5.0.0/com/diffplug/common/swt/SwtExec.Guarded.html) - an `ExecutorService` which is tied to the lifetime of an SWT widget. Say goodbye to `SWTException: Widget is disposed` forever! It can also subscribe to any kind of observable (Guava's ListenableFuture or RxJava's Observable), see [DurianRx](https://github.com/diffplug/durian-rx) for more info.
28
+
*[`ControlWrapper`](https://javadoc.io/static/com.diffplug.durian/durian-swt/5.0.1/com/diffplug/common/swt/ControlWrapper.html) - create custom widgets which properly encapsulate their base control.
29
+
*[`Coat`](https://javadoc.io/static/com.diffplug.durian/durian-swt/5.0.1/com/diffplug/common/swt/Coat.html) - a functional interface for populating an empty Composite.
30
+
*[`CoatMux`](https://javadoc.io/static/com.diffplug.durian/durian-swt/5.0.1/com/diffplug/common/swt/CoatMux.html) - a mechanism for layering and swapping Coats.
31
+
*[`SwtExec`](https://javadoc.io/static/com.diffplug.durian/durian-swt/5.0.1/com/diffplug/common/swt/SwtExec.html) - an `ExecutorService` which executes on the SWT thread.
32
+
*[`SwtExec.Guarded`](https://javadoc.io/static/com.diffplug.durian/durian-swt/5.0.1/com/diffplug/common/swt/SwtExec.Guarded.html) - an `ExecutorService` which is tied to the lifetime of an SWT widget. Say goodbye to `SWTException: Widget is disposed` forever! It can also subscribe to any kind of observable (Guava's ListenableFuture or RxJava's Observable), see [DurianRx](https://github.com/diffplug/durian-rx) for more info.
*[`Actions`](https://javadoc.io/static/com.diffplug.durian/durian-swt/5.0.0/com/diffplug/common/swt/jface/Actions.html) - builder and one-liner:
70
+
*[`Actions`](https://javadoc.io/static/com.diffplug.durian/durian-swt/5.0.1/com/diffplug/common/swt/jface/Actions.html) - builder and one-liner:
71
71
`Actions.create("Redo", this::redo);`
72
72
73
-
*[`LabelProviders`](https://javadoc.io/static/com.diffplug.durian/durian-swt/5.0.0/com/diffplug/common/swt/jface/LabelProviders.html) - builder and one-liner:
73
+
*[`LabelProviders`](https://javadoc.io/static/com.diffplug.durian/durian-swt/5.0.1/com/diffplug/common/swt/jface/LabelProviders.html) - builder and one-liner:
74
74
`LabelProviders.createWithText(Person::getName)`
75
75
76
-
*[`ColumnFormat`](https://javadoc.io/static/com.diffplug.durian/durian-swt/5.0.0/com/diffplug/common/swt/ColumnFormat.html) and [`ColumnViewerFormat`](https://javadoc.io/static/com.diffplug.durian/durian-swt/5.0.0/com/diffplug/common/swt/jface/ColumnViewerFormat.html) - tables and trees without boilerplate
76
+
*[`ColumnFormat`](https://javadoc.io/static/com.diffplug.durian/durian-swt/5.0.1/com/diffplug/common/swt/ColumnFormat.html) and [`ColumnViewerFormat`](https://javadoc.io/static/com.diffplug.durian/durian-swt/5.0.1/com/diffplug/common/swt/jface/ColumnViewerFormat.html) - tables and trees without boilerplate
77
77
78
78
```java
79
79
ColumnViewerFormat<Person> format =ColumnViewerFormat.builder();
@@ -87,15 +87,15 @@ TreeViewer tree = format.buildTree(parent);
87
87
88
88
### Resource management
89
89
90
-
*[`OnePerWidget`](https://javadoc.io/static/com.diffplug.durian/durian-swt/5.0.0/com/diffplug/common/swt/OnePerWidget.html) - a cache tied to the lifetime of an SWT Widget.
91
-
*[`ColorPool`](https://javadoc.io/static/com.diffplug.durian/durian-swt/5.0.0/com/diffplug/common/swt/ColorPool.html) - a pool of colors tied to the lifetime of a widget. `ColorPool.forWidget(widget).getColor(rgbValue)`
92
-
*[`ImageDescriptors`](https://javadoc.io/static/com.diffplug.durian/durian-swt/5.0.0/com/diffplug/common/swt/jface/ImageDescriptors.html) - use ImageDescriptors with proper resource sharing. `ImageDescriptors.set(btn, imageDescriptor)`
90
+
*[`OnePerWidget`](https://javadoc.io/static/com.diffplug.durian/durian-swt/5.0.1/com/diffplug/common/swt/OnePerWidget.html) - a cache tied to the lifetime of an SWT Widget.
91
+
*[`ColorPool`](https://javadoc.io/static/com.diffplug.durian/durian-swt/5.0.1/com/diffplug/common/swt/ColorPool.html) - a pool of colors tied to the lifetime of a widget. `ColorPool.forWidget(widget).getColor(rgbValue)`
92
+
*[`ImageDescriptors`](https://javadoc.io/static/com.diffplug.durian/durian-swt/5.0.1/com/diffplug/common/swt/jface/ImageDescriptors.html) - use ImageDescriptors with proper resource sharing. `ImageDescriptors.set(btn, imageDescriptor)`
93
93
94
94
### Interactive testing
95
95
96
96
Ideally, all UI code would have fully automated UI testing, but
97
97
such tests are time-consuming to write, so they often just don't
98
-
get written at all. [`InteractiveTest`](https://javadoc.io/static/com.diffplug.durian/durian-swt/5.0.0/com/diffplug/common/swt/InteractiveTest.html)
98
+
get written at all. [`InteractiveTest`](https://javadoc.io/static/com.diffplug.durian/durian-swt/5.0.1/com/diffplug/common/swt/InteractiveTest.html)
99
99
bridges the gap by making it easy to write user-in-the-loop guided tests. Furthermore,
100
100
these tests can even be run in a [headless enviroment on a CI server](https://github.com/diffplug/durian-swt/blob/master/build.gradle#L66-L93), where the test UI
101
101
will be opened, then automatically closed after a timeout. This ensures that the tests
+`treeDefControl`, `treeDefComposite` - a [`TreeDef`](http://diffplug.github.io/durian/javadoc/snapshot/com/diffplug/common/base/TreeDef.html) for traversing UI elements.
135
135
+`setEnabledDeep` - sets the enabled status of every child, grandchild, etc. of the given composite.
136
-
*[`SwtRx`](https://javadoc.io/static/com.diffplug.durian/durian-swt/5.0.0/com/diffplug/common/swt/SwtRx.html) - methods for converting SWT events and models to RxJava Observables.
137
-
*[`SwtDebug`](https://javadoc.io/static/com.diffplug.durian/durian-swt/5.0.0/com/diffplug/common/swt/SwtDebug.html) - utilities for debugging SWT events.
138
-
*[`OS`](https://javadoc.io/static/com.diffplug.durian/durian-swt/5.0.0/com/diffplug/common/swt/os/OS.html), [`Arch`](https://javadoc.io/static/com.diffplug.durian/durian-swt/5.0.0/com/diffplug/common/swt/os/Arch.html), and [`SwtPlatform`](https://javadoc.io/static/com.diffplug.durian/durian-swt/5.0.0/com/diffplug/common/swt/os/SwtPlatform.html) - detect things about the running system, and manipulate the SWT jars for build tools.
136
+
*[`SwtRx`](https://javadoc.io/static/com.diffplug.durian/durian-swt/5.0.1/com/diffplug/common/swt/SwtRx.html) - methods for converting SWT events and models to RxJava Observables.
137
+
*[`SwtDebug`](https://javadoc.io/static/com.diffplug.durian/durian-swt/5.0.1/com/diffplug/common/swt/SwtDebug.html) - utilities for debugging SWT events.
138
+
*[`OS`](https://javadoc.io/static/com.diffplug.durian/durian-swt/5.0.1/com/diffplug/common/swt/os/OS.html), [`Arch`](https://javadoc.io/static/com.diffplug.durian/durian-swt/5.0.1/com/diffplug/common/swt/os/Arch.html), and [`SwtPlatform`](https://javadoc.io/static/com.diffplug.durian/durian-swt/5.0.1/com/diffplug/common/swt/os/SwtPlatform.html) - detect things about the running system, and manipulate the SWT jars for build tools.
139
139
+ These do not require SWT or JFace, so you can add DurianSwt to your gradle or maven dependencies without needing to also figure out the SWT messiness.
140
140
+ You can also just copy-paste these straight into your own code - they have no external dependencies.
0 commit comments