tornadofx v1.7.9 Release Notes

Release Date: 2017-08-04 // over 4 years ago
  • โž• Additions

    • weak delegate for easier construction of weak references that need a deinit callback
    • ๐Ÿšš The following extension functions (managedWhen, visibleWhen, hiddenWhen, disableWhen, enableWhen, removeWhen, onHover) now return the node the are called on.
    • TableColumn.cellFragment to match ListView.cellFragment + SmartTableCell which encapsulate cellFormat, cellCache and cellFragment
    • bindChildren(observableSet, converter) to completement the observableList version
    • ๐Ÿ— sequentialTransition, parallelTransition builders (https://github.com/edvin/tornadofx/issues/373)
    • ObservableList<*>.sizeProperty keeps track of the number of items in an ObservableList
    • KeyboardLayout which can export to keyboard-layout-editor.com format
    • ObservableValue.onChangeOnce() and ObservableValue.onChangeTimes(n) will disconnect listener after n events
    • ViewModel.markDirty(property) to explicitly set a property dirty, for example when a bound list is changed internally
    • ๐Ÿ‘ ViewModel supports binding maps
    • MutableMap.toProperty(key) { generateProperty() } writes back into the map on change

    ๐Ÿ›  Fixed

    • โšก๏ธ Form and Field properties got updated to the new more concise syntax propertyName() vs. property
    • LazyTreeItem will now only set children once after getChildren is called.
    • โšก๏ธ DataGrid properly updates when operating on a bound list (https://github.com/edvin/tornadofx/issues/385)
    • ๐Ÿšš DataGrid reselects same index if item at selected index is removed (https://github.com/edvin/tornadofx/issues/386)
    • ๐Ÿ— imageview builder now accepts null from an ObservableValue<String>
    • TreeView.cellFormat now unbinds the textProperty and the graphicProperty
    • Reified type parameter to ViewModel.bind() to solve properties that are null at the binding call (https://github.com/edvin/tornadofx/issues/365)
    • ๐Ÿ‘ ViewModel.bind() for properties that are null at the binding call + now supports Long amd ObservableList as well
    • ๐Ÿ›  Fixed Chart.series() bug (https://github.com/edvin/tornadofx/issues/354)
    • ๐Ÿ”€ External/synced changes to bound ViewModel properties should not affect dirty state (https://github.com/edvin/tornadofx/issues/358)
    • ๐Ÿ‘‰ showModal/showWindow now resizes the window before calling onDock, so the View can override placement easier (https://github.com/edvin/tornadofx/issues/360)
    • ๐Ÿ”ง Avoid extension function confusion on Configurable by introducing a new ConfigProperties subclass and changing extension functions to member functions (https://github.com/edvin/tornadofx/issues/362)
    • TreeTableView.resizeColumnsToFitContent() now waits until the skin is available instead of naively deferring to the next pulse
    • Nested tableColumns with valueProvider lambda now nest correctly

    ๐Ÿ”„ Changes

    • Kotlin 1.1.3-2
    • DataGrid receives focus on click
    • โ™ป๏ธ TableView refactoring, all cell manipulation functions are encapsulated in a SmartTableCell
    • ItemViewModel's bind methods accept properties that return nullable values (https://github.com/edvin/tornadofx/issues/389)
    • ๐Ÿ‘ ViewModel binding mechanism has been rewritten and supports lists much better now