Additions to ScalaFX that do not have corresponding concepts in JavaFX
OTHER License
Bot releases are hidden (Show)
This release of ScalaFX-Extras is a feature release.
To post questions, please use Project Discussions or ScalaFX Users Group
Full Changelog: https://github.com/scalafx/scalafx-extras/compare/v.0.9.0...v.0.10.0
Published by jpsacha 7 months ago
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.
SimpleTask
is disabled in BusyWorker#_doTask
[#28]org.scalafx.extras.BusyWorker.SimpleTask
API changed to respect overridesonSucceeded
, onCancelled
, onFailed
that were ignored. Issue [#28].To post questions, please use Project Discussions or ScalaFX Users Group
Published by jpsacha over 1 year ago
This release of ScalaFX-Extras add ability to conveniently add fields and read data from a pane using GenericPane
. Add a couple bug fixes
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.
FileSelectionField
can now be controlled. ThisGenericPaneBase.addDirectoryField
GenericPaneBase.addFileField
org.scalafx.extras.generic_dialog
was changed to org.scalafx.extras.generic_pane
GenericDialogFX
parameter's name parentWindow
was changes to ownerWindow
to avoid conflictGenericPaneBase
GenericPaneBase.addDirectoryField
- is ignoring argument columns [#23]GenericPaneBase.addFileField
is missing argument columns [#24]IllegalAccessError
in AutoDialog
(0.7.0) [#25]To post questions please use Project Discussions or ScalaFX Users Group
Full Changelog: https://github.com/scalafx/scalafx-extras/compare/v.0.7.0...v.0.8.0
Published by jpsacha about 2 years ago
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:
To post questions please use Project Discussions or ScalaFX Users Group
Full Changelog: https://github.com/scalafx/scalafx-extras/compare/v.0.6.0...v.0.7.0
Published by jpsacha over 2 years ago
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:
To post questions please use Project Discussions or ScalaFX Users Group
Full Changelog: https://github.com/scalafx/scalafx-extras/compare/v.0.5.0...v.0.6.0
Published by jpsacha almost 3 years ago
Enhancements:
ControllerFX
trait API of Scala 3 version: add abstract 'initialize()' removing need to manually annotate@FXML
(Issue #14)To post questions please use Project Discussions or ScalaFX Users Group
Published by jpsacha almost 3 years ago
Enhancement:
To post questions please use Project Discussions or ScalaFX Users Group
Published by jpsacha almost 4 years ago
Enhancement:
Bug fix:
Wait
cursor is not set reliably by the BusyWorkerTo post questions please use ScalaFX Users Group or StackOverflow ScalaFX
Published by jpsacha almost 4 years ago
Enhancement:
To post questions please use ScalaFX Users Group or StackOverflow ScalaFX
Published by jpsacha over 4 years ago
Enhancement:
model
and view
creation in MVCfx
#8Published by jpsacha over 4 years ago
Bug fix release:
To post questions please use ScalaFX Users Group or StackOverflow ScalaFX
Published by jpsacha about 5 years ago
Enhancements:
To post questions please use ScalaFX Users Group of StackOverflow ScalaFX
Published by jpsacha about 5 years ago
Main objective of this release is to add support for Scala 2.13
Changes:
To post questions please use ScalaFX Users Group of StackOverflow ScalaFX
Published by jpsacha almost 6 years ago
Changes:
BusyWorker.doTask
now disallows use of code blocks, must use lambda notation to avoid execution on incorrect thread.To post questions please use ScalaFX Users Group of StackOverflow ScalaFX
Published by jpsacha almost 6 years ago
Changes:
To post questions please use ScalaFX Users Group of StackOverflow ScalaFX
Published by jpsacha almost 6 years ago
v.0.2.0 is a feature release, several new concepts were added:
ShowMessage
makes it easier to display dialogs.BusyWorker
helps running UI tasks a separate threads (other than the JavaFX Application thread).ImageDisplay
component for showing images with ability to zoom in, zoom out, zoom to fit.There were also significant changes to the Model-View-X pattern code.
The View
changed name to ControllerFX
to match naming used in JavaFX.
Model
was renamed to ModelFX
.
ModelView
was renamed to MVCfx
.
There were some other changed for smoother integration with the new ShowMessage
and BusyWorker
classes.
The ending FX
was added to avoid conflicts with ScalaFXML macros clashing with name Controller
.
The are new demos, in scalafx-extras-demos
project that illustrate the use of the scalafx-extras
features.
To post questions please use ScalaFX Users Group of StackOverflow ScalaFX