This class provides a framework for building simple GUIs. It is a further simplified version of ViewFrame. A BasicViewFrame
is like a ViewFrame
except that it doesn’t have an explicit model
object at all; you don’t need to pass in one as a constructor parameter. (This is useful for certain educational purposes.)
For other details, please see the ViewFrame supertype.
Attributes
- Companion
- object
- Graph
-
- Supertypes
-
class ViewFrame[ImplicitModel]trait Controls[ImplicitModel]trait Fastclass ViewFrameImpl[ImplicitModel]class Objecttrait Matchableclass AnyShow all
Members list
Type members
Inherited classlikes
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.
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) do
println(traceEvent + ": " + traceItem)
Or, equivalently:
myTracedView.simulate(500)
for (traceItem, traceEvent) <- myTracedView.trace do
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 by descriptions of the view’s model
.
val futureTrace = myTracedView.startAndGet(tickLimit=100) recover {
case Aborted(message, partialTrace) => partialTrace
}
for trace <- futureTrace; (traceItem, traceEvent) <- trace do
println(traceEvent + ": " + traceItem)
Type parameters
- TraceData
-
the type of the model-state descriptions in the trace
Parameters
- extractTrace
-
a function that determines how to describe a model state in the generated trace
Attributes
Value members
Concrete methods
Returns a brief textual description of the view.
Inherited methods
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.
Attributes
- Inherited from:
- ViewFrameImpl
Closes the view: stops it (as per stop), does any onClose effects, hides the GUI window, and possibly terminates the entire application (as per the constructor parameter).
Closes the view: stops it (as per stop), does any onClose effects, hides the GUI window, and possibly terminates the entire application (as per the constructor parameter).
Attributes
- Inherited from:
- ViewFrameImpl
The icon to be displayed in the title bar of this view’s GUI frame.
The icon to be displayed in the title bar of this view’s GUI frame.
Attributes
- Inherited from:
- ViewFrameImpl
Sets the icon to be displayed in the title bar of this view’s GUI frame.
Sets the icon to be displayed in the title bar of this view’s GUI frame.
Parameters
- icon
-
a picture to be used as the icon
Attributes
- Inherited from:
- ViewFrameImpl
Sets the icon to be displayed in the title bar of this view’s GUI frame.
Sets the icon to be displayed in the title bar of this view’s GUI frame.
Parameters
- icon
-
a picture to be used as the icon; if
None
, en empty icon image will be displayed
Attributes
- Inherited from:
- ViewFrameImpl
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.
Attributes
- Inherited from:
- Controls
Indicates whether the view is paused. By default, always returns false
.
Indicates whether the view is paused. By default, always returns false
.
Attributes
- See also
- Definition Classes
- Inherited from:
- Controls
the model object represented in 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.
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.
Parameters
- event
-
the GUI event that caused this handler to be called
Attributes
- Inherited from:
- Controls
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.
Parameters
- position
-
the position of the mouse cursor relative to the view’s top left-hand corner
Attributes
- Inherited from:
- Controls
Causes an effect when the view’s GUI window is closed for any reason. By default, this method does nothing.
Causes an effect when the view’s GUI window is closed for any reason. By default, this method does nothing.
Attributes
- Inherited from:
- ViewFrameImpl
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.
Parameters
- event
-
the GUI event that caused this handler to be called
Attributes
- Inherited from:
- Controls
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.
Parameters
- key
-
the key that was pressed down
Attributes
- Inherited from:
- Controls
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.
Parameters
- event
-
the GUI event that caused this handler to be called
Attributes
- Inherited from:
- Controls
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.
Parameters
- key
-
the key that was released
Attributes
- Inherited from:
- Controls
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.
Parameters
- event
-
the GUI event that caused this handler to be called
Attributes
- Inherited from:
- Controls
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.
Parameters
- position
-
the position of the mouse cursor relative to the view’s top left-hand corner
Attributes
- Inherited from:
- Controls
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.
Parameters
- event
-
the GUI event that caused this handler to be called
Attributes
- Inherited from:
- Controls
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.
Parameters
- position
-
the position of the mouse cursor relative to the view’s top left-hand corner
Attributes
- Inherited from:
- Controls
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.
Parameters
- event
-
the GUI event that caused this handler to be called
Attributes
- Inherited from:
- Controls
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.
Parameters
- event
-
the GUI event that caused this handler to be called
Attributes
- Inherited from:
- Controls
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.
Parameters
- event
-
the GUI event that caused this handler to be called
Attributes
- Inherited from:
- Controls
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.
Parameters
- position
-
the position of the mouse cursor relative to the view’s top left-hand corner
Attributes
- Inherited from:
- Controls
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.
Parameters
- event
-
the GUI event that caused this handler to be called
Attributes
- Inherited from:
- Controls
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.
Parameters
- position
-
the position of the mouse cursor relative to the view’s top left-hand corner
Attributes
- Inherited from:
- Controls
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.
Parameters
- time
-
the running number of the clock tick (the first tick being number 1, the second 2, etc.)
Attributes
- Inherited from:
- Controls
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.
Attributes
- Inherited from:
- Controls
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.
Parameters
- event
-
the GUI event that caused this handler to be called
Attributes
- Inherited from:
- Controls
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.
Parameters
- character
-
the key that was typed
Attributes
- Inherited from:
- Controls
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.
Parameters
- event
-
the GUI event that caused this handler to be called
Attributes
- Inherited from:
- Controls
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.
Parameters
- rotation
-
the number of steps the wheel rotated (negative means up, positive down)
Attributes
- Inherited from:
- Controls
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).
Attributes
- Inherited from:
- ViewFrameImpl
Runs the view as if by calling start except that it runs “headless”, with no actual GUI window visible 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.
Runs the view as if by calling start except that it runs “headless”, with no actual GUI window visible 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.
Parameters
- tickLimit
-
the maximum number of ticks to simulate;
Int.MaxValue
(which is the default) means there is no such limit
Attributes
- Inherited from:
- ViewFrameImpl
Determines whether the view should play a sound, given the current state of its model. By default, no sounds are played.
Starts the view: loads the model in the GUI window, makes the window visible oncreen, and starts the clock. Cf. simulate.
Starts the view: loads the model in the GUI window, makes the window visible oncreen, and starts the clock. Cf. simulate.
Attributes
- Inherited from:
- ViewFrameImpl
Stops the view: stops the clock, stops listening to events, and disposes of the GUI window. A stopped view cannot be restarted.
Stops the view: stops the clock, stops listening to events, and disposes of the GUI window. A stopped view cannot be restarted.
Attributes
- Inherited from:
- ViewFrameImpl
the tooltip text to be displayed while the mouse hovers on the view
the tooltip text to be displayed while the mouse hovers on the view
Attributes
- Inherited from:
- ViewFrameImpl
Sets the tooltip text to be displayed while the mouse hovers on the view.
Sets the tooltip text to be displayed while the mouse hovers on the view.
Attributes
- Inherited from:
- ViewFrameImpl
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.
Attributes
- Inherited from:
- Controls
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.
Attributes
- Inherited from:
- Controls
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.
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.
Type parameters
- TraceData
-
the type of the model-state descriptions in the trace
Parameters
- extractTrace
-
a function that determines how to describe a model state in the generated trace
Attributes
- See also
- Inherited from:
- ViewFrame
whether this view’s GUI frame is visible onscreen
Sets whether this view’s GUI frame is visible onscreen.
Inherited and 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 Pic
s of equal dimensions.
Attributes
- Inherited from:
- Controls
Inherited fields
Attributes
- Inherited from:
- ViewFrameImpl