Tornadofx Versions Save

Lightweight JavaFX Framework for Kotlin

v1.7.20

4 years ago

Fixed

Changes

Additions

v1.7.19

5 years ago

Another bugfix and small enhancement release!

Fixed

Changes

  • Opened up HttpClientEngine and HttpURLEngine for easier subclassing/configuration of the Rest engine
  • Deprecated observableList() in favour of observableListOf(), and [List, Set, Map].observable() in favour of [List, Set, Map].asObservable() to be consistent with the Kotlin standard library.
  • Subdelegation of workspace button states (https://github.com/edvin/tornadofx/issues/894)
  • Kotlin 1.3.20
  • Moved all css helper extension functions from Node/Tab/Menu etc to Styleable (https://github.com/edvin/tornadofx/issues/944)

Additions

v1.7.18

5 years ago

Fixed

Changes

Additions

  • TableView.onEditStart() and TableColumn.cancel() functions which can be used to intercept editing events
  • resources.media() to load a Media instance from resources
  • Media.play() shortcut which creates a MediaPlayer and plays the Media
  • Wipe and Dissolve view transitions
  • tab builder assigns UIComponent.icon as Tab graphic
  • ComboBox.bindSelected() (https://github.com/edvin/tornadofx/issues/829)
  • TextInputControl.requiredWhen()
  • colorpicker builder with property binding support
  • movable parameter for openInternalWindow() (https://github.com/edvin/tornadofx/issues/863)

v1.7.17

5 years ago

Fixed

Changes

Additions

v1.7.16

6 years ago

Fixed

Changes

  • Kotlin 1.2.41
  • Workspace.navigateForward() made public
  • Added missing pseudoclasses to CSS DSL
  • HostServices is now retrieved from Application.getHostServices() instead of sun/internal API

Additions

v1.7.15

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 https://github.com/edvin/tornadofx/issues/599

Fixed

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 (https://github.com/edvin/tornadofx/issues/599)
  • Renamed Node.index to Node.indexInParent to avoid subtle bugs (Partly fixes https://github.com/edvin/tornadofx/issues/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 (https://github.com/edvin/tornadofx/issues/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<UIComponent> builder for TableView, TreeTableView, ListView
  • obserableList<T>() creates FXCollections.observableArrayList<T>
  • 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.

v1.7.14

6 years ago

This release brings amongst other things, a fix to the long standing runAsync bug which could case the success and fail callbacks to not run if the work in runAsync completed (very) fast.

Fixed

  • runAsync would skip the success/fail steps if no work was done in the op block
  • TableView Pojo Column references support boolean "is" style properties (https://github.com/edvin/tornadofx/issues/560)
  • TabPane.tab<UIComponent> inside of an UIComponent is now scope aware
  • TreeView.lazyPopulate should never assign null list if filter results in no items

Changes

  • Kotlin 1.2.10
  • Node builders inside of ButtonBase will automatically assign the node to the graphic property of the Button

Additions

  • ConfigProperties (config) is now Closable so it can be used with use

v1.7.13

6 years ago

Another bugfix and stability enhancement release as we're gearing up to Java 9 compatibility!

Fixed

Changes

  • Kotlin 1.2.0
  • ItemViewModel.bindTo(itemFragment) supports all item fragments now, not just ListCellFragment
  • lambda's that return unit are no longer nullable. use the default-lambda instead
  • ChildInterceptor is now an Interface.
  • Component.messages are fetched using the classloader that defined the Component subclass (https://github.com/edvin/tornadofx/issues/553)

Additions

  • cellFragment support for DataGrid
  • ObservableValue<String>.isBlank() and ObservableValue<String>.isNotBlank() which returns BooleanBinding. Useful for binding to TextField enabled/visible state
  • Added owner and title parameters to alert and other dialog builders (https://github.com/edvin/tornadofx/issues/522)
  • TextInputControl.editableWhen
  • multiSelect() for TreeView, TreeTableView, TableView and ListView
  • Stylesheets can now be added specificly to a Parent- Node with addStylesheet

v1.7.12

6 years ago

This release contains an enormous amount of internal refactoring (not mentioned in the changelog) as well as some neat new features and bug fixes :)

Fixed

  • Fixed #434 leaf nodes are now getting set as expected for lazypopulate.
  • Style builder can be applied to PopupControl, Tab, TableColumnBase (https://github.com/edvin/tornadofx/issues/476)
  • Better handling of Column.makeEditable() for properties that implement Property<Number>

Changes

Additions

  • fitToParentHeight/Width/Size as well as fitToHeight/Width/Size(region) helpers (https://github.com/edvin/tornadofx/pull/519)
  • beforeShutdown allows you to register shutdown hooks
  • DataGridPaginator component to help with pagination for DataGrid
  • runAsync supports daemon parameter to control thread characteristics (https://github.com/edvin/tornadofx/pull/508)
  • Node.runAsyncWithOverlay
  • Latch, a subclass of CountdownLatch that exposes a lockedProperty and provides immediate release ability
  • Inline type safe stylesheet on Parent using the stylesheet builder
  • Tab.close()
  • JsonBuilder.add() supports Iterable<Any> (Turned into JsonArray)
  • Added customitem menu item builder (https://github.com/edvin/tornadofx/pull/488)
  • The default lefCheck for lazypopulate is now also recognizing an empty list as a leaf.
  • menubutton builder (https://github.com/edvin/tornadofx/issues/461)
  • MenuButton.item builder
  • Added Fragment support forTreeCell

v1.7.11

6 years ago

Fixed

Changes

Additions

  • TreeTableView.bindSelected()
  • CheckMenuItem.bind()
  • Button builders with text property support
  • Collection Property Delegates (https://github.com/edvin/tornadofx/pull/454)
  • Workspace.create button and corresponding UIComponent onCreate callback and creatable property
  • Lots of reified functions
  • The default ErrorHandler shows structured information about failed HTTP requests
  • RestException containing request, response and the underlying exception
  • Added JsonBuilder.add(key, Iterable<JsonModel>) to avoid having to call toJSON() on it (https://github.com/edvin/tornadofx/issues/414)
  • ViewModel partial rollback (https://github.com/edvin/tornadofx/issues/420)
  • FX.addChildInterceptor that can veto or custom add builder children to their parent. Useful for MigPane for example.
  • Tab.select() for easier selection of tab without having to access tabPane.selectionModel
  • TabPane.contains(UIComponent) and Iterable<Node>.contains(UIComponent)
  • Override -fx-accent with type-safe CSS property accentColor
  • Component.paramsProperty can be used to detec changes to incoming parameters (overriden on new find)