|
|
@ -27,10 +27,32 @@ import scalafx.scene.Scene |
|
|
|
import scalafx.scene.control.ButtonBase |
|
|
|
import scalafx.scene.control.MenuItem |
|
|
|
|
|
|
|
trait JavaFXMonixObservables { |
|
|
|
import JavaFXMonixObservables._ |
|
|
|
implicit def extendedScene(scene: Scene) = new SceneExt(scene) |
|
|
|
implicit def extendedProperty[T, J]( |
|
|
|
propery: Property[T, J] |
|
|
|
): PropertyExt[T, J] = |
|
|
|
new PropertyExt(propery) |
|
|
|
implicit def extendedObjectPropety[A](prop: ObjectProperty[A]) = |
|
|
|
new ObjectPropertyExt[A](prop) |
|
|
|
implicit def extendedReadOnlyObjectPropety[T, J]( |
|
|
|
prop: ReadOnlyProperty[T, J] |
|
|
|
) = |
|
|
|
new ReadOnlyPropertyExt[T, J](prop) |
|
|
|
implicit def extendedObservableList[A]( |
|
|
|
list: ObservableList[A] |
|
|
|
) = new ObservableListExt(list) |
|
|
|
implicit def extendedObjectPropertyObservableList[A]( |
|
|
|
prop: ObjectProperty[ObservableList[A]] |
|
|
|
) = new ObjectPropertyObservableListExt(prop) |
|
|
|
implicit def extendedButton(button: ButtonBase) = new ButtonBaseExt(button) |
|
|
|
implicit def extendedMenuItem(item: MenuItem) = new MenuItemExt(item) |
|
|
|
} |
|
|
|
|
|
|
|
object JavaFXMonixObservables { |
|
|
|
|
|
|
|
implicit final class SceneObservables(private val scene: Scene) |
|
|
|
extends AnyVal { |
|
|
|
final class SceneExt(private val scene: Scene) extends AnyVal { |
|
|
|
|
|
|
|
def observableMousePressed(): Observable[jfxsi.MouseEvent] = { |
|
|
|
import monix.execution.cancelables.SingleAssignCancelable |
|
|
@ -75,7 +97,7 @@ object JavaFXMonixObservables { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
implicit final class BindObs[T, J](private val prop: Property[T, J]) |
|
|
|
final class PropertyExt[T, J](private val prop: Property[T, J]) |
|
|
|
extends AnyVal { |
|
|
|
def -->(op: Observer[T]) = { |
|
|
|
op.onNext(prop.value) |
|
|
@ -107,7 +129,7 @@ object JavaFXMonixObservables { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
implicit final class BindObs2[A](private val prop: ObjectProperty[A]) |
|
|
|
final class ObjectPropertyExt[A](private val prop: ObjectProperty[A]) |
|
|
|
extends AnyVal { |
|
|
|
|
|
|
|
def -->(sub: Observer[A]) = |
|
|
@ -136,7 +158,7 @@ object JavaFXMonixObservables { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
implicit final class ObservableListExt[A]( |
|
|
|
final class ObservableListExt[A]( |
|
|
|
private val buffer: ObservableList[A] |
|
|
|
) extends AnyVal { |
|
|
|
|
|
|
@ -189,8 +211,9 @@ object JavaFXMonixObservables { |
|
|
|
} else Task.unit |
|
|
|
} |
|
|
|
|
|
|
|
implicit final class BindObs3[T, J](private val prop: ReadOnlyProperty[T, J]) |
|
|
|
extends AnyVal { |
|
|
|
final class ReadOnlyPropertyExt[T, J]( |
|
|
|
private val prop: ReadOnlyProperty[T, J] |
|
|
|
) extends AnyVal { |
|
|
|
def -->(op: Observer[T]) = { |
|
|
|
op.onNext(prop.value) |
|
|
|
} |
|
|
@ -214,7 +237,7 @@ object JavaFXMonixObservables { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
implicit final class ObjectPropertyObservableListExt[A]( |
|
|
|
final class ObjectPropertyObservableListExt[A]( |
|
|
|
private val prop: ObjectProperty[ObservableList[A]] |
|
|
|
) extends AnyVal { |
|
|
|
def <--(obs: Observable[Seq[A]])(implicit s: Scheduler) = { |
|
|
@ -259,7 +282,7 @@ object JavaFXMonixObservables { |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
implicit final class ObjectPropertyActionEvent( |
|
|
|
final class ObjectPropertyActionEvent( |
|
|
|
private val prop: ObjectProperty[EventHandler[ActionEvent]] |
|
|
|
) extends AnyVal { |
|
|
|
// def <--(obs: Observable[ActionEvent])(implicit s: Scheduler) = { |
|
|
@ -273,7 +296,7 @@ object JavaFXMonixObservables { |
|
|
|
|
|
|
|
// def emit(prop: ObjectProperty[EventHandler[ActionEvent]]) = |
|
|
|
|
|
|
|
implicit final class OnActionObservable( |
|
|
|
final class ButtonBaseExt( |
|
|
|
private val button: ButtonBase |
|
|
|
) extends AnyVal { |
|
|
|
|
|
|
@ -299,7 +322,7 @@ object JavaFXMonixObservables { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
implicit final class MenuItemActionObservable( |
|
|
|
final class MenuItemExt( |
|
|
|
private val item: MenuItem |
|
|
|
) extends AnyVal { |
|
|
|
|
|
|
|