<> <> <> <> <<>> <> <<>> DIRECTORY CD USING [Design, Object, ObjectClass, Position], CDDirectory USING [EnumerateChildObjectsProc, ExpandProc, ReplaceDChildsProc]; PWObjects: CEDAR DEFINITIONS = BEGIN <> <> <<>> <> abutXClass: CD.ObjectClass; abutYClass: CD.ObjectClass; <<>> <> CreateAbutProc: TYPE = PROC [subObjects: LIST OF CD.Object _ NIL] RETURNS [newAbut: CD.Object]; CreateNewAbutX: CreateAbutProc; CreateNewAbutY: CreateAbutProc; <<>> <> GetAbutSubObjects: PROC [abut: CD.Object] RETURNS [subObjects: LIST OF CD.Object]; <> <<>> <> GetLocationOfFirstInstance: PROC [abut: CD.Object] RETURNS [location: CD.Position _ [0, 0]]; <> <> <> <<>> <> indirectClass: CD.ObjectClass; <<>> <> CreateIndirect: PROC [sourceObject: CD.Object] RETURNS [indirectObject: CD.Object]; <> <> <> <> <<>> <> <> <<>> <> lazyClass: CD.ObjectClass; <<>> <> CreateProc: TYPE = PROC [info: REF] RETURNS [obj: CD.Object]; CreateLazy: PROC [info: REF, createProc: CreateProc] RETURNS [newLazy: CD.Object]; <> <> RegisterClass: PROC [objectType: ATOM, expand: CDDirectory.ExpandProc, enumerateChildObjects: CDDirectory.EnumerateChildObjectsProc _ NIL, replaceDirectChilds: CDDirectory.ReplaceDChildsProc _ NIL] RETURNS [objectClass: CD.ObjectClass]; <> <> END. <<>>