<<>> <> <> <> <> <> <> <> DIRECTORY Rope USING [ROPE], Tioga USING [Node]; NodeProps: CEDAR DEFINITIONS ~ BEGIN ROPE: TYPE = Rope.ROPE; <> PutProp: PROC [n: Tioga.Node, name: ATOM, value: REF]; GetProp: PROC [n: Tioga.Node, name: ATOM] RETURNS [REF]; RemProp: PROC [n: Tioga.Node, name: ATOM] ~ INLINE { PutProp[n, name, NIL] }; MapPropsAction: TYPE = PROC [name: ATOM, value: REF] RETURNS [quit: BOOL ¬ FALSE]; MapProps: PROC [n: Tioga.Node, action: MapPropsAction, formatFlag, commentFlag: BOOL ¬ TRUE] RETURNS [quit: BOOL]; <> <> <> <> nameFormat: ATOM; -- $Format nameComment: ATOM; -- $Comment nameCharSets: ATOM; -- $CharSets nameCharProps: ATOM; -- $CharProps nameStyleDef: ATOM; -- $StyleDef namePrefix: ATOM; -- $Prefix namePostfix: ATOM; -- $Postfix nameArtwork: ATOM; -- $Artwork nameActive: ATOM; -- $Active AtomFromValue: PROC [REF] RETURNS [ATOM]; ValueFromAtom: PROC [ATOM] RETURNS [REF]; BoolFromValue: PROC [REF] RETURNS [BOOL]; ValueFromBool: PROC [BOOL] RETURNS [REF]; <> ReadSpecsProc: TYPE = PROC [name: ATOM, specs: ROPE] RETURNS [value: REF]; WriteSpecsProc: TYPE = PROC [name: ATOM, value: REF] RETURNS [specs: ROPE]; CopyInfoProc: TYPE = PROC [name: ATOM, value: REF] RETURNS [new: REF]; Register: PROC [name: ATOM, reader: ReadSpecsProc, writer: WriteSpecsProc, copier: CopyInfoProc]; <> <> NullRead: ReadSpecsProc; -- returns NIL always NullWrite: WriteSpecsProc; -- returns NIL always NullCopy: CopyInfoProc; -- returns NIL always DoSpecs: ReadSpecsProc; <> <> <> GetSpecs: WriteSpecsProc; <> <> <> CopyInfo: CopyInfoProc; <> <> <> <> <> <<>> DeclarePropertyAttribute: PROC [name: ATOM, attribute: ATOM]; <> Is: PROC [name: ATOM, attribute: ATOM] RETURNS [BOOL]; <> GetPropertyAttributes: PROC [name: ATOM] RETURNS [LIST OF ATOM]; <> <<>> SetPropertyAttributes: PROC [name: ATOM, attributes: LIST OF ATOM]; <> <<>> <<>> END.