Browse Source

Add conversion to ObservableBuffer

master
Sarah Gerweck 9 years ago
parent
commit
777f6bda28
  1. 9
      src/main/scala/org/gerweck/scalafx/util/observable.scala

9
src/main/scala/org/gerweck/scalafx/util/observable.scala

@ -6,6 +6,7 @@ import scalaz._
import scalafx.beans.property._
import scalafx.beans.value._
import scalafx.collections._
trait ObservableImplicits {
/* NOTE: (Sarah) I believe that the synchronization in these helpers is not
@ -163,6 +164,14 @@ class RichObservable[A, C](val self: ObservableValue[A, C]) extends AnyVal {
final def [B, B1](fb: ObservableValue[B, B1]) = |@|(fb)
}
class ObservableOfIterable[A](val self: ObservableValue[Iterable[A], Iterable[A]]) extends AnyVal {
def toBuffer: ObservableBuffer[A] = {
val buff = ObservableBuffer(self.value.toSeq)
self onChange { (_, oldV, newV) => fillCollection(buff.delegate, newV) }
buff
}
}
class RichProperty[A, B](val inner: Property[A, B]) extends AnyVal {
def biMap[B <: AnyRef](push: A => B, pull: B => A): ObjectProperty[B] = {
val original = push(inner.value)

Loading…
Cancel
Save