Documentation Set for Swarm 2.2
Prev | Reference VII. Simtoolsgui Library | Next

# GUISwarm

## Name

GUISwarm -- A version of the Swarm class which is graphics aware.

## Description

GUISwarm is a subclass of Swarm that is used as a toplevel Swarm for simulations running with a graphical user interface. The GUISwarm creates a ControlPanel automatically for you and defines a -go method that interprets the state of the ControlPanel to keep things running in response to user input. Users subclass GUISwarm much like they subclass a normal Swarm, implementing the same kind of buildObjects, buildActions, and activateIn methods. When you are done building your Observer Swarm, start it as a toplevel via [myGUISwarm go].

The control panel places a few responsibilities on the GUISwarm subclass author. In particular, a message to [controlPanel doTkEvents] should be scheduled fairly frequently - only when that method is executed will the user interface update (and the stop button be checked). Also, it is often useful to use [controlPanel setStateStopped] to wait for the user to indicate they're ready for execution to proceed.

## Protocols adopted by GUISwarm

Swarm WindowGeometryRecordName CREATABLE

## Methods

### Phase: Using

- - go
  Start the activity running, and also handle user requests via the control panel. Returns either Completed (the model ran until requested to terminate) or ControlStateQuit (the user pressed the quit button).

- - (id <ControlPanel>)getControlPanel

- - (id <ActionCache>)getActionCache

Prev | Home | Next
GUIComposite | Up | MessageProbeWidget