tornadofx v1.5.2 Release Notes
Release Date: 2016-07-21 // over 7 years ago-
โ Added
- ๐ Validation support
- ๐ Decoration support
- ๐ Node.removeFromParent()
- Dimension arithmetics (https://github.com/edvin/tornadofx/pull/146)
- Get a reference to objects in other Components via
get(ComponentType::propertyName)
and set them viaset(ComponentType::propertyName, value
- ๐
Node.replaceChildren
replaces current children with new ones created with builder Node.runAsyncWithProgress
shows a progress indicator instead of while async task is runningrunAsync
on Injectable class references (CustomerController::class.runAsync { listContacts(customerId) }
)runAsync
on Injectable class function references (CustomerController::listContacts.runAsync(customerId)
)ObservableValue.onChange
listenerUIComponent.whenDocked
andUIComponent.whenUndocked
- LayoutDebugger (https://github.com/edvin/tornadofx/wiki/Layout-Debugger)
- ViewModel (https://github.com/edvin/tornadofx/wiki/ViewModel)
- TableView
cellDecorator
- ComboBox
cellFormat
formatter function - TreeView
lazyPopulate
alternative topopulate
that lazily creates children as needed - TreeItem nesting extension functions (https://github.com/edvin/tornadofx/issues/134)
- ๐ TableView
selectWhere()
,moveToTopWhere()
andmoveToBottomWhere()
(https://github.com/edvin/tornadofx/issues/134) - ๐ Group builder
group
- ๐ Improved tab for tabpane builder
tab("Name") { operateOnTab(); content { .. } }
- Create bindings dependent on an ObservableValue:
objectBinding
+integerBinding
,longBinding
etc for all applicable types - ๐ New, simplified method of creating properties
val nameProperty = SimpleStringProperty(); var name by nameProperty
(https://github.com/edvin/tornadofx/pull/143) - Extract a JsonObject and turn it into a JsonModel by with
json.jsonModel("key")
- ๐
kotlin-reflect.jar
is now a default dependency. It can be removed if you don't use any of the TableView.column
functions. Over time, more features will probably require it. - Replace View function
UIComponent.replaceWith
now acceptsKClass<View>
andKClass<Fragment>
as well as UIComponent instances - ๐ label() and text() builders now accepts an ObservableValue for unidirectional binding
- โ Added non-null JSON getters (
getLong(key)
returns Long whilelong(key)
returns Long?) - ๐ Improved compatibility with ScenicView by not creating inline/crossinline cellformatters (https://youtrack.jetbrains.com/issue/KT-13148)
๐ Changed
- ๐ ImageView builder now loads image lazily by default
- ๐ CSSUrlHandler force install moved to CSS.CompanionObject to make sure it happens in time
- โ addClass/removeClass now accepts vararg
- alert() function now returns Alert object
- ๐ Fixed bug: Inherited properties cannot be accessed via getProperty - NoSuchFieldException (https://github.com/edvin/tornadofx/issues/141)
- ๐ป Uncaught exceptions will now be logged to the console to ensure error message delivery even when UI is not initialized
- ๐ Fixed CheckBoxCell binding (https://github.com/edvin/tornadofx/issues/140)
- ๐ Builder op block made optional on many builders (https://github.com/edvin/tornadofx/issues/126)
- ๐ Fixed bug in chooseFile (returned list with null instead of empty list when nothing was selected