<> <> <<>> DIRECTORY Icons USING [IconFlavor], Rope USING [ROPE] ; IconRegistry: CEDAR DEFINITIONS = BEGIN <> <> <> <> <> <> RegisterIcon: PROC [iconName: Rope.ROPE, fileName: Rope.ROPE, index: CARDINAL, saveInCatalogue: BOOL _ FALSE]; <> <> <<>> IsRegistered: PROC[iconName: Rope.ROPE _ NIL, fileName: Rope.ROPE _ NIL, index: CARDINAL _ LAST[CARDINAL]] RETURNS[name: Rope.ROPE, file: Rope.ROPE, i: CARDINAL]; <> <<>> GetIcon: PROC [iconName: Rope.ROPE, default: Icons.IconFlavor _ unInit] RETURNS [Icons.IconFlavor]; <> <> InvalidateCache: PROC [iconName: Rope.ROPE _ NIL]; <> <<>> WriteCatalogue: PRIVATE PROC; <> <> Failed: ERROR [why: Failure, reason: Rope.ROPE]; Failure: TYPE = {noCatalogue, noSuchIcon, fileNotFound, invalidIndex}; < no RegisteredIcons.Catalogue.>> < corresponding name was not found in RegisteredIcons.Catalogue>> < the icon file could not be found,>> < index too large, i.e. not that many icons in the file.>> << >> END.