Browse Source

Add new automatic conversion to `BooleanProperty`

There are a number of signatures in ScalaFX that won't accept an
observable of a Scala Boolean and that require you to convert it to a
Java Boolean. This adds an automatic conversion to resolve that.
master
Sarah Gerweck 8 years ago
parent
commit
5b6ad07a08
  1. 15
      src/main/scala/org/gerweck/scalafx/util/LowPriorityImplicits.scala
  2. 3
      src/main/scala/org/gerweck/scalafx/util/package.scala

15
src/main/scala/org/gerweck/scalafx/util/LowPriorityImplicits.scala

@ -0,0 +1,15 @@
package org.gerweck.scalafx.util
import scala.language.implicitConversions
import scalafx.beans.property._
trait LowPriorityImplicits {
implicit def scalaBooleanToBooleanProperty(ob: ReadOnlyObjectProperty[Boolean]): ReadOnlyBooleanProperty = {
val b = BooleanProperty(ob.value)
ob onChange { (_, oldV, newV) =>
b.value = newV
}
b
}
}

3
src/main/scala/org/gerweck/scalafx/util/package.scala

@ -3,6 +3,7 @@ package org.gerweck.scalafx
import language.implicitConversions
import language.existentials
import scalafx.Includes._
import scalafx.beans.property._
import scalafx.beans.value._
import scalafx.event.subscriptions.Subscription
@ -19,7 +20,7 @@ import scalaz._
*
* @author Sarah Gerweck <sarah@atscale.com>
*/
package object util extends ObservableImplicits {
package object util extends ObservableImplicits with LowPriorityImplicits {
type Observable[A] = ObservableValue[A, _]
type SimpleProperty[A] = Property[A, _]

Loading…
Cancel
Save