tornadofx v1.7.6 Release Notes
Release Date: 2017-06-13 // almost 7 years ago-
โ Additions
- UIComponent.forwardWorkspaceActions(target) will override the current receiver of button states and action callbacks
- replaceWith(component: KClass) accepts
sizeToScene
andcenterOnScreen
- ๐ titledpane builder that accepts the title as ObservableValue
- TaskStatus.completed and FXTask.completedProperty can be used to listen to changes in completion state of a task
- โ runLater with optional delay:
runLater { }
andrunLater(10.seconds) { .. }
- ๐ป ObservableValue.awaitUntil waits on the UI thread without blocking until a given value is set before resuming execution
- ViewModel.bind can create observable properties from mutable vars:
val name = bind(MyObject::name)
- Rest.Response.Status enum with all official http status codes. (https://github.com/edvin/tornadofx/issues/330)
- ๐
hbox
andvbox
builders now have optionalalignment
parameter Workspace.dockOnSelect
Will automatically dock the givenUIComponent
if theListMenuItem
is selected.- ๐ Rest client supports Digest Authentication
- ๐ Inline commands can be defined with
command { }
builder pattern - ๐ hyperlink builder has optional graphic parameter
- UIComponent has
currentStage
,setWindowMinSize(width, height)
andsetWindowMaxSize(width, height)
- DrawerItem has
expandedProperty
andexpanded
var (https://github.com/edvin/tornadofx/issues/332) - UIComponent.replaceWith has
centerOnScreen
parameter - Shortcut overload for Commands:
shortcut(shortcut, command, param)
๐ Fixed
- TableColumn.useTextField() accepts Property<> - no longer requires ObjectProperty<>
- ๐ป Workspace navigation now behaves more like a browser with regards to back/forward button functionality
- ConcurrentModificationException in EventBus fire mechanism
- 0๏ธโฃ UIComponent.headingProperty is bound to titleProperty by default, will be unbound if assigned value
- 0๏ธโฃ DefaultErrorHandler correctly handles errors with no stacktrace available (https://github.com/edvin/tornadofx/issues/328)
- Non-bound properties inside ViewModels can locate it's ValidationContext, and hence can now be used with validators
- SortedFilteredList will not overwrite the backing list when column sorting is enabled in TableView (setAll disabled) (https://github.com/edvin/tornadofx/issues/344)
- RowExpanders containing nested TableViews no longer inherits white label text when owning row is selected
- Calling
cellFormat
on a TableCell that already has a formatter will now add the new formatter as a decorator instead of overwriting the old cellDecorator
only decorates cells with items. It previously ran also when a cell item became null
๐ Changes
- Kotlin 1.1.2-5
- Workspace will preemptively register for current scope in init()
runAsyncWithProgress
will display the progress indicator in thegraphic
property if the parent isLabeled
- ๐ Cleaned up menu and item builders, might require parameter adjustment in some cases
- UIComponent.currentWindow is fetched from
root.scene.stage
, falls back tomodalStage
orprimaryStage
- ๐ฆ ListMenu.activeItem accepts null to signal that no menu item is active
- โ Removed
children
parameter fromhbox
andvbox
builders - they were early remnants from before we realized how powerful builders could be :) action
delegate no longer hasActionEvent
as parameter so it can be used for no-args function references. Fallback tosetOnAction
if you need the event.Injectable
was a misnomer and has been deprectated in favor ofScopedInstance
- TaskStatus no longer disconnects the current task when the task is completed