All Versions
51
Latest Version
Avg Release Cycle
48 days
Latest Release
-

Changelog History
Page 4

  • v1.5.4 Changes

    August 03, 2016

    ๐Ÿš€ This release fixes an issue with type safe stylesheets. importStylesheet(Styles::class) would fail unless an OSGi runtime was available.

  • v1.5.3 Changes

    August 02, 2016

    โž• Added

    • App.createPrimaryScene overridable function to specify how the scene for the primary View is created
    • ๐Ÿ“‡ OSGI manifest metadata
    • LayoutDebugger can edit new Node properties: spacing
    • ๐Ÿ’… Stylesheets can be dynamically added at runtime and will affect all active scenes
    • Convenience methods for creating bindings on any object. e.g. stringBinding(person, person.firstNameProperty, person.lastNameProperty) { "$firstName, #lastName" }
    • View/Fragment takes optional title in constructor

    ๐Ÿ”„ Changed

    • ๐Ÿšš UIComponent.showModal now supports reopening even if modalStage was never removed
    • fieldset block now operates on an HBox instead of Pane so you can write alignment = Pos.BASELINE_RIGHT to right-align buttons etc
    • Set modalStage before showAndWait() (https://github.com/edvin/tornadofx/pull/151)
    • ๐Ÿ‘ Parent.find and UIComponent.find renamed to lookup for better alignment with JavaFX lookup and to avoid confusion with find(View::class)
    • ๐Ÿ‘Œ Improved BorderPane builders, they also now accept UIComponent references instead of instances
    • ๐Ÿ— Builders now operate on EventTarget instead of Pane and as a result, many builders have improved syntax and functionality
    • ๐Ÿ’… Reduced boilerplate for App creation (you can now use class MyApp : App(MyView::class, Styles::class)
    • โช ViewModel commit and rollback run on the UI thread because decorators might be invoked
    • ViewModel commit accepts a function that will be run if the commit is successful
    • ๐Ÿ—„ find can now also find Fragments, so findFragment is deprecated
    • lookup takes an optional op that operates on the UIComponent it found
    • TreeTableView/TableView.populate accepts any kind of Iterable<T> instead of List
  • v1.5.2 Changes

    July 21, 2016

    โž• 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 via set(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 running
    • runAsync on Injectable class references (CustomerController::class.runAsync { listContacts(customerId) })
    • runAsync on Injectable class function references (CustomerController::listContacts.runAsync(customerId))
    • ObservableValue.onChange listener
    • UIComponent.whenDocked and UIComponent.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 to populate that lazily creates children as needed
    • TreeItem nesting extension functions (https://github.com/edvin/tornadofx/issues/134)
    • ๐Ÿšš TableView selectWhere(), moveToTopWhere() and moveToBottomWhere() (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 accepts KClass<View> and KClass<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 while long(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
  • v1.5.1 Changes

    June 29, 2016

    โž• Added

    ๐Ÿ”„ Changed

    • Call onUndock when UIComponent.modalStage closes
    • Rewrite of the CSS sub structure, cleaner selector syntax, negative dimensions, no need for select keyword for single selectors
  • v1.5.0 Changes

    June 10, 2016

    โž• Added

    • ๐Ÿ’… Multivalue property support in type safe stylesheets (API break)
    • UIComponent.onDock and UIComponent.onUndock
  • v1.4.10 Changes

    June 02, 2016

    โž• Added

    • 0๏ธโƒฃ Default Rest Engine supports gzip/deflate
    • 0๏ธโƒฃ Default Rest Engine adds Accept: application/json by default

    ๐Ÿ”„ Changed

    • ๐Ÿ’… Moved box/c functions outside CssBlock so they can be used in Stylesheet companion object
    • ๐Ÿ‘ Better error reporting and logging for missing or wrong fx:id vs fxid() usage
  • v1.4.9 Changes

    May 29, 2016

    โž• Added

  • v1.4.8 Changes

    May 20, 2016

    โž• Added

    • ๐Ÿ’… Inline type safe styles
    • Easier navigation of View to Node and Node to View (https://github.com/edvin/tornadofx/issues/112)
    • Fragments can be declaratively created via fragment delegate
    • Type Safe CSS URL Handler will be force-installed if the JVM does not pick it up

    ๐Ÿ”„ Changed

    • โฌ†๏ธ Upgrade to Kotlin 1.0.2
  • v1.4.7 Changes

    May 10, 2016

    โž• Added

  • v1.4.6 Changes

    May 06, 2016

    โž• Added

    ๐Ÿ”„ Changed

    • ๐Ÿ“ฆ App can be started without overriding primaryView -> startup parameter --view-class=package.View
    • โž• addClass, removeClass, toggleClass returns the Node it was applied to (for chaining support)