DIRECTORY Buttons USING [Button], ChoiceButtons, Containers USING [Container], Imager USING [Box], Labels USING [Label], NodeStyle USING [Ref], Rope USING [ROPE], ViewerClasses USING [Viewer]; StyleToolDefs: CEDAR DEFINITIONS = BEGIN StyleToolHandle: TYPE = REF StyleToolHandleRec; StyleToolHandleRec: TYPE = RECORD [ outer: Containers.Container _ NIL, -- handle for the enclosing container height: CARDINAL _ 0, -- height measured from the top of the container styleNameData: ChoiceButtons.PromptDataRef _ NIL, -- relevent data for each section below formatNameData: ChoiceButtons.PromptDataRef _ NIL, looksData: ChoiceButtons.PromptDataRef _ NIL, ruleType: ChoiceButtons.EnumTypeRef, display: ViewerDisplayRec, swap: SwapRec, layoutGraphics: LayoutRec, changesMode: BOOLEAN _ FALSE, -- indicates only interested in changes to a format or look default: NodeStyle.Ref, nodeInfo: NodeStyle.Ref, looksInfo: NodeStyle.Ref, sample: SampleRec, userAware: BOOLEAN ]; ViewerDisplayRec: TYPE = RECORD [ fontFamilyChoice: ChoiceButtons.EnumTypeRef, fontFamilyOtherLabel: Labels.Label, fontFamilyOtherViewer: ViewerClasses.Viewer, fontFaceChoice: ChoiceButtons.EnumTypeRef, boldFontFace: ChoiceButtons.ThreeStateRef, italicFontFace: ChoiceButtons.ThreeStateRef, fontSizeInfo: ValueAndUnitsRef, fontAlphabetsChoice: ChoiceButtons.EnumTypeRef, fontUnderliningChoice: ChoiceButtons.EnumTypeRef, leftIndentInfo: ValueAndUnitsRef, rightIndentInfo: ValueAndUnitsRef, firstIndentInfo: ValueAndUnitsRef, restIndentInfo: ValueAndUnitsRef, topIndentInfo: ValueAndUnitsRef, bottomIndentInfo: ValueAndUnitsRef, leadingContainer: Containers.Container, stretchShrinkContainer: Containers.Container, leadingInfo: LeadingRef, topLeadingInfo: LeadingRef, bottomLeadingInfo: LeadingRef, vshiftInfo: ValueAndUnitsRef, minLineGapInfo: ValueAndUnitsRef, tabStopsViewer: ViewerClasses.Viewer, lineFormattingChoice: ChoiceButtons.EnumTypeRef, pathTypeChoice: ChoiceButtons.EnumTypeRef, areaHueViewer: ViewerClasses.Viewer, areaSaturationViewer: ViewerClasses.Viewer, areaBrightnessViewer: ViewerClasses.Viewer, outlineHueViewer: ViewerClasses.Viewer, outlineSaturationViewer: ViewerClasses.Viewer, outlineBrightnessViewer: ViewerClasses.Viewer, textHueViewer: ViewerClasses.Viewer, textSaturationViewer: ViewerClasses.Viewer, textBrightnessViewer: ViewerClasses.Viewer, textRotationViewer: ViewerClasses.Viewer, lineWeightViewer: ViewerClasses.Viewer ]; ValueAndUnitsRef: TYPE = REF ValueAndUnitsRec; ValueAndUnitsRec: TYPE = RECORD [ valueData: ChoiceButtons.PromptDataRef, units: ChoiceButtons.EnumTypeRef, originalValue: REAL, originalUnits: Rope.ROPE ]; LeadingRef: TYPE = REF LeadingRec; LeadingRec: TYPE = RECORD [ leading: ValueAndUnitsRef, stretch: ChoiceButtons.PromptDataRef, shrink: ChoiceButtons.PromptDataRef, originalStretch, originalShrink: REAL ]; FontFamilyRec: TYPE = RECORD [ name: Rope.ROPE, -- the name which appears in one of the standard buttons text: Rope.ROPE -- used if the font family name is non-standard. Then name becomes ]; -- "other" and this contains the actual font family name SwapRec: TYPE = RECORD [ outer: Containers.Container _ NIL, -- container holding both print into and JamCodeInfo height: CARDINAL _ 0, -- so that the paint proc will only paint the areas nec. penalty: RECORD [ outer: Containers.Container _ NIL, -- container holding all the penalty info height: CARDINAL _ 0, -- height of this container pageBreakPenalty: ViewerClasses.Viewer _ NIL, afterFirstLinePenalty: ViewerClasses.Viewer _ NIL, beforeLastLinePenalty: ViewerClasses.Viewer _ NIL, beforeFirstLinePenalty: ViewerClasses.Viewer _ NIL, afterLastLinePenalty: ViewerClasses.Viewer _ NIL ], layoutHeader: RECORD [ outer: Containers.Container _ NIL, -- container holding page layout header height: CARDINAL _ 0 ], layout: RECORD [ outer: Containers.Container _ NIL, -- container holding all the page layout parameters height: CARDINAL _ 0, visible: BOOLEAN _ FALSE, parametersButton: Buttons.Button, pageWidth: ValueAndUnitsRef, pageLength: ValueAndUnitsRef, leftMargin: ValueAndUnitsRef, rightMargin: ValueAndUnitsRef, topMargin: ValueAndUnitsRef, bottomMargin: ValueAndUnitsRef, headerMargin: ValueAndUnitsRef, footerMargin: ValueAndUnitsRef, bindingMargin: ValueAndUnitsRef, lineLength: ValueAndUnitsRef, column: ViewerClasses.Viewer _ NIL -- number of columns ], jamCodeInfo: RECORD [ outer: Containers.Container _ NIL, -- container holding the whole thing text: ViewerClasses.Viewer _ NIL -- the actual place where text appears ] ]; SampleRec: TYPE = RECORD [ viewer: ViewerClasses.Viewer _ NIL ]; LayoutRec: TYPE = RECORD [ -- info used for graphical page layout exists: BOOLEAN _ FALSE, -- indicates if a graphics viewer has been created container: Containers.Container _ NIL, numbersContainer: Containers.Container, units: UnitsRecord, indent: INTEGER, interval: INTEGER, skip: INTEGER, increment: INTEGER, setButton: Buttons.Button, pageWidth: ChoiceButtons.PromptDataRef, pageLength: ChoiceButtons.PromptDataRef, leftMargin: ChoiceButtons.PromptDataRef, rightMargin: ChoiceButtons.PromptDataRef, topMargin: ChoiceButtons.PromptDataRef, bottomMargin: ChoiceButtons.PromptDataRef, bindingMargin: ChoiceButtons.PromptDataRef, viewer: ViewerClasses.Viewer, currentMargin: MarginType _ none, -- indicates which margin we are currently updating with the mouse screenLeftMargin, screenRightMargin, screenTopMargin, screenBottomMargin, screenBindingMargin: REAL, currentPage: PageBoundaryType, screenPage: Imager.Box ]; UnitsRecord: TYPE = RECORD [ ref: ChoiceButtons.EnumTypeRef, prev: Rope.ROPE ]; MarginType: TYPE = {left, right, binding, top, bottom, none}; PageBoundaryType: TYPE = {side, top, none}; fontFamilyList: LIST OF Rope.ROPE; fontFaceList: LIST OF Rope.ROPE; fontAlphabetsList: LIST OF Rope.ROPE; fontUnderliningList: LIST OF Rope.ROPE; lineFormattingList: LIST OF Rope.ROPE; pathTypeList: LIST OF Rope.ROPE; ruleList: LIST OF Rope.ROPE; unitsList: LIST OF Rope.ROPE; realNumberFormat: Rope.ROPE; -- format used for writing out real numbers integerFormat: Rope.ROPE; -- format used for writing out integers END. StyleToolDefs.mesa Written by Linda Gass on July 27, 1982 12:27 pm Last edit by Linda Gass on November 4, 1982 2:23 pm Last Edited by: Plass, March 28, 1983 2:54 pm Pavel, June 26, 1985 9:53:10 pm PDT a StyleToolHandle is a REF to the data for a particular instance of our style tool. We can create more than one. StyleToolHandleRec is a record describing the data relevent to a particular tool instance. font information Indent information leading information miscellaneous information Tioga Artwork information Κ‡˜Jšœ™J™/J™3šœ-™-Icode™#—šΟk ˜ Jšœœ ˜J˜Jšœ œ ˜Jšœœ˜Jšœœ ˜Jšœ œ˜Jšœœœ˜Jšœœ ˜J˜—Jšœœ œ˜(Jšœq™qJšœœœ˜/JšœZ™Zšœœœ˜#JšœœΟc%˜H—Jšœœ ž0˜JJšœ-œž'˜YJšœ.œ˜2Jšœ)œ˜-J˜$J˜J˜J˜Jšœ œœž;˜YJ˜J˜J˜J˜Jšœ ˜J˜šœœœ˜"Jšœ™—J˜,J˜#J˜,J˜*J˜*J˜,J˜J˜/J˜1Jšœ™J˜!J˜"J˜"J˜!J˜ J˜#Jšœ™J˜'J˜-J˜J˜J˜Jšœ™J˜J˜!J˜%J˜0Jšœ™J˜*J˜$J˜+J˜+J˜'J˜.J˜.J˜$J˜+J˜+J˜)J˜&J˜Jšœœœ˜.šœœœ˜!J˜'—J˜!Jšœœ˜Jšœ˜J˜Jšœ œœ ˜"J˜šœ œœ˜J˜—J˜%J˜$Jšœ!˜%J˜šœœœ˜Jšœ œž8˜J—Jšœ œžC˜UJšœ ž8˜AJ˜šœ œœ˜Jšœœž4˜X—šœœ ž8˜Ršœ œ˜Jšœœž)˜L——Jšœœ ž˜5Jšœ)œ˜-Jšœ.œ˜2Jšœ.œ˜2Jšœ/œ˜3Jšœ-˜0˜šœœ˜Jšœœž'˜J——Jšœœ˜˜šœœ˜Jšœœž3˜V——Jšœœ˜Jšœ œœ˜J˜!J˜J˜J˜J˜J˜J˜J˜J˜J˜ J˜Jšœœž˜7˜šœ œ˜Jšœœž$˜G——Jšœœž&˜I˜J˜—šœ œœ˜Jšœ˜"—J˜šœ œœž&˜BJšœœœž2˜L—Jšœ"œ˜&J˜'J˜Jšœœ˜Jšœ œ˜Jšœœ˜Jšœ œ˜J˜J˜'J˜(J˜(J˜)J˜'J˜+J˜+J˜Jšœ"žB˜dJšœ_œ˜dJ˜J˜J˜šœ œœ˜J˜—Jšœ ˜J˜Jšœ œ-˜=Jšœœ˜+Jšœœœœ˜"Jšœœœœ˜ Jšœœœœ˜%Jšœœœœ˜'Jšœœœœ˜&Jšœœœœ˜ Jšœ œœœ˜Jšœ œœœ˜J˜Jšœœž+˜HJšœœž(˜DJ˜Jšœ˜˜J˜——…—“