swarm.simtoolsgui
Interface GUISwarm
- All Known Implementing Classes:
- GUISwarmImpl
- public interface GUISwarm
- extends Swarm, SwarmS, WindowGeometryRecordName, WindowGeometryRecordNameS
A version of the Swarm class which is graphics aware. .
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.
Methods inherited from interface swarm.defobj.Zone |
allocIVars,
allocIVarsComponent,
copyIVars,
copyIVarsComponent,
describeForEach,
describeForEachID,
freeIVars,
freeIVarsComponent,
getComponentZone,
getPageSize,
getPopulation |
Methods inherited from interface swarm.defobj.Drop |
drop |
Methods inherited from interface swarm.defobj.DefinedObject |
compare,
describe,
describeID,
getDisplayName,
getTypeName,
getZone,
perform,
perform$with,
perform$with$with,
perform$with$with$with,
respondsTo,
setDisplayName,
xfprint,
xfprintid,
xprint,
xprintid |
go
public java.lang.Object 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).
getActionCache
public ActionCache getActionCache()
getControlPanel
public ControlPanel getControlPanel()