Packages

  • package o1

    O1Library is a toolkit designed for the course Programming 1 (a.k.a. O1) at Aalto University.

    O1Library is a toolkit designed for the course Programming 1 (a.k.a. O1) at Aalto University. It contains an assortment of tools; most prominently, it provides a framework for simple graphical programming and utilities for playing sound.

    This is the front page of O1Library’s documentation. However, this is probably not the best place to start learning about O1Library as a student. That’s because the relevant content of this library is introduced bit by bit in the chapters of O1’s custom ebook alongside the associated programming concepts and assignments.

    You may still find this documentation useful as a reference. You can also find some optional content here that you may wish to try.

    This front page lists the content available in the top-level package called simply o1. These tools are available with the simple command import o1._ in your Scala programs. Some of them you’ll use a lot; some of them you won’t necessarily need at all.

    The tools listed here are actually implemented in a number of subpackages (o1.gui, o1.sound, etc.); what you see here are just “shortcut aliases” to those actual implementations. The aliases are here to make that convenient import command work and to provide you with this list of links to some of the more commonly used tools in O1Library. The subpackages also contain additional content not listed here.

    O1Library has been developed by Aleksi Lukkarinen and Juha Sorva. Several of the key components in o1.gui and o1.world are built upon Aleksi’s Scala Media Computation Library. Some parts of O1Library draw inspiration from the “teachpacks” of the Racket programming language.

    We are grateful to Riku Autio, Joonatan Honkamaa, Juhani Numminen, Leo Varis, Veera Kahva, and anonymous students for bug reports and fixes. We thank Otto Seppälä for helpful discussions.

    Definition Classes
    root
  • package gui

    This package contains tools for building simple GUIs.

    This package contains tools for building simple GUIs. The toolkit is particularly well suited to constructing GUIs that display information as 2D images and/or geometric shapes. It is not designed for demanding graphical needs that call for high efficiency. Some of the tools in this package are built on the Swing GUI library, and the two libraries can be used in combination.

    Some of the types in this package have aliases in the top-level package o1, so they are accessible to students simply via import o1._. Some of the package contents are not available in the top-level package or included in this documentation.

    Please note: One of this package’s key components (views) comes in multiple varieties, which which are defined in the subpackages o1.gui.mutable and o1.gui.immutable and not listed below. The View that is most commonly used in O1 (and aliased as o1.View in the top-level package) is o1.gui.mutable.ViewFrame.

    Definition Classes
    o1
  • object mutable

    This package contains the version of Views that we primarily use in O1: views to mutable domain models.

    This package contains the version of Views that we primarily use in O1: views to mutable domain models.

    The top-level package o1 provides an alias to the ViewFrame class in this package, so it is available to students as View simply by importing o1._.

    There is an alternative implementation of Views in o1.gui.immutable.

    Definition Classes
    gui
  • abstract class ViewComponent[Model <: AnyRef] extends ViewImpl.ViewComponent[Model] with ControlDefaults[Model]

    A Swing-embeddable view (complete with a picture, a ticking clock, event handlers, etc.).

    A Swing-embeddable view (complete with a picture, a ticking clock, event handlers, etc.). It works like a ViewFrame except that it’s a Swing component, not a standalone GUI frame. See ViewFrame for an overview.

    Model

    the type of the model object

    Definition Classes
    mutable
  • SuperMixin
  • Traced
  • keys
  • mouse

final class Traced[TraceData] extends ViewComponent[Model] with TraceGeneratingDefaults[Model, TraceData]

A view that wraps around another, collecting a log or trace of events while delegating its actual event-handling to the wrapped view. Provides additional methods for accessing such traces: trace, simulateAndGet, and startAndGet. A few examples of using these methods are given below.

simulate 500 clock ticks on the trace-collecing view and print the trace of clock ticks accompanied by descriptions of the view’äs model.

for((traceItem, traceEvent) <- myTracedView.simulateAndGet(500)) {
  println(traceEvent + ": " + traceItem)
}

Or, equivalently:

myTracedView.simulate(500)
for((traceItem, traceEvent) <- myTracedView.trace) {
  println(traceEvent + ": " + traceItem)
}

