tornadofx v1.7.6 Release Notes

Release Date: 2017-06-13 // over 4 years ago
  • โž• Additions

    • UIComponent.forwardWorkspaceActions(target) will override the current receiver of button states and action callbacks
    • replaceWith(component: KClass) accepts sizeToScene and centerOnScreen
    • ๐Ÿ— 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 { } and runLater(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 and vbox builders now have optional alignment parameter
    • Workspace.dockOnSelect Will automatically dock the given UIComponent if the ListMenuItem 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) and setWindowMaxSize(width, height)
    • DrawerItem has expandedProperty and expanded 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 the graphic property if the parent is Labeled
    • ๐Ÿ— Cleaned up menu and item builders, might require parameter adjustment in some cases
    • UIComponent.currentWindow is fetched from root.scene.stage, falls back to modalStage or primaryStage
    • ๐Ÿšฆ ListMenu.activeItem accepts null to signal that no menu item is active
    • โœ‚ Removed children parameter from hbox and vbox builders - they were early remnants from before we realized how powerful builders could be :)
    • action delegate no longer has ActionEvent as parameter so it can be used for no-args function references. Fallback to setOnAction if you need the event.
    • Injectable was a misnomer and has been deprectated in favor of ScopedInstance
    • TaskStatus no longer disconnects the current task when the task is completed