<> <> <> <> <<>> <> <<>> DIRECTORY XTkCommon USING [StyleSpec], XTk USING [Event, Widget, WidgetSpec]; XTkNumberLabel: CEDAR DEFINITIONS ~ BEGIN <<>> StyleSpec: TYPE = XTkCommon.StyleSpec; IsNumberLabel: PROC [widget: XTk.Widget] RETURNS [BOOL]; <> <<>> Create: PROC [widgetSpec: XTk.WidgetSpec ¬ [], init: NAT ¬ 0, filter: NumberFilter ¬ NIL, filterData: REF ¬ NIL, style: StyleSpec ¬ [], editable: BOOL _ TRUE] RETURNS [XTk.Widget]; <> <<>> NumberFilter: TYPE = PROC [self: XTk.Widget, filterData: REF, proposedValue: NAT, event: XTk.Event] RETURNS [useValue: NAT _ 0, inhibit: BOOL _ FALSE]; GetVal: PROC [widget: XTk.Widget] RETURNS [value: NAT]; <> SetVal: PROC [widget: XTk.Widget, value: NAT, event: XTk.Event ¬ NIL]; <> <> <> <<>> SetFilter: PROC [widget: XTk.Widget, filter: NumberFilter ¬ NIL, filterData: REF ¬ NIL]; <> <<>> InternalSetVal: PROC [widget: XTk.Widget, value: NAT, event: XTk.Event ¬ NIL]; <> <> <<>> SetEditable: PROC [widget: XTk.Widget, editable: BOOL]; <> valueChangedKey: READONLY REF; <> END.