<> <> <> <> <<>> DIRECTORY IO USING [STREAM], Rope USING [ROPE], Xl USING [BOOL3, Connection, Event, Font, Geometry, nullWindow, Size, TQ, TimeStamp, Window], XTk USING [Mapping, Widget, WidgetNotifyProc, WidgetSpec], XTkCommon USING [ChoiceElement, RepaintMode, StyleSpec], XTkShellWidgetTypes USING [ICCCMHints]; XTkWidgets: CEDAR DEFINITIONS ~ BEGIN OPEN Xl; <<>> <> ROPE: TYPE = Rope.ROPE; Geometry: TYPE = Xl.Geometry; Widget: TYPE = XTk.Widget; WidgetNotifyProc: TYPE = XTk.WidgetNotifyProc; WidgetSpec: TYPE = XTk.WidgetSpec; queryDBFont: READONLY Font; --this "Font" can not be used for drawing <> CreateBareWidget: PROC [widgetSpec: WidgetSpec ¬ []] RETURNS [Widget]; <> <> <<>> <> <> <> ShellWidget: TYPE = Widget; <> CreateShell: PROC [widgetSpec: WidgetSpec ¬ [], child: Widget ¬ NIL, windowHeader: ROPE ¬ NIL, iconName: ROPE ¬ NIL, className: ATOM ¬ NIL, packageName: ROPE ¬ NIL, shortName: ROPE ¬ NIL, rootTQ: Xl.TQ ¬ NIL, dontQueryGeometry: BOOL ¬ FALSE, deletionProtocol: BOOL ¬ TRUE, focusProtocol: BOOL ¬ TRUE, standardMigration: BOOL ¬ TRUE] RETURNS [ShellWidget]; <> <> <> <> <> <> <<>> BindScreenShell: PROC [shell: ShellWidget, connection: REF ¬ NIL, parentWindow: Xl.Window ¬ Xl.nullWindow]; <> <> <> <> <> <<>> ForgetScreenShell: PROC [shell: ShellWidget]; <> <<>> RegisterCallWMDeleteWindow: PROC [shell: ShellWidget, proc: WidgetNotifyProc, registerData: REF ¬ NIL]; <> <<>> RegisterCallConnectionDied: PROC [shell: ShellWidget, proc: WidgetNotifyProc, registerData: REF ¬ NIL]; <> <<>> RegisterCallWindowDied: PROC [shell: ShellWidget, proc: WidgetNotifyProc, registerData: REF ¬ NIL]; <> SetShellChild: PROC [shell: ShellWidget, child: Widget]; <> <> RealizeShell: PROC [shell: ShellWidget, geometry: Xl.Geometry ¬ [], mapping: XTk.Mapping ¬ mapped, reConsiderChildren: BOOL ¬ TRUE]; <> <> <<>> ForkRealizeShell: PROC [shell: ShellWidget, geometry: Xl.Geometry ¬ [], mapping: XTk.Mapping ¬ mapped, reConsiderChildren: BOOL ¬ TRUE]; <> <<>> DestroyShell: PROC [shell: ShellWidget]; <> <> <<>> <> SetFocusMethod: PROC [shell: ShellWidget, focusProtocol, inputHint: Xl.BOOL3 ¬ illegal]; <> <> <> <> <> <<(focusProtocol: false, inputHint: false)>> <> <> <<(focusProtocol: false, inputHint: true)>> <> <> <<(focusProtocol: true, inputHint: true)>> <> <> <<(focusProtocol: true, inputHint: false)>> <> SetFocus: PROC [shell: ShellWidget, time: Xl.TimeStamp, child: REF ¬ NIL]; <> <> <<(child=NIL: use current focus target of shell)>> <<(child#NIL: set focus target of shell and input focus)>> <<>> SetFocusTarget: PROC [shell: ShellWidget, child: REF ¬ NIL, time: Xl.TimeStamp ¬ [0]]; <> <> <> <> <<>> FocusTime: PROC [shell: ShellWidget] RETURNS [Xl.TimeStamp]; <> <<>> <<>> <> <<>> <> <> OpenIcon: PROC [shell: ShellWidget]; <> <<>> Iconify: PROC [shell: ShellWidget]; <> <<>> WithDraw: PROC [shell: ShellWidget]; <> <> <> TrackColorMap: PROC [shell: ShellWidget, w: Widget]; <> <<>> GetHints: PROC [shell: ShellWidget] RETURNS [REF ICCCMHints]; <> <> <<>> UpdateHints: PROC [shell: ShellWidget]; <> ICCCMHints: TYPE = XTkShellWidgetTypes.ICCCMHints; <> CreateInteroperabilityShell: PROC [widgetSpec: WidgetSpec ¬ [], child: Widget ¬ NIL, className: ATOM ¬ NIL, rootTQ: Xl.TQ ¬ NIL] RETURNS [ShellWidget]; <> <<>> BindInteroperabilityShell: PROC [shell: ShellWidget, connection: Xl.Connection, foreignParent: Xl.Window]; <> <> <> ContainerWidget: TYPE = Widget; CreateYStack: PROC [widgetSpec: WidgetSpec ¬ [], stack: LIST OF Widget ¬ NIL, force: INT ¬ -1] RETURNS [ContainerWidget]; <> <> CreateXStack: PROC [widgetSpec: WidgetSpec ¬ [], stack: LIST OF Widget ¬ NIL, force: INT ¬ -1] RETURNS [ContainerWidget]; <> <> CreateContainer: PROC [widgetSpec: WidgetSpec ¬ [], children: LIST OF Widget ¬ NIL] RETURNS [ContainerWidget]; <> AppendChild: PROC [container: ContainerWidget, child: Widget, startReconfigure: BOOL ¬ TRUE]; <> <> AppendChildren: PROC [container: ContainerWidget, children: LIST OF Widget, startReconfigure: BOOL ¬ TRUE]; <> <> <<>> RemoveChild: PROC [container: ContainerWidget, child: Widget, destroyChild: BOOL ¬ TRUE, startReconfigure: BOOL ¬ TRUE]; <> <> <<>> SetForce: PROC [container: ContainerWidget, force: INT]; <> <<-1 to leave individual; 0 to split equal.>> <> <> TextWidget: TYPE = Widget; StyleSpec: TYPE = XTkCommon.StyleSpec; ButtonHitProcType: TYPE = XTk.WidgetNotifyProc; CreateLabel: PROC [widgetSpec: WidgetSpec ¬ [], text: Rope.ROPE ¬ NIL, style: StyleSpec ¬ []] RETURNS [TextWidget]; <> <> CreateButton: PROC [widgetSpec: WidgetSpec ¬ [], text: Rope.ROPE ¬ NIL, style: StyleSpec ¬ [], hitProc: XTk.WidgetNotifyProc ¬ NIL, registerData, callData: REF ¬ NIL, tq: TQ ¬ NIL, help: Rope.ROPE ¬ NIL] RETURNS [TextWidget]; <> <> <> <<>> CreateField: PROC [widgetSpec: WidgetSpec ¬ [], text: Rope.ROPE ¬ NIL, style: StyleSpec ¬ []] RETURNS [TextWidget]; <> <> CreateLabeledField: PROC [widgetSpec: WidgetSpec ¬ [], label, init: ROPE ¬ NIL, style: StyleSpec ¬ [], labelWidth, fieldWidth: INT ¬ 0] RETURNS [TextWidget]; <> <> <<>> GetText: PROC [widget: TextWidget] RETURNS [ROPE]; <> RepaintMode: TYPE = XTkCommon.RepaintMode; SetText: PROC [widget: TextWidget, text: ROPE, repaint: RepaintMode ¬ immediately]; <> <> <> <<>> SetFont: PROC [widget: TextWidget, font: Font, repaint: RepaintMode ¬ immediately]; <> <> <> SetStyleKey: PROC [widget: TextWidget, style: ATOM, repaint: RepaintMode ¬ immediately]; <> <> <> <> <<>> <<>> <> <<>> ChoiceWidget: TYPE = Widget; ChoiceElement: TYPE = XTkCommon.ChoiceElement; ChoiceList: TYPE = LIST OF ChoiceElement; CurrentChoice: PROC [widget: ChoiceWidget] RETURNS [REF ANY]; <> Choose: PROC [widget: ChoiceWidget, ce: ChoiceElement]; <> <> <> <> <<>> CreateChoices: PROC [widgetSpec: WidgetSpec ¬ [], choices: ChoiceList, horizontal: BOOL ¬ TRUE, hitProc: XTk.WidgetNotifyProc ¬ NIL, registerData: REF ¬ NIL, tq: TQ ¬ NIL, style: StyleSpec ¬ []] RETURNS [ChoiceWidget]; <> <> <> <> <> <<>> CreateToggle: PROC [widgetSpec: WidgetSpec ¬ [], choices: ChoiceList, hitProc: XTk.WidgetNotifyProc ¬ NIL, registerData: REF ¬ NIL, tq: TQ ¬ NIL, style: StyleSpec ¬ []] RETURNS [ChoiceWidget]; <> <<>> <<>> <> CreateRuler: PROC [widgetSpec: WidgetSpec ¬ []] RETURNS [Widget]; <> <> <<>> HRule: PROC [height: INT _ 1] RETURNS [XTk.Widget]; VRule: PROC [width: INT _ 1] RETURNS [XTk.Widget]; <> <<>> CreateSpace: PROC [widgetSpec: XTk.WidgetSpec ¬ []] RETURNS [XTk.Widget]; <> <<>> HSpace: PROC [width: INT _ 1] RETURNS [XTk.Widget]; VSpace: PROC [height: INT _ 1] RETURNS [XTk.Widget]; <> <<>> <> CreateStreamWidget: PROC [widgetSpec: WidgetSpec ¬ [], widgetStream: IO.STREAM ¬ NIL] RETURNS [Widget]; <> <> CreateStream: PROC [w: Widget ¬ NIL] RETURNS [widgetStream: IO.STREAM]; <> <> <> <<>> BindStream: PROC [w: Widget, widgetStream: IO.STREAM]; <> END.