<> <> <> <> DIRECTORY ViewerClasses USING [Viewer]; CDViewHighlight: CEDAR DEFINITIONS = BEGIN <<--This module allows to use instances as highlight features. It is up to the clients to make>> <<--sure the highlighted instances look like highlight; CDViewHighlight module displays >> <<--them like any other ChipNDale instances. However, they are visible in a particular >> <<--viewer only and can neither be selected nor edited.>> <<--CDViewHighlight does not care what objects the instances point to, as long as they >> <<--are legal ChipNDale objects. >> ShowInstance: PROC[v: ViewerClasses.Viewer, instOrList: REF_NIL, removeOthers: BOOL_TRUE, key: REF_NIL]; <<--instOrList: Instance or InstanceList to be used as highlight (NIL is ok) >> <<--removeOthers: remove others highlights before displaying instOrList>> <<--key: registered or unique property denoting the client. >> Update: PROC [v: ViewerClasses.Viewer, key: REF_NIL]; <<--Causes CDViewHighlight to recomputes internal state if some instance changed...>> RemoveAll: PROC[v: ViewerClasses.Viewer]; <<--Removes highlighting of all clients >> END.