Skip to content

Releases: scalafx/scalafx-extras

ScalaFX-Extras v.0.10.1

22 Oct 00:33
v.0.10.1
Compare
Choose a tag to compare

Updated dependencies

Full Changelog: v.0.10.0...v.0.10.1

ScalaFX-Extras v.0.10.0

09 Aug 13:24
v.0.10.0
Compare
Choose a tag to compare

ScalaFX-Extras Release v.0.10.0

This release of ScalaFX-Extras is a feature release.

New features

  • Add component to display the progress of batch processing tasks [#33]
  • Add helper UI for running batch processing tasks [#34]
  • ShowMessage: allow for resizing all message dialogs [#32]
  • ImageDisplay: add an option to flip image in X or Z axis [#35]

Bug fixes

  • ShowMessage dialogs may display cropped messages [#31]

To post questions, please use Project Discussions or ScalaFX Users Group

Full Changelog: v.0.9.0...v.0.10.0

ScalaFX-Extras v.0.9.0

04 Apr 01:35
v.0.9.0
Compare
Choose a tag to compare

ScalaFX-Extras Release v.0.9.0

This release of ScalaFX-Extras is mostly a bug fix release. Some small tweak to BusyWorker was required to resolve
the issue with double error dialogs.

New features

  • Add helper method for finding parent windows for nodes [#29]

Bug fixes

  • FileSelectionField - editing text field is difficult - cursor jumps to the end after each keystroke [#27]
  • Error handling implemented in SimpleTask is disabled in BusyWorker#_doTask [#28]

Breaking Changes

  • org.scalafx.extras.BusyWorker.SimpleTask API changed to respect overrides
    of onSucceeded, onCancelled, onFailed that were ignored. Issue [#28].

To post questions, please use Project Discussions or ScalaFX Users Group

ScalaFX-Extras v.0.8.0

24 Apr 00:01
v.0.8.0
52b88e2
Compare
Choose a tag to compare

This release of ScalaFX-Extras add ability to conveniently add fields and read data from a pane using GenericPane. Add a couple bug fixes

New features

In addition to GenericDialogFX there is a GenericPane that can be used to build a Pane that can be used with more
granularity in designing UIs. It can be used as a part of other, more complex, control. Example:

import scalafx.application.JFXApp3
import scalafx.application.JFXApp3.PrimaryStage
import scalafx.geometry.Insets
import scalafx.scene.Scene
import scalafx.scene.control.Button
import scalafx.scene.layout.VBox
import scalafx.scene.paint.*
import scalafx.scene.paint.Color.*
import scalafx.scene.text.Text

object GenericPaneDemo extends JFXApp3:

  override def start(): Unit =

    val gp = new GenericPane():
      addDirectoryField("Input", "images")
      addDirectoryField("Output", "output")

    stage = new PrimaryStage:
      title = "GenericPane Demo"
      scene = new Scene:
        content = new VBox:
          padding = Insets(7, 7, 7, 7)
          spacing = 7
          children = Seq(
            gp.pane,
            new Button("Print Fields"):
              onAction = (_) =>
                gp.resetReadout()
                println(s"Input dir : ${gp.nextString()}")
                println(s"Output dir: ${gp.nextString()}")
          )

The scalafx-extras-demos subproject has an example.

Additional features:

  • The preferred width (expressed in text columns) of the text field in FileSelectionField can now be controlled. This
    adds similar options to
    • GenericPaneBase.addDirectoryField
    • GenericPaneBase.addFileField

Breaking Changes

  • Package name org.scalafx.extras.generic_dialog was changed to org.scalafx.extras.generic_pane
  • The constructor of GenericDialogFX parameter's name parentWindow was changes to ownerWindow to avoid conflict
    with similarly named parameter in GenericPaneBase

All changes:

  • Add: Generic Pane [#22]
  • Fix: GenericPaneBase.addDirectoryField - is ignoring argument columns [#23]
  • Fix: GenericPaneBase.addFileField is missing argument columns [#24]
  • Fix: IllegalAccessError in AutoDialog (0.7.0) [#25]

To post questions please use Project Discussions or ScalaFX Users Group

Full Changelog: v.0.7.0...v.0.8.0

ScalaFX-Extras v.0.7.0

22 Jul 18:22
v.0.7.0
7dcd55e
Compare
Choose a tag to compare

ScalaFX-Extras Release v.0.7.0

This release provides a convenient way to generate dialogs from case classes (scala 3).
AutoDialog is used too quickly open auto generated dialog from case class.
After closing, the dialog will return edited version of the input case class:

import org.scalafx.extras.auto_dialog.AutoDialog

case class FilterOptions(kernelSize: Int = 7,
                         start: Double = 3.14,
                         tag: String = "alpha",
                         debugMode: Boolean = false)

val result: Option[FilterOptions] =
  new AutoDialog(FilterOptions())
    .showDialog(
      "AutoDialog Demo",
      "Fields are auto generated from `FilterOptions` object")

println(s"Result: $result")

The scalafx-extras-demos subproject has an example.

Enhancements:

  • [Scala 3] auto generate input dialogs from simple case classes [#18]
  • Update to ScalaFX 18.0.2-R29 [#20]

To post questions please use Project Discussions or ScalaFX Users Group

Full Changelog: v.0.6.0...v.0.7.0

ScalaFX-Extras v.0.6.0

14 Jul 12:24
v.0.6.0
a82929d
Compare
Choose a tag to compare

This release add a new class for convenient creation of input dialogs: GenericDialogFX. You can easily add controls to
he dialog then read their values after the dialog was closed:

// Create a dialog
val dialog =
  new GenericDialogFX(
    title = "GenericDialogFX Demo",
    header = "Fancy description can go here."
  ) {
    // Add fields
    addCheckbox("Check me out!", defaultValue = false)
    addCheckbox("Check me too!", defaultValue = true)
  }

// Show dialog to the user
dialog.showDialog()

// Read input provided by the user
if (dialog.wasOKed) {
  val select1 = dialog.nextBoolean()
  val select2 = dialog.nextBoolean()

  println(s"Selection 1: $select1")
  println(s"Selection 2: $select2")
} else {
  println("Dialog was cancelled.")
}

The scalafx-extras-demos subproject has a more elaborated example.

Enhancements:

  • Support creation of custom dialogs, like ImageJ's GenericDialog #16
  • Let any standard dialog be displayed with a one-liner #17

To post questions please use Project Discussions or ScalaFX Users Group

Full Changelog: v.0.5.0...v.0.6.0

ScalaFX-Extras v.0.5.0

19 Dec 18:42
v.0.5.0
d5c8a50
Compare
Choose a tag to compare

Enhancements:

  • Change in ControllerFX trait API of Scala 3 version: add abstract 'initialize()' removing need to manually annotate
    the method with @FXML (Issue #14)
  • Add description of the MVCfx Pattern to project wiki
  • Update ScalaFX dependency to 17.0.1-R26
  • Update "logback-classic" to 1.2.9
  • Scala 3 code in demos is using the new Scala 3 syntax

To post questions please use Project Discussions or ScalaFX Users Group

ScalaFX-Extras v.0.4.0

25 Nov 02:26
v.0.4.0
a0f4370
Compare
Choose a tag to compare

Enhancement:

  • Support use in Scala 3 by removing use of ScalaFX (Scala 2 macros) Issue #12. That required some changes in
    MVCfx API (Scala 2 use stays the same). See demos for examples of the new use.
  • Update to ScalaFX 16.0.0-R25

To post questions please use Project Discussions or ScalaFX Users Group

ScalaFX-Extras v.0.3.6

12 Jan 03:53
Compare
Choose a tag to compare

ScalaFX-Extras Release v.0.3.6

Enhancement:

  • Update to ScalaFX 15.0.1-R21

Bug fix:

  • Issue #10 Wait cursor is not set reliably by the BusyWorker

To post questions please use ScalaFX Users Group or StackOverflow ScalaFX

ScalaFX-Extras v.0.3.5

07 Jan 01:58
Compare
Choose a tag to compare

Enhancement:

To post questions please use ScalaFX Users Group or StackOverflow ScalaFX