<> <> <> <> <<>> <> <> <<>> DIRECTORY Rope USING [ROPE], Xl USING [Connection, Font, Size], XTk USING [Class, ImplementorClass, Widget, WidgetSpec], XTkCommon USING [RepaintMode, StyleSpec]; XTkLabels: CEDAR DEFINITIONS ~ BEGIN <<>> <> TextWidget: TYPE = XTk.Widget; StyleSpec: TYPE = XTkCommon.StyleSpec; RepaintMode: TYPE = XTkCommon.RepaintMode; <> <<>> CreateLabel: PROC [widgetSpec: XTk.WidgetSpec ¬ [], text: Rope.ROPE ¬ NIL, style: StyleSpec ¬ []] RETURNS [TextWidget]; <> <<>> GetText: PROC [widget: TextWidget] RETURNS [Rope.ROPE]; <> GetStyleSpec: PROC [widget: TextWidget] RETURNS [StyleSpec]; <> SetText: PROC [widget: TextWidget, text: Rope.ROPE, repaint: RepaintMode ¬ immediately]; <> <<>> SetStyleSpec: PROC [widget: TextWidget, style: StyleSpec, repaint: RepaintMode ¬ immediately]; <> SetStyleKey: PROC [widget: TextWidget, styleKey: ATOM ¬ NIL, repaint: RepaintMode ¬ immediately]; <> <<>> <> labelClass: READONLY XTk.Class; GetTextProc: TYPE = PROC [widget: TextWidget] RETURNS [text: Rope.ROPE]; SetTextProc: TYPE = PROC [widget: TextWidget, text: Rope.ROPE, repaint: RepaintMode]; GetStyleSpecProc: TYPE = PROC [widget: TextWidget] RETURNS [style: StyleSpec]; SetStyleSpecProc: TYPE = PROC [widget: TextWidget, style: StyleSpec, repaint: RepaintMode]; SetStyleKeyProc: TYPE = PROC [widget: TextWidget, style: ATOM, repaint: RepaintMode]; LabelClassRec: TYPE = RECORD [ getText: GetTextProc, setText: SetTextProc, getStyleSpec: GetStyleSpecProc, setStyleSpec: SetStyleSpecProc, setStyleKey: SetStyleKeyProc ]; NewLabelClassPart: PROC [subClass: XTk.ImplementorClass] RETURNS [REF LabelClassRec]; <> <> <> GetDefaultFont: PROC [c: Xl.Connection] RETURNS [font: Xl.Font]; <> END.