tornadofx v1.7.15 Release Notes

Release Date: 2018-02-18 // about 6 years ago
  • ๐Ÿ”จ 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 #599

    ๐Ÿ›  Fixed

    • onEditCommit {} listens for changes in nested columns
    • UIComponent.close() should be able to close primary stage as well (#622)
    • SmartResize.Policy manual resize broken (#570)
    • TableView bound to ListProperty should rebind when value changes
    • ๐Ÿ‘ Allow calling Workspace.disableNavigation() when workspace is empty
    • ๐Ÿ‘ Thread pools are reinitialized on App.start() to support stop/start multiple times within the same JVM
    • ServiceLoader provided interceptors were added every time an App class was initialized
    • inheritParamHolder and inheritScopeHolder are cleared on Application stop (#602)
    • ๐Ÿ‘ป smartResize throws exception for hidden columns (#606)
    • The getters and setters of horizontalPadding and verticalPadding did not correspond

    ๐Ÿ”„ Changes

    • Kotlin 1.2.21
    • ๐Ÿ”จ Many internal refactorings
    • AnchorPaneConstraint properties now accept any Number, not just Double
    • AbstractField.textProperty was renamed to labelProperty to avoid confusion with the textProperty() exposed by textfields inside of a field
    • 0๏ธโƒฃ ItemViewModel.bind defaultValue parameter
    • ๐Ÿ— Node builders inside of MenuItem will automatically assign the node to the graphic property of the menu item
    • The App class (main application entrypoint) no longer requires a primary view parameter, in case you want to show a tray icon or determinine what view to show some other way
    • ๐Ÿ— Renamed tableview column builder for readonly non-observable properties to readonlyColumn (#599)
    • ๐Ÿ›  Renamed Node.index to Node.indexInParent to avoid subtle bugs (Partly fixes #598)
    • โœ‚ Removed CheckBoxCell in favor of inline cellFormat
    • โšก๏ธ ValidationContext.validate has a new parameter failFast, which can optimize the validation-process.
    • (Linked)HashMaps are generalized to (Mutable)Map
    • ArrayList are generalized to (Mutable)List

    โž• Additions

    • StackPane.connectWorkspaceActions() along with StackPane.contentProperty and various Workspace related functions and properties (#604)
    • TextInputControl.filterInput allows you to discriminate what kind of input should be accepted for a text input control
    • String.isLong(), isInt(), isDouble() and isFloat()
    • ๐Ÿ— checkmenuitem builder accepts string for keycombination and selected property
    • Node.index will tell you the Node's index in the parent container
    • ๐Ÿ— placeholder builder for TableView, TreeTableView, ListView
    • obserableList() creates FXCollections.observableArrayList
    • ๐ŸŒ ResourceBundle.format() provides a short way to insert translations with variables in them
    • ocpr is now available as extension function: attachTo
    • Insets.copy(), Intsets.horizontal, Intsets.vertical, Intsets.all
    • SortedFilteredList forwards setAll() to backing list
    • withEach/mapEach/mapEachTo are the receiver-functions of forEach/map/mapTo.