trait _Trait[+A] extends AnyRef

Properties Framework

Properties are needed for GUI programming and can be skipped in most cases

There are 4 types of standard properties:

and they are hierarchical:

      Pro.O
    /       \
Pro           Pro.OM
    \       /
      Pro.M

Here are the signature examples based on 'name' property

 // 'Read Only'
trait MyObject{
    def namePro: Pro[String]
    def name: String = namePro()               // Required shortcut
}

// 'Read Write'
trait MyObject_Writable extends MyObject{
    def namePro: Pro.M[String]
    def name_=(v :String):Unit = namePro() = v // Required shortcut
}

// 'Read Only, Observable'
trait MyObject_Observable extends MyObject{
    def namePro: Pro.O[String]
}

// 'Read Write Observable'
trait MyObject_OW extends MyObject_Observable with MyObject_Writable {
    def namePro: Pro.OM[String]
}

Note. The 'Required shortcuts' must be implemented. They do not even show up in documentation, because they are assumed to be there

Ordering
  1. Alphabetic
Inherited
  1. Pro
  2. scala.AnyRef
  3. scala.Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Method

  1. abstract def apply(): A

    Property value

    Property value

    Returns property value

    val pro: Pro.M[String] = Pro.M.make[String]("abc")
    
    val v1 = pro.apply() // Regular call
    val v2 = pro()       // Scala "syntactic sugar" call
    Definition Classes
    _Trait
  2. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  3. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  4. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  5. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  6. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  7. def hashCode(): Int
    Definition Classes
    AnyRef → Any
  8. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  9. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  10. final def notify(): Unit
    Definition Classes
    AnyRef
  11. final def notifyAll(): Unit
    Definition Classes
    AnyRef
  12. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  13. def toString(): String
    Definition Classes
    AnyRef → Any
  14. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  15. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  16. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Operator

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any