Controls

trait Controls[Model] extends Fast
trait Fast
class Object
trait Matchable
class Any
class ViewComponent[Model]
class Traced[TraceData]
class ViewFrame[Model]
class Traced[TraceData]
trait TraceGeneratingView[Model, TraceData]

Value members

Abstract methods

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.

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.

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).

Concrete methods

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.

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.

override def isPaused: Boolean

Indicates whether the view is paused. By default, always returns false.

Indicates whether the view is paused. By default, always returns false.

See also:
Definition Classes
def onClick(position: Pos): Unit

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.

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.

Value parameters:
position

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

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.

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.

Value parameters:
event

the GUI event that caused this handler to be called

def onKeyDown(key: Key): Unit

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.

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.

Value parameters:
key

the key that was pressed down

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.

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.

Value parameters:
event

the GUI event that caused this handler to be called

def onKeyUp(key: Key): Unit

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.

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.

Value parameters:
key

the key that was released

def onKeyUp(event: KeyReleased): Unit

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.

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.

Value parameters:
event

the GUI event that caused this handler to be called

def onMouseDown(position: Pos): Unit

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

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.

Value parameters:
position

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

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

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.

Value parameters:
event

the GUI event that caused this handler to be called

def onMouseDrag(position: Pos): Unit

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

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.

Value parameters:
position

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

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

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.

Value parameters:
event

the GUI event that caused this handler to be called

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

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

Value parameters:
event

the GUI event that caused this handler to be called

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

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

Value parameters:
event

the GUI event that caused this handler to be called

def onMouseMove(position: Pos): Unit

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

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.

Value parameters:
position

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

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

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.

Value parameters:
event

the GUI event that caused this handler to be called

def onMouseUp(position: Pos): Unit

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

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.

Value parameters:
position

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

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

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.

Value parameters:
event

the GUI event that caused this handler to be called

override def onStop(): Unit

Causes an additional effect when the view is stopped (with stop()). By default, this method does nothing.

Causes an additional effect when the view is stopped (with stop()). By default, this method does nothing.

Definition Classes
def onTick(): Unit

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

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

def onTick(time: Long): Unit

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

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.

Value parameters:
time

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

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. Does nothing by default but can be overridden.

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.

Value parameters:
character

the key that was typed

def onType(event: KeyTyped): Unit

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.

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.

Value parameters:
event

the GUI event that caused this handler to be called

def onWheel(rotation: Int): Unit

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

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.

Value parameters:
rotation

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

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

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.

Value parameters:
event

the GUI event that caused this handler to be called

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

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

final def traced: Traced[String]

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.

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.

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. This is equivalent to calling tracedWith and passing in the View’s makePic method.

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.

Inherited methods

def model: Model

the model object represented in the view.

the model object represented in the view.

Inherited from:
HasModelField (hidden)
def simulate(tickLimit: Int): Unit
Inherited from:
Controls (hidden)
def start(): Unit
Inherited from:
Controls (hidden)