Lightweight JavaFX Framework for Kotlin
openInternalWindow()
was made public (https://github.com/edvin/tornadofx/issues/989)Scope.deregister()
clears EventBus subscriptions associated with a particular scopeApp.stop()
clears all EventBus subscriptionssubscene
builderfxml()
delegate now accepts an InputStream, for loading FXML from DB or resources.stream("/my/classpath/to.fxml")
(https://github.com/edvin/tornadofx-guide/issues/107)Another bugfix and small enhancement release!
observableList()
in favour of observableListOf()
, and [List, Set, Map].observable()
in favour of [List, Set, Map].asObservable()
to be consistent with the Kotlin standard library.FX.messagesNameProvider
property to dynamically compute the name of the resource bundle of a given component class. (https://github.com/edvin/tornadofx/issues/872)FX.fxmlLocator
function to provide custom FXML locations globallyobservableListOf()
, etc) and converting (List<T>.asObservable()
, etc) observable lists, sets and maps; and extension functions to work with them too (ObservableList<T>.shuffle()
, etc).cubiccurveTo
builder (https://github.com/edvin/tornadofx/issues/911)splitmenubutton
buildertogglegroup()
builder accepts property parameter (https://github.com/edvin/tornadofx/issues/956)config
no longer accepts null values, as the underlying Properties
store won't allow them (https://github.com/edvin/tornadofx/issues/792). The set function that takes Pair still accepts null as the value, but will remove the key if the value is null.di()
delegate no longer calls out to the DIContainer
for every access, effectively caching the lookup (https://github.com/edvin/tornadofx/issues/837)runLater
calls (https://github.com/edvin/tornadofx/pull/836)runAsyncWithProgress
cannot target an UI element with no parent, will no throw Exception with warning (https://github.com/edvin/tornadofx/issues/873)App.scope
is overridableDefaultScope
deprecated, use FX.defaultScope
insteadscope
of a UIComponents will assume the Workspace it is docked in (https://github.com/edvin/tornadofx/issues/806)out
modifier (https://github.com/edvin/tornadofx/issues/823)tab
builder assigns UIComponent.icon
as Tab graphicComboBox.bindSelected()
(https://github.com/edvin/tornadofx/issues/829)colorpicker
builder with property binding supportmovable
parameter for openInternalWindow()
(https://github.com/edvin/tornadofx/issues/863)lazypopulate
leafcheck logic was reversed (https://github.com/edvin/tornadofx/issues/773)onCancel()
is now called when reusing Wizard instancestyle
property of ListCell
will be cleared by the framework so it can be manipulated in cellFormat
without side effects (https://stackoverflow.com/questions/51459371/custom-cell-format-listview-tornadofx-on-delete-item)setAll
should be forwarded to the underlying list (https://github.com/edvin/tornadofx/issues/344) and (https://github.com/edvin/tornadofx/issues/681)onBeforeShow
is called for all top level UIComponentsonDock
is now called after the stage is shown. Now it aligns with the timing for secondary windows.asyncItems
function parameters operate on FXTask
removeFromParent
now supports TreeItem
(https://github.com/edvin/tornadofx/issues/776)UIComponent.whenUndockedOnce()
and whenDockedOnce
callbacksonTabSelected
callback in UIComponent when connected to a TabPanefinally(callback)
for runAsync and other task buildersWindow.aboutToBeShown
property avoid false positives for invisible Workspace warning (https://github.com/edvin/tornadofx/issues/755)importStylesheet
now supports file
, http
and https
in addition to classpath resources (https://github.com/edvin/tornadofx/issues/762)raduimenuiutem
builders now accepts value
property (https://github.com/edvin/tornadofx/issues/737)close()
inside InternalWindow
would also close the parentplaceholder
for list type controls should not require list type parameterWorkspaceApp
is called with a Workspace
subclass as main view paramterToolBar
contextmenu
builder returns ContextMenu
instance instead of EventTarget
(https://github.com/edvin/tornadofx/issues/702)togglebutton
and radiobutton
builders moved from Node
to EventTarget
(https://github.com/edvin/tornadofx/issues/716)Application.getHostServices()
instead of sun/internal API--dicontainer=diContainerClass
parameter allows assignment of DIContainer from command line (https://github.com/edvin/tornadofx-idea-plugin/issues/56)readonly
and cancel
pseudoclasses added to type safe CSSCssSubRule.Relation
)onCancel
callback in Wizard
(https://github.com/edvin/tornadofx/issues/712)Another good mix of fixes and features, plus another round of huge internal refactorings to improve code quality and consistency.
Important note: The TableView column builder for readonly non-observable properties was renamed to readonlyColumn
because it shadowed the (much more important) builder for observable properties. This is a breaking, but nessescary change. Apologies for not catching this as the new builder was implemented. Read more about it in https://github.com/edvin/tornadofx/issues/599
defaultValue
parameterMenuItem
will automatically assign the node to the graphic
property of the menu itemreadonlyColumn
(https://github.com/edvin/tornadofx/issues/599)This release brings amongst other things, a fix to the long standing runAsync
bug which could case the success
and fail
callbacks to not run if the work in runAsync
completed (very) fast.
runAsync
would skip the success/fail steps if no work was done in the op blockButtonBase
will automatically assign the node to the graphic
property of the Buttonconfig
) is now Closable
so it can be used with use
Another bugfix and stability enhancement release as we're gearing up to Java 9 compatibility!
cellFragment
support for DataGridowner
and title
parameters to alert
and other dialog builders (https://github.com/edvin/tornadofx/issues/522)multiSelect()
for TreeView, TreeTableView, TableView and ListViewParent
- Node with addStylesheet
This release contains an enormous amount of internal refactoring (not mentioned in the changelog) as well as some neat new features and bug fixes :)
lazypopulate
.TreeView
from Nodes.kt
to TreeView.kt
.alert
builder accepts optional owner parameter (https://github.com/edvin/tornadofx/issues/483)fitToParentHeight/Width/Size
as well as fitToHeight/Width/Size(region)
helpers (https://github.com/edvin/tornadofx/pull/519)beforeShutdown
allows you to register shutdown hooksDataGridPaginator
component to help with pagination for DataGrid
daemon
parameter to control thread characteristics (https://github.com/edvin/tornadofx/pull/508)runAsyncWithOverlay
Latch
, a subclass of CountdownLatch that exposes a lockedProperty
and provides immediate release abilitystylesheet
buildercustomitem
menu item builder (https://github.com/edvin/tornadofx/pull/488)lazypopulate
is now also recognizing an empty list as a leaf.TreeCell