Alternatively, start the trace-collecting view and run it interactively until it is done or a tick limit is reached. Then print the trace of ticks and GUI events accompanied with descriptions of the view’s model.

val futureTrace = myTracedView.startAndGet(tickLimit=100) recover {
  case Aborted(message, partialTrace) => partialTrace
}
for(trace <- futureTrace; (traceItem, traceEvent) <- trace) {
  println(traceEvent + ": " + traceItem)
}
TraceData

the type of the model-state descriptions in the trace

Linear Supertypes
TraceGeneratingDefaults[Model, TraceData], GeneratesTrace[Model, TraceData], ViewComponent[Model], ControlDefaults[Model], HasModelField[Model], TooltipDefaults, ViewImpl.ViewComponent[Model], View.Controls[Model], Component, UIElement, LazyPublisher, Publisher, Reactor, Proxy, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Traced
  2. TraceGeneratingDefaults
  3. GeneratesTrace
  4. ViewComponent
  5. ControlDefaults
  6. HasModelField
  7. TooltipDefaults
  8. ViewComponent
  9. Controls
  10. Component
  11. UIElement
  12. LazyPublisher
  13. Publisher
  14. Reactor
  15. Proxy
  16. AnyRef
  17. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new Traced(extractTrace: (Model) => TraceData)

    extractTrace

    a function that determines how to describe a model state in the generated trace

Type Members

  1. final class Traced[TraceData] extends ViewComponent[Model] with TraceGeneratingDefaults[Model, TraceData]

    A view that wraps around another, collecting a log or trace of events while delegating its actual event-handling to the wrapped view.

    A view that wraps around another, collecting a log or trace of events while delegating its actual event-handling to the wrapped view. Provides additional methods for accessing such traces: trace, simulateAndGet, and startAndGet. A few examples of using these methods are given below.

    simulate 500 clock ticks on the trace-collecing view and print the trace of clock ticks accompanied by descriptions of the view’äs model.

    for((traceItem, traceEvent) <- myTracedView.simulateAndGet(500)) {
      println(traceEvent + ": " + traceItem)
    }

    Or, equivalently:

    myTracedView.simulate(500)
    for((traceItem, traceEvent) <- myTracedView.trace) {
      println(traceEvent + ": " + traceItem)
    }

    Alternatively, start the trace-collecting view and run it interactively until it is done or a tick limit is reached. Then print the trace of ticks and GUI events accompanied with descriptions of the view’s model.

    val futureTrace = myTracedView.startAndGet(tickLimit=100) recover {
      case Aborted(message, partialTrace) => partialTrace
    }
    for(trace <- futureTrace; (traceItem, traceEvent) <- trace) {
      println(traceEvent + ": " + traceItem)
    }
    TraceData

    the type of the model-state descriptions in the trace

    Definition Classes
    ViewComponent

