Event

object Event

This object holds the event building framework

Source
__.scala
class java.lang.Object
trait scala.Matchable
class Any

Member

object CancelRequest extends java.lang.RuntimeException

CancelRequest can be thrown inside event code, so the event will be cancelled

Note: This is more advanced facility, most events are cancelled with returned Event.Control methods

Source
CancelRequest.scala
trait Control

Source
__.scala
trait Control

Source
__.scala
abstract class Id
Source
Id.scala
abstract class Id
Source
Id.scala
trait Observable

General Observable

General Observable is the root interface of all observable types.

  val pro = Pro.OM[Int](0)

  pro.onObservableChange(() => "Change detected".tp)

  pro() = 1

  // Output
  Change detected
Source
__.scala
trait Observable

General Observable

General Observable is the root interface of all observable types.

  val pro = Pro.OM[Int](0)

  pro.onObservableChange(() => "Change detected".tp)

  pro() = 1

  // Output
  Change detected
Source
__.scala
class Store extends _events with _entries with _activation with _properties

Event.Store is a shared linked list container for keeping primarily _events definitions.

But it also can store/access any generic objects through _entries interface.

Event.Store has an idea of 'id' space or scope. Entries are added with specific 'id' and can only be accessible if this 'id' is provided. So, different types of entries defined in curent or extending types can share a single store instance.

The removal of entries is lazy after an Entry method 'cancel' is invoked. Though events do provide direct removal as well.

Source
__.scala
class Store extends _events with _entries with _activation with _properties

Event.Store is a shared linked list container for keeping primarily _events definitions.

But it also can store/access any generic objects through _entries interface.

Event.Store has an idea of 'id' space or scope. Entries are added with specific 'id' and can only be accessible if this 'id' is provided. So, different types of entries defined in curent or extending types can share a single store instance.

The removal of entries is lazy after an Entry method 'cancel' is invoked. Though events do provide direct removal as well.

Source
__.scala