MODULE StdCFrames; (* THIS IS TEXT COPY OF BlackBox 1.6-rc6 Std/Mod/CFrames.odc *) (* DO NOT EDIT *) IMPORT Fonts, Ports, Views, Dates, Dialog; CONST lineUp* = 0; lineDown* = 1; pageUp* = 2; pageDown* = 3; TYPE Frame* = POINTER TO ABSTRACT RECORD (Views.Frame) disabled*, undef*, readOnly*, noRedraw*: BOOLEAN; font*: Fonts.Font END; PushButton* = POINTER TO ABSTRACT RECORD (Frame) label*: ARRAY 256 OF CHAR; default*, cancel*: BOOLEAN; Do*: PROCEDURE (f: PushButton) END; CheckBox* = POINTER TO ABSTRACT RECORD (Frame) label*: ARRAY 256 OF CHAR; Get*: PROCEDURE (f: CheckBox; OUT on: BOOLEAN); Set*: PROCEDURE (f: CheckBox; on: BOOLEAN) END; RadioButton* = POINTER TO ABSTRACT RECORD (Frame) label*: ARRAY 256 OF CHAR; Get*: PROCEDURE (f: RadioButton; OUT on: BOOLEAN); Set*: PROCEDURE (f: RadioButton; on: BOOLEAN) END; ScrollBar* = POINTER TO ABSTRACT RECORD (Frame) Track*: PROCEDURE (f: ScrollBar; dir: INTEGER; VAR pos: INTEGER); Get*: PROCEDURE (f: ScrollBar; OUT size, sect, pos: INTEGER); Set*: PROCEDURE (f: ScrollBar; pos: INTEGER) END; Field* = POINTER TO ABSTRACT RECORD (Frame) maxLen*: INTEGER; (* max num of characters in field (w/o 0X) *) left*, right*, multiLine*, password*: BOOLEAN; Get*: PROCEDURE (f: Field; OUT string: ARRAY OF CHAR); Set*: PROCEDURE (f: Field; IN string: ARRAY OF CHAR); Equal*: PROCEDURE (f: Field; IN s1, s2: ARRAY OF CHAR): BOOLEAN END; UpDownField* = POINTER TO ABSTRACT RECORD (Frame) min*, max*, inc*: INTEGER; Get*: PROCEDURE (f: UpDownField; OUT val: INTEGER); Set*: PROCEDURE (f: UpDownField; val: INTEGER) END; DateField* = POINTER TO ABSTRACT RECORD (Frame) Get*: PROCEDURE (f: DateField; OUT date: Dates.Date); Set*: PROCEDURE (f: DateField; IN date: Dates.Date); GetSel*: PROCEDURE (f: DateField; OUT sel: INTEGER); SetSel*: PROCEDURE (f: DateField; sel: INTEGER) END; TimeField* = POINTER TO ABSTRACT RECORD (Frame) Get*: PROCEDURE (f: TimeField; OUT date: Dates.Time); Set*: PROCEDURE (f: TimeField; IN date: Dates.Time); GetSel*: PROCEDURE (f: TimeField; OUT sel: INTEGER); SetSel*: PROCEDURE (f: TimeField; sel: INTEGER) END; ColorField* = POINTER TO ABSTRACT RECORD (Frame) Get*: PROCEDURE (f: ColorField; OUT col: INTEGER); Set*: PROCEDURE (f: ColorField; col: INTEGER) END; ListBox* = POINTER TO ABSTRACT RECORD (Frame) sorted*: BOOLEAN; Get*: PROCEDURE (f: ListBox; OUT i: INTEGER); Set*: PROCEDURE (f: ListBox; i: INTEGER); GetName*: PROCEDURE (f: ListBox; i: INTEGER; VAR name: ARRAY OF CHAR) END; SelectionBox* = POINTER TO ABSTRACT RECORD (Frame) sorted*: BOOLEAN; Get*: PROCEDURE (f: SelectionBox; i: INTEGER; OUT in: BOOLEAN); Incl*: PROCEDURE (f: SelectionBox; from, to: INTEGER); Excl*: PROCEDURE (f: SelectionBox; from, to: INTEGER); Set*: PROCEDURE (f: SelectionBox; from, to: INTEGER); GetName*: PROCEDURE (f: SelectionBox; i: INTEGER; VAR name: ARRAY OF CHAR) END; ComboBox* = POINTER TO ABSTRACT RECORD (Frame) sorted*: BOOLEAN; Get*: PROCEDURE (f: ComboBox; OUT string: ARRAY OF CHAR); Set*: PROCEDURE (f: ComboBox; IN string: ARRAY OF CHAR); GetName*: PROCEDURE (f: ComboBox; i: INTEGER; VAR name: ARRAY OF CHAR) END; Caption* = POINTER TO ABSTRACT RECORD (Frame) label*: ARRAY 256 OF CHAR; left*, right*: BOOLEAN; END; Group* = POINTER TO ABSTRACT RECORD (Frame) label*: ARRAY 256 OF CHAR END; TreeFrame* = POINTER TO ABSTRACT RECORD (Frame) sorted*, haslines*, hasbuttons*, atroot*, foldericons*: BOOLEAN; NofNodes*: PROCEDURE (f: TreeFrame): INTEGER; Child*: PROCEDURE (f: TreeFrame; node: Dialog.TreeNode): Dialog.TreeNode; Parent*: PROCEDURE (f: TreeFrame; node: Dialog.TreeNode): Dialog.TreeNode; Next*: PROCEDURE (f: TreeFrame; node: Dialog.TreeNode): Dialog.TreeNode; Select*: PROCEDURE (f: TreeFrame; node: Dialog.TreeNode); Selected*: PROCEDURE (f: TreeFrame): Dialog.TreeNode; SetExpansion*: PROCEDURE (f: TreeFrame; tn: Dialog.TreeNode; expanded: BOOLEAN) END; Directory* = POINTER TO ABSTRACT RECORD END; VAR setFocus*: BOOLEAN; defaultFont*, defaultLightFont*: Fonts.Font; dir-, stdDir-: Directory; (** Frame **) PROCEDURE (f: Frame) MouseDown* (x, y: INTEGER; buttons: SET), NEW, EMPTY; PROCEDURE (f: Frame) WheelMove* (x, y: INTEGER; op, nofLines: INTEGER; VAR done: BOOLEAN), NEW, EMPTY; PROCEDURE (f: Frame) KeyDown* (ch: CHAR), NEW, EMPTY; PROCEDURE (f: Frame) Restore* (l, t, r, b: INTEGER), NEW, ABSTRACT; PROCEDURE (f: Frame) UpdateList*, NEW, EMPTY; PROCEDURE (f: Frame) Mark* (on, focus: BOOLEAN), NEW, EMPTY; PROCEDURE (f: Frame) Edit* (op: INTEGER; VAR v: Views.View; VAR w, h: INTEGER; VAR singleton, clipboard: BOOLEAN), NEW, EMPTY; PROCEDURE (f: Frame) GetCursor* (x, y: INTEGER; modifiers: SET; VAR cursor: INTEGER), NEW, EMPTY; PROCEDURE (f: Frame) Update*, NEW, EXTENSIBLE; VAR l, t, r, b: INTEGER; root: Views.RootFrame; BEGIN l := f.l + f.gx; t := f.t + f.gy; r := f.r + f.gx; b := f.b + f.gy; root := Views.RootOf(f); Views.UpdateRoot(root, l, t, r, b, Views.keepFrames); Views.ValidateRoot(root) END Update; PROCEDURE (f: Frame) DblClickOk* (x, y: INTEGER): BOOLEAN, NEW, EXTENSIBLE; BEGIN RETURN TRUE END DblClickOk; (** Field **) PROCEDURE (f: Field) Idle* (), NEW, ABSTRACT; PROCEDURE (f: Field) Select* (from, to: INTEGER), NEW, ABSTRACT; PROCEDURE (f: Field) GetSelection* (OUT from, to: INTEGER), NEW, ABSTRACT; PROCEDURE (f: Field) Length* (): INTEGER, NEW, ABSTRACT; PROCEDURE (f: Field) GetCursor* (x, y: INTEGER; modifiers: SET; VAR cursor: INTEGER), EXTENSIBLE; BEGIN cursor := Ports.textCursor END GetCursor; (** UpDownField **) PROCEDURE (f: UpDownField) Idle*, NEW, ABSTRACT; PROCEDURE (f: UpDownField) Select* (from, to: INTEGER), NEW, ABSTRACT; PROCEDURE (f: UpDownField) GetSelection* (OUT from, to: INTEGER), NEW, ABSTRACT; PROCEDURE (f: UpDownField) GetCursor* (x, y: INTEGER; modifiers: SET; VAR cursor: INTEGER), EXTENSIBLE; BEGIN cursor := Ports.textCursor END GetCursor; (** SelectionBox **) PROCEDURE (f: SelectionBox) Select* (from, to: INTEGER), NEW, ABSTRACT; PROCEDURE (f: SelectionBox) GetSelection* (OUT from, to: INTEGER), NEW, ABSTRACT; PROCEDURE (f: SelectionBox) UpdateRange* (op, from, to: INTEGER), NEW, EXTENSIBLE; BEGIN f.Update END UpdateRange; (** ComboBox **) PROCEDURE (f: ComboBox) Idle* (), NEW, ABSTRACT; PROCEDURE (f: ComboBox) Select* (from, to: INTEGER), NEW, ABSTRACT; PROCEDURE (f: ComboBox) GetSelection* (OUT from, to: INTEGER), NEW, ABSTRACT; PROCEDURE (f: ComboBox) Length* (): INTEGER, NEW, ABSTRACT; (* TreeFrame **) PROCEDURE (f: TreeFrame) GetSize* (OUT w, h: INTEGER), NEW, ABSTRACT; (** Directory **) PROCEDURE (d: Directory) GetPushButtonSize* (VAR w, h: INTEGER), NEW, ABSTRACT; PROCEDURE (d: Directory) GetCheckBoxSize* (VAR w, h: INTEGER), NEW, ABSTRACT; PROCEDURE (d: Directory) GetRadioButtonSize* (VAR w, h: INTEGER), NEW, ABSTRACT; PROCEDURE (d: Directory) GetScrollBarSize* (VAR w, h: INTEGER), NEW, ABSTRACT; PROCEDURE (d: Directory) GetFieldSize* (max: INTEGER; VAR w, h: INTEGER), NEW, ABSTRACT; PROCEDURE (d: Directory) GetUpDownFieldSize* (max: INTEGER; VAR w, h: INTEGER), NEW, ABSTRACT; PROCEDURE (d: Directory) GetDateFieldSize* (VAR w, h: INTEGER), NEW, ABSTRACT; PROCEDURE (d: Directory) GetTimeFieldSize* (VAR w, h: INTEGER), NEW, ABSTRACT; PROCEDURE (d: Directory) GetColorFieldSize* (VAR w, h: INTEGER), NEW, ABSTRACT; PROCEDURE (d: Directory) GetListBoxSize* (VAR w, h: INTEGER), NEW, ABSTRACT; PROCEDURE (d: Directory) GetSelectionBoxSize* (VAR w, h: INTEGER), NEW, ABSTRACT; PROCEDURE (d: Directory) GetComboBoxSize* (VAR w, h: INTEGER), NEW, ABSTRACT; PROCEDURE (d: Directory) GetCaptionSize* (VAR w, h: INTEGER), NEW, ABSTRACT; PROCEDURE (d: Directory) GetGroupSize* (VAR w, h: INTEGER), NEW, ABSTRACT; PROCEDURE (d: Directory) GetTreeFrameSize* (VAR w, h: INTEGER), NEW, ABSTRACT; PROCEDURE (d: Directory) NewPushButton* (): PushButton, NEW, ABSTRACT; PROCEDURE (d: Directory) NewCheckBox* (): CheckBox, NEW, ABSTRACT; PROCEDURE (d: Directory) NewRadioButton* (): RadioButton, NEW, ABSTRACT; PROCEDURE (d: Directory) NewScrollBar* (): ScrollBar, NEW, ABSTRACT; PROCEDURE (d: Directory) NewField* (): Field, NEW, ABSTRACT; PROCEDURE (d: Directory) NewUpDownField* (): UpDownField, NEW, ABSTRACT; PROCEDURE (d: Directory) NewDateField* (): DateField, NEW, ABSTRACT; PROCEDURE (d: Directory) NewTimeField* (): TimeField, NEW, ABSTRACT; PROCEDURE (d: Directory) NewColorField* (): ColorField, NEW, ABSTRACT; PROCEDURE (d: Directory) NewListBox* (): ListBox, NEW, ABSTRACT; PROCEDURE (d: Directory) NewSelectionBox* (): SelectionBox, NEW, ABSTRACT; PROCEDURE (d: Directory) NewComboBox* (): ComboBox, NEW, ABSTRACT; PROCEDURE (d: Directory) NewCaption* (): Caption, NEW, ABSTRACT; PROCEDURE (d: Directory) NewGroup* (): Group, NEW, ABSTRACT; PROCEDURE (d: Directory) NewTreeFrame* (): TreeFrame, NEW, ABSTRACT; PROCEDURE SetDir* (d: Directory); BEGIN ASSERT(d # NIL, 20); dir := d; IF stdDir = NIL THEN stdDir := d END END SetDir; BEGIN setFocus := FALSE END StdCFrames.