Value Members

  1. final def adjustSpeed(newTickRate: Double): Unit

    Sets a new tick rate for the view, replacing any previously set by the constructor or this method.

    Sets a new tick rate for the view, replacing any previously set by the constructor or this method.

    Definition Classes
    ViewComponent
  2. def background: scala.swing.Color
    Definition Classes
    UIElement
  3. def background_=(c: scala.swing.Color): Unit
    Definition Classes
    UIElement
  4. def border: Border
    Definition Classes
    Component
  5. def border_=(b: Border): Unit
    Definition Classes
    Component
  6. def bounds: Rectangle
    Definition Classes
    UIElement
  7. def componentOrientation: ComponentOrientation
    Definition Classes
    UIElement
  8. def componentOrientation_=(x: ComponentOrientation): Unit
    Definition Classes
    UIElement
  9. def cursor: Cursor
    Definition Classes
    UIElement
  10. def cursor_=(c: Cursor): Unit
    Definition Classes
    UIElement
  11. def deafTo(ps: Publisher*): Unit
    Definition Classes
    Reactor
  12. def displayable: Boolean
    Definition Classes
    UIElement
  13. def enabled: Boolean
    Definition Classes
    Component
  14. def enabled_=(b: Boolean): Unit
    Definition Classes
    Component
  15. def equals(that: Any): Boolean
    Definition Classes
    Proxy → Any
  16. def focusable: Boolean
    Definition Classes
    Component
  17. def focusable_=(b: Boolean): Unit
    Definition Classes
    Component
  18. def font: Font
    Definition Classes
    UIElement
  19. def font_=(f: Font): Unit
    Definition Classes
    UIElement
  20. def foreground: scala.swing.Color
    Definition Classes
    UIElement
  21. def foreground_=(c: scala.swing.Color): Unit
    Definition Classes
    UIElement
  22. def hasFocus: Boolean
    Definition Classes
    Component
  23. def hashCode(): Int
    Definition Classes
    Proxy → Any
  24. def ignoreRepaint: Boolean
    Definition Classes
    UIElement
  25. def ignoreRepaint_=(b: Boolean): Unit
    Definition Classes
    UIElement
  26. def inputVerifier: (Component) => Boolean
    Definition Classes
    Component
  27. def inputVerifier_=(v: (Component) => Boolean): Unit
    Definition Classes
    Component
  28. def isDone: Boolean

    Determines if the given state is a “done state” for the view.

    Determines if the given state is a “done state” for the view. By default, this is never the case, but that behavior can be overridden.

    Once done, the view stops reacting to events and updating its graphics and may close its GUI window, depending on the constructor parameters of the view.

    Definition Classes
    TraceGeneratingDefaults → ControlDefaults
  29. final def isPaused: Boolean

    Indicates whether the view is paused.

    Indicates whether the view is paused. This implementation delegates to the underlying View that is being traced.

    Definition Classes
    GeneratesTrace → Controls
  30. def listenTo(ps: Publisher*): Unit
    Definition Classes
    Reactor
  31. def locale: Locale
    Definition Classes
    UIElement
  32. def location: Point
    Definition Classes
    UIElement
  33. def locationOnScreen: Point
    Definition Classes
    UIElement
  34. def makePic: Pic

    Returns a Pic that graphically represents the current state of the view’s model object.

    Returns a Pic that graphically represents the current state of the view’s model object. This method is automatically invoked by the view after GUI events and clock ticks. Left abstract by this class so any concrete view needs to add a custom implementation.

    For best results, all invocations of this method on a single view object should return Pics of equal dimensions.

    Definition Classes
    TraceGeneratingDefaults → ControlDefaults
  35. def maximumSize: Dimension
    Definition Classes
    UIElement
  36. def maximumSize_=(x: Dimension): Unit
    Definition Classes
    UIElement
  37. def minimumSize: Dimension
    Definition Classes
    UIElement
  38. def minimumSize_=(x: Dimension): Unit
    Definition Classes
    UIElement
  39. def model: Model

    the model object represented in the view.

    the model object represented in the view.

    Definition Classes
    HasModelField
  40. def name: String
    Definition Classes
    Component
  41. def name_=(s: String): Unit
    Definition Classes
    Component
  42. def onClick(event: event.MouseClicked): Unit

    Causes an effect whenever a mouse button is clicked (pressed+released, possibly multiple times in sequence) above the view.

    Causes an effect whenever a mouse button is clicked (pressed+released, possibly multiple times in sequence) above the view. Does nothing by default but can be overridden.

    If you don’t need much information about the GUI event, you may find it simpler to implement the other method of the same name instead of this one.

    event

    the GUI event that caused this handler to be called

    Definition Classes
    TraceGeneratingDefaults → ControlDefaults
  43. def onClick(position: Pos): Unit

    Causes an effect whenever a mouse button is clicked (pressed+released, possibly multiple times in sequence) above the view.

    Causes an effect whenever a mouse button is clicked (pressed+released, possibly multiple times in sequence) above the view. Does nothing by default but can be overridden.

    If the desired behavior depends on detailed information about the GUI event, you may want to implement the other method of the same name instead of this one.

    position

    the position of the mouse cursor relative to the view’s top left-hand corner

    Definition Classes
    TraceGeneratingDefaults → ControlDefaults
  44. def onKeyDown(event: event.KeyPressed): Unit

    Causes an effect whenever a key on the keyboard is pressed down while the view has the keyboard focus.

    Causes an effect whenever a key on the keyboard is pressed down while the view has the keyboard focus. Does nothing by default but can be overridden.

    If you don’t need much information about the GUI event, you may find it simpler to implement the other method of the same name instead of this one.

    event

    the GUI event that caused this handler to be called

    Definition Classes
    TraceGeneratingDefaults → ControlDefaults
  45. def onKeyDown(key: Key): Unit

    Causes an effect whenever a key on the keyboard is pressed down while the view has the keyboard focus.

    Causes an effect whenever a key on the keyboard is pressed down while the view has the keyboard focus. Does nothing by default but can be overridden.

    If the desired behavior depends on detailed information about the GUI event, you may want to implement the other method of the same name instead of this one.

    key

    the key that was pressed down

    Definition Classes
    TraceGeneratingDefaults → ControlDefaults
  46. def onKeyUp(event: event.KeyReleased): Unit

    Causes an effect whenever a key on the keyboard is released while the view has the keyboard focus.

    Causes an effect whenever a key on the keyboard is released while the view has the keyboard focus. Does nothing by default but can be overridden.

    If you don’t need much information about the GUI event, you may find it simpler to implement the other method of the same name instead of this one.

    event

    the GUI event that caused this handler to be called

    Definition Classes
    TraceGeneratingDefaults → ControlDefaults
  47. def onKeyUp(key: Key): Unit

    Causes an effect whenever a key on the keyboard is released while the view has the keyboard focus.

    Causes an effect whenever a key on the keyboard is released while the view has the keyboard focus. Does nothing by default but can be overridden.

    If the desired behavior depends on detailed information about the GUI event, you may want to implement the other method of the same name instead of this one.

    key

    the key that was released

    Definition Classes
    TraceGeneratingDefaults → ControlDefaults
  48. def onMouseDown(event: event.MousePressed): Unit

    Causes an effect whenever a mouse button is pressed down above the view.

    Causes an effect whenever a mouse button is pressed down above the view. Does nothing by default but can be overridden.

    If you don’t need much information about the GUI event, you may find it simpler to implement the other method of the same name instead of this one.

    event

    the GUI event that caused this handler to be called

    Definition Classes
    TraceGeneratingDefaults → ControlDefaults
  49. def onMouseDown(position: Pos): Unit

    Causes an effect whenever a mouse button is pressed down above the view.

    Causes an effect whenever a mouse button is pressed down above the view. Does nothing by default but can be overridden.

    If the desired behavior depends on detailed information about the GUI event, you may want to implement the other method of the same name instead of this one.

    position

    the position of the mouse cursor relative to the view’s top left-hand corner

    Definition Classes
    TraceGeneratingDefaults → ControlDefaults
  50. def onMouseDrag(event: event.MouseDragged): Unit

    Causes an effect whenever the mouse cursor is dragged above the view.

    Causes an effect whenever the mouse cursor is dragged above the view. Does nothing by default but can be overridden.

    If you don’t need much information about the GUI event, you may find it simpler to implement the other method of the same name instead of this one.

    event

    the GUI event that caused this handler to be called

    Definition Classes
    TraceGeneratingDefaults → ControlDefaults
  51. def onMouseDrag(position: Pos): Unit

    Causes an effect whenever the mouse cursor is dragged above the view.

    Causes an effect whenever the mouse cursor is dragged above the view. Does nothing by default but can be overridden.

    If the desired behavior depends on detailed information about the GUI event, you may want to implement the other method of the same name instead of this one.

    position

    the position of the mouse cursor relative to the view’s top left-hand corner

    Definition Classes
    TraceGeneratingDefaults → ControlDefaults
  52. def onMouseEnter(event: event.MouseEntered): Unit

    Causes an effect whenever the mouse cursor enters the view.

    Causes an effect whenever the mouse cursor enters the view. Does nothing by default but can be overridden.

    event

    the GUI event that caused this handler to be called

    Definition Classes
    TraceGeneratingDefaults → ControlDefaults
  53. def onMouseExit(event: event.MouseExited): Unit

    Causes an effect whenever the mouse cursor exits the view.

    Causes an effect whenever the mouse cursor exits the view. Does nothing by default but can be overridden.

    event

    the GUI event that caused this handler to be called

    Definition Classes
    TraceGeneratingDefaults → ControlDefaults
  54. def onMouseMove(event: event.MouseMoved): Unit

    Causes an effect whenever the mouse cursor moves above the view.

    Causes an effect whenever the mouse cursor moves above the view. Does nothing by default but can be overridden.

    If you don’t need much information about the GUI event, you may find it simpler to implement the other method of the same name instead of this one.

    event

    the GUI event that caused this handler to be called

    Definition Classes
    TraceGeneratingDefaults → ControlDefaults
  55. def onMouseMove(position: Pos): Unit

    Causes an effect whenever the mouse cursor moves above the view.

    Causes an effect whenever the mouse cursor moves above the view. Does nothing by default but can be overridden.

    If the desired behavior depends on detailed information about the GUI event, you may want to implement the other method of the same name instead of this one.

    position

    the position of the mouse cursor relative to the view’s top left-hand corner

    Definition Classes
    TraceGeneratingDefaults → ControlDefaults
  56. def onMouseUp(event: event.MouseReleased): Unit

    Causes an effect whenever a mouse button is released above the view.

    Causes an effect whenever a mouse button is released above the view. Does nothing by default but can be overridden.

    If you don’t need much information about the GUI event, you may find it simpler to implement the other method of the same name instead of this one.

    event

    the GUI event that caused this handler to be called

    Definition Classes
    TraceGeneratingDefaults → ControlDefaults
  57. def onMouseUp(position: Pos): Unit

    Causes an effect whenever a mouse button is released above the view.

    Causes an effect whenever a mouse button is released above the view. Does nothing by default but can be overridden.

    If the desired behavior depends on detailed information about the GUI event, you may want to implement the other method of the same name instead of this one.

    position

    the position of the mouse cursor relative to the view’s top left-hand corner

    Definition Classes
    TraceGeneratingDefaults → ControlDefaults
  58. final def onStop(): Unit

    Causes an additional effect when the view is stopped (with stop()).

    Causes an additional effect when the view is stopped (with stop()). This implementation delegates to the underlying View that is being traced. In addition, if the traced view had been started with startAndGet and reaches its tick limit before being done, this method causes the returned future to complete with a failure.

    Definition Classes
    GeneratesTrace → Controls
  59. def onTick(time: Long): Unit

    Causes an effect whenever the view’s internal clock ticks.

    Causes an effect whenever the view’s internal clock ticks. Does nothing by default but can be overridden.

    If you don’t need the number of the clock tick, you may find it simpler to implement the other method of the same name instead of this one.

    time

    the running number of the clock tick (the first tick being number 1, the second 2, etc.)

    Definition Classes
    TraceGeneratingDefaults → ControlDefaults
  60. def onTick(): Unit

    Causes an effect whenever the view’s internal clock ticks.

    Causes an effect whenever the view’s internal clock ticks. Does nothing by default but can be overridden.

    Definition Classes
    TraceGeneratingDefaults → ControlDefaults
  61. def onType(event: event.KeyTyped): Unit

    Causes an effect whenever a key on the keyboard is typed (pressed+released) while the view has the keyboard focus.

    Causes an effect whenever a key on the keyboard is typed (pressed+released) while the view has the keyboard focus. Does nothing by default but can be overridden.

    If you don’t need much information about the GUI event, you may find it simpler to implement the other method of the same name instead of this one.

    event

    the GUI event that caused this handler to be called

    Definition Classes
    TraceGeneratingDefaults → ControlDefaults
  62. def onType(character: Char): Unit

    Causes an effect whenever a key on the keyboard is typed (pressed+released) while the view has the keyboard focus.

    Causes an effect whenever a key on the keyboard is typed (pressed+released) while the view has the keyboard focus. Does nothing by default but can be overridden.

    If the desired behavior depends on detailed information about the GUI event, you may want to implement the other method of the same name instead of this one.

    character

    the key that was typed

    Definition Classes
    TraceGeneratingDefaults → ControlDefaults
  63. def onWheel(event: event.MouseWheelMoved): Unit

    Causes an effect whenever the mouse wheel is rotated above the view.

    Causes an effect whenever the mouse wheel is rotated above the view. Does nothing by default but can be overridden.

    If you don’t need much information about the GUI event, you may find it simpler to implement the other method of the same name instead of this one.

    event

    the GUI event that caused this handler to be called

    Definition Classes
    TraceGeneratingDefaults → ControlDefaults
  64. def onWheel(rotation: Int): Unit

    Causes an effect whenever the mouse wheel is rotated above the view.

    Causes an effect whenever the mouse wheel is rotated above the view. Does nothing by default but can be overridden.

    If the desired behavior depends on detailed information about the GUI event, you may want to implement the other method of the same name instead of this one.

    rotation

    the number of steps the wheel rotated (negative means up, positive down)

    Definition Classes
    TraceGeneratingDefaults → ControlDefaults
  65. def opaque: Boolean
    Definition Classes
    Component
  66. def opaque_=(b: Boolean): Unit
    Definition Classes
    Component
  67. def paint(g: Graphics2D): Unit
    Definition Classes
    Component
  68. final def paintComponent(myGraphics: Graphics2D): Unit

    Renders the view as a Java AWT BufferedImage onto the component.

    Renders the view as a Java AWT BufferedImage onto the component.

    Definition Classes
    ViewComponent → Component
  69. lazy val peer: JComponent
    Definition Classes
    Component → UIElement
  70. def preferredSize: Dimension
    Definition Classes
    UIElement
  71. def preferredSize_=(x: Dimension): Unit
    Definition Classes
    UIElement
  72. def publish(e: Event): Unit
    Definition Classes
    Publisher
  73. val reactions: Reactions
    Definition Classes
    Reactor
  74. final def refresh(): Unit

    Programmatically requests an update to the graphics of the view (even though no clock tick or triggering GUI event occurred).

    Programmatically requests an update to the graphics of the view (even though no clock tick or triggering GUI event occurred).

    Definition Classes
    ViewComponent
  75. val refreshPolicy: RefreshPolicy
    Definition Classes
    ViewComponent
  76. def repaint(rect: Rectangle): Unit
    Definition Classes
    UIElement
  77. def repaint(): Unit
    Definition Classes
    UIElement
  78. def requestFocus(): Unit
    Definition Classes
    Component
  79. def requestFocusInWindow(): Boolean
    Definition Classes
    Component
  80. def revalidate(): Unit
    Definition Classes
    Component
  81. def self: Any
    Definition Classes
    UIElement → Proxy
  82. def showing: Boolean
    Definition Classes
    UIElement
  83. final def simulate(tickLimit: Int = Int.MaxValue): Unit

    Runs the view as if by calling start except that it runs “headless”, without expectation of being visible in a GUI and independently of a real-time clock.

    Runs the view as if by calling start except that it runs “headless”, without expectation of being visible in a GUI and independently of a real-time clock. A number of simulated clock ticks are immediately sent to the view; this continues until either the view determines it is done or a predetermined maximum number of ticks has been reached.

    tickLimit

    the maximum number of ticks to simulate; Int.MaxValue (which is the default) means there is no such limit

    Definition Classes
    ViewComponent → Controls
  84. final def simulateAndGet(tickLimit: Int = Int.MaxValue): Seq[(TraceData, TraceEvent)]

    Simulates this trace-generating view with simulate and returns the resulting trace.

    Simulates this trace-generating view with simulate and returns the resulting trace. This is equivalent to calling first simulate, then trace. See also startAndGet.

    tickLimit

    the maximum number of ticks to simulate; Int.MaxValue (which is the default) means there is no such limit

    Definition Classes
    GeneratesTrace
  85. def size: Dimension
    Definition Classes
    UIElement
  86. def sound: Option[sound.sampled.Sound]

    Determines whether the view should play a sound, given the current state of its model.

    Determines whether the view should play a sound, given the current state of its model. By default, no sounds are played.

    returns

    a Sound that the view should play; None if no sound is appropriate for the current state

    Definition Classes
    TraceGeneratingDefaults → ControlDefaults
  87. final def start(): Unit

    Starts the view: loads the model into the component and starts the clock.

    Starts the view: loads the model into the component and starts the clock. Cf. simulate.

    Definition Classes
    ViewComponent → Controls
  88. final def startAndGet(tickLimit: Long = Long.MaxValue): Future[Seq[(TraceData, TraceEvent)]]

    Starts this trace-generating view with start and returns a Future that evaluates to the resulting trace.

    Starts this trace-generating view with start and returns a Future that evaluates to the resulting trace. The Future succeeds when the view is done; if the view isn’t done after a given number of clock ticks, the Future fails with Aborted, producing a partial trace. See also simulateAndGet.

    tickLimit

    the maximum number of ticks to process before the future completes with a failure

    Definition Classes
    GeneratesTrace
  89. final def stop(): Unit

    Stops the view: stops the clock and stops listening to events.

    Stops the view: stops the clock and stops listening to events. A stopped view cannot be restarted.

    Definition Classes
    ViewComponent
  90. def subscribe(listener: Reaction): Unit
    Definition Classes
    LazyPublisher → Publisher
  91. final def toString: String

    Returns a brief textual description of the view.

    Returns a brief textual description of the view.

    Definition Classes
    GeneratesTrace → AnyRef → Any
  92. def toolkit: Toolkit
    Definition Classes
    UIElement
  93. def tooltip: String
    Definition Classes
    Component
  94. def tooltip_=(t: String): Unit
    Definition Classes
    Component
  95. final def trace: Seq[(TraceData, TraceEvent)]

    Returns a trace of the events processed by this view.

    Returns a trace of the events processed by this view. The trace comes in a collection of pairs, each of which is composed of a TraceData value that describes at the time of the event and a TraceEvent value that describes the event itself.

    Definition Classes
    GeneratesTrace
  96. final def traced: Traced[String]

    Returns a View that stores a trace of the ticks and GUI events that its event handlers process.

    Returns a View that stores a trace of the ticks and GUI events that its event handlers process. This parameterless method stores, at each event, the toString description of the View’s (mutable) model. This is equivalent to calling tracedWith and passing in that toString method.

    Definition Classes
    ControlDefaults
  97. final def tracedPics: Traced[Pic]

    Returns a View that stores a pictorial trace of the ticks and GUI events that the View’s event handlers process.

    Returns a View that stores a pictorial trace of the ticks and GUI events that the View’s event handlers process. This is equivalent to calling tracedWith and passing in the View’s makePic method.

    Definition Classes
    ControlDefaults
  98. final def tracedWith[TraceData](extractTrace: (Model) => TraceData): Traced[TraceData]

    Returns a view that collects of the ticks and GUI events that the View’s event handlers process, using the given function to generate that trace.

    Returns a view that collects of the ticks and GUI events that the View’s event handlers process, using the given function to generate that trace. That trace-collecting view, which an instance of the Traced subclass, delegates the actual event handling to this original view but provides an additional interface for tracing.

    TraceData

    the type of the model-state descriptions in the trace

    extractTrace

    a function that determines how to describe a model state in the generated trace

    Definition Classes
    ViewComponent → ControlDefaults
    See also

    traced, tracedPics

  99. def unsubscribe(listener: Reaction): Unit
    Definition Classes
    LazyPublisher → Publisher
  100. def validate(): Unit
    Definition Classes
    UIElement
  101. def visible: Boolean
    Definition Classes
    UIElement
  102. def visible_=(b: Boolean): Unit
    Definition Classes
    UIElement
  103. def xLayoutAlignment: Double
    Definition Classes
    Component
  104. def xLayoutAlignment_=(x: Double): Unit
    Definition Classes
    Component
  105. def yLayoutAlignment: Double
    Definition Classes
    Component
  106. def yLayoutAlignment_=(y: Double): Unit
    Definition Classes
    Component
  107. object keys extends Publisher
    Definition Classes
    Component
  108. object mouse
    Definition Classes
    Component