diff --git a/src/main/scala/org/gerweck/scalafx/util/PropertyBuilder.scala b/src/main/scala/org/gerweck/scalafx/util/PropertyBuilder.scala index 0bb5057..5ebeb46 100644 --- a/src/main/scala/org/gerweck/scalafx/util/PropertyBuilder.scala +++ b/src/main/scala/org/gerweck/scalafx/util/PropertyBuilder.scala @@ -15,7 +15,7 @@ import scalafx.beans.property._ * @author Sarah Gerweck */ trait PropertyBuilder[A] { - type Prop <: Property[A, _] + type Prop <: SimpleProperty[A] def makeNew(default: A): Prop } @@ -52,7 +52,7 @@ object PropertyBuilder extends PropertyBuilderLP { def makeNew(default: String) = StringProperty(default) } - def apply[A](default: A)(implicit builder: PropertyBuilder[A]): Property[A, _] = { + def apply[A](default: A)(implicit builder: PropertyBuilder[A]): SimpleProperty[A] = { builder.makeNew(default) } } diff --git a/src/main/scala/org/gerweck/scalafx/util/package.scala b/src/main/scala/org/gerweck/scalafx/util/package.scala index b2d65f5..0e2dc0f 100644 --- a/src/main/scala/org/gerweck/scalafx/util/package.scala +++ b/src/main/scala/org/gerweck/scalafx/util/package.scala @@ -19,6 +19,7 @@ import Scalaz._ */ package object util { type Observable[A] = ObservableValue[A, _] + type SimpleProperty[A] = Property[A, _] implicit val observableApplicative = new Applicative[Observable] { def point[A](a: => A): Observable[A] = { @@ -48,7 +49,7 @@ package object util { } } - implicit class RichProperty[A](val inner: Property[A, _]) extends AnyVal { + implicit class RichProperty[A](val inner: SimpleProperty[A]) extends AnyVal { def biMap[B <: AnyRef](push: A => B, pull: B => A): ObjectProperty[B] = { val original = push(inner.value) val op = ObjectProperty[B](original)