Skip to content

TornadoFX 1.7.15

Compare
Choose a tag to compare
@edvin edvin released this 18 Feb 19:50
· 375 commits to master since this release

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
  • 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.