<> <> <<>> <> <> <<>> DIRECTORY IO USING [STREAM], Rope USING [ROPE], XTk USING [Widget, WidgetSpec]; XTkEditWidgets: CEDAR DEFINITIONS ~ BEGIN <<>> GetText: PROC [widget: XTk.Widget] RETURNS [text: Rope.ROPE, did: BOOL ¬ TRUE]; SetText: PROC [widget: XTk.Widget, text: Rope.ROPE] RETURNS [BOOL ¬ TRUE]; SelectionLocation: TYPE ~ {before, after}; SetSelection: PROC [widget: XTk.Widget, start, length: INT ¬ FIRST[INT], where: SelectionLocation ¬ before]; CreateEditWidget: PROC [widgetSpec: XTk.WidgetSpec ¬ [], scrollable: BOOL ¬ FALSE, backingHeight: INT ¬ FIRST[INT], keyboardAccepting: BOOL ¬ TRUE, widgetStream: IO.STREAM ¬ NIL] RETURNS [XTk.Widget]; <> <> <> <> <> QueryKeyboardAccepting: PROC [w: XTk.Widget] RETURNS [ans: BOOL ¬ FALSE]; EnableKeyboardInput: PROC [w: XTk.Widget]; DisableKeyboardInput: PROC [w: XTk.Widget]; CreateStream: PROC [w: XTk.Widget ¬ NIL] RETURNS [widgetStream: IO.STREAM]; <> <> <<>> BindStream: PROC [w: XTk.Widget, widgetStream: IO.STREAM]; <> <<>> END.