Skip to content

Wrap missing Bindings.create*Binding #232

@jpsacha

Description

@jpsacha

create*Binding methods allow creation binding of arbitrary expression created from any number of observable values.

Here is a possible wrapper for createStringBinding:

  def createStringBinding(op: () => String, values: Observable*): StringBinding = {

    jfxbb.Bindings.createStringBinding(
      new jfxuc.Callable[String] {
        override def call() = op()
      },
      values.map(_.delegate): _*)
  }

it allows writing code like, that creates binding that converts String property to lower case:

  val a = new StringProperty()
  val b = createStringBinding(() => Option(a.value).getOrElse("").toLowerCase(), a)

See also discussion at #231.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions