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.


Method Summary
 ActionCache getActionCache()
           
 ControlPanel getControlPanel()
           
 java.lang.Object go()
          Start the activity running, and also handle user requests via the control panel.
 
Methods inherited from interface swarm.objectbase.Swarm
activateIn, buildActions, buildObjects, getCompleteProbeMap, getProbeForVariable, getProbeMap
 
Methods inherited from interface swarm.activity.SwarmProcess
getActivity, getInternalZone
 
Methods inherited from interface swarm.defobj.Zone
allocIVars, allocIVarsComponent, copyIVars, copyIVarsComponent, describeForEach, describeForEachID, freeIVars, freeIVarsComponent, getComponentZone, getPageSize, getPopulation
 
Methods inherited from interface swarm.activity.SynchronizationType
getSynchronizationType
 
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
 
Methods inherited from interface swarm.defobj.GetName
getName
 

Method Detail

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