03 June 2015
The following dependencies have been upgraded
org.codehaus.groovy:groovy-all:2.4.3
org.slf4j:slf4j-api:1.7.12
com.google.inject:guice:4.0
TestFX is the chosen library for testing JavaFX UIs. There are two modes of operation: integration and functional. The difference strives in that integration allows mocking and bindings to be overridden (like in unit mode) and the application instances is created for every single test; in functional mode no mocking should be used and no bindings can be overridden, also the application instance is created once per testcase.
It’s now possible to define an empty value for a resource or a message key. This is important to configure buttons and menus that should have icons but no text.
Threading methods, such as runInsideUISync
are now available as explicit methods on builder instances. This enables easier migration
from Griffon 1.x where these methods were also available to View scripts. The JavaFX builder supports the construction of comboBox
nodes using an action as an argument, same way as buttons and menus.
JavaFX support adds two new AST transformations: @ChangeListener
and @InvalidationListener
. They enable the registration
of ChangeListener
and InvalidationListener
on JavaFX properties, much in the same way as @PropertyListener
works
with PropertyChangeListener
and PropertyChangeEvent
.
The griffon-javafx-java
template can now generate FXML files when a view
artifact is selected.
Usage of CallableWithArgs
in events has been deprecated in favor of RunnableWithArgs
.
The WindowShown
and WindowHidden
events will send 2 arguments now: the name of the window and the window reference.
The injector API no longer requires a nested injector.
Full binary compatibility report between Griffon 2.3.0 and 2.2.0 can be found here.
A list of fixed issues can be found at the 2.3.0 milestone page.