CFrames.txt 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243
  1. MODULE StdCFrames;
  2. (* THIS IS TEXT COPY OF BlackBox 1.6-rc6 Std/Mod/CFrames.odc *)
  3. (* DO NOT EDIT *)
  4. IMPORT Fonts, Ports, Views, Dates, Dialog;
  5. CONST lineUp* = 0; lineDown* = 1; pageUp* = 2; pageDown* = 3;
  6. TYPE
  7. Frame* = POINTER TO ABSTRACT RECORD (Views.Frame)
  8. disabled*, undef*, readOnly*, noRedraw*: BOOLEAN;
  9. font*: Fonts.Font
  10. END;
  11. PushButton* = POINTER TO ABSTRACT RECORD (Frame)
  12. label*: ARRAY 256 OF CHAR;
  13. default*, cancel*: BOOLEAN;
  14. Do*: PROCEDURE (f: PushButton)
  15. END;
  16. CheckBox* = POINTER TO ABSTRACT RECORD (Frame)
  17. label*: ARRAY 256 OF CHAR;
  18. Get*: PROCEDURE (f: CheckBox; OUT on: BOOLEAN);
  19. Set*: PROCEDURE (f: CheckBox; on: BOOLEAN)
  20. END;
  21. RadioButton* = POINTER TO ABSTRACT RECORD (Frame)
  22. label*: ARRAY 256 OF CHAR;
  23. Get*: PROCEDURE (f: RadioButton; OUT on: BOOLEAN);
  24. Set*: PROCEDURE (f: RadioButton; on: BOOLEAN)
  25. END;
  26. ScrollBar* = POINTER TO ABSTRACT RECORD (Frame)
  27. Track*: PROCEDURE (f: ScrollBar; dir: INTEGER; VAR pos: INTEGER);
  28. Get*: PROCEDURE (f: ScrollBar; OUT size, sect, pos: INTEGER);
  29. Set*: PROCEDURE (f: ScrollBar; pos: INTEGER)
  30. END;
  31. Field* = POINTER TO ABSTRACT RECORD (Frame)
  32. maxLen*: INTEGER; (* max num of characters in field (w/o 0X) *)
  33. left*, right*, multiLine*, password*: BOOLEAN;
  34. Get*: PROCEDURE (f: Field; OUT string: ARRAY OF CHAR);
  35. Set*: PROCEDURE (f: Field; IN string: ARRAY OF CHAR);
  36. Equal*: PROCEDURE (f: Field; IN s1, s2: ARRAY OF CHAR): BOOLEAN
  37. END;
  38. UpDownField* = POINTER TO ABSTRACT RECORD (Frame)
  39. min*, max*, inc*: INTEGER;
  40. Get*: PROCEDURE (f: UpDownField; OUT val: INTEGER);
  41. Set*: PROCEDURE (f: UpDownField; val: INTEGER)
  42. END;
  43. DateField* = POINTER TO ABSTRACT RECORD (Frame)
  44. Get*: PROCEDURE (f: DateField; OUT date: Dates.Date);
  45. Set*: PROCEDURE (f: DateField; IN date: Dates.Date);
  46. GetSel*: PROCEDURE (f: DateField; OUT sel: INTEGER);
  47. SetSel*: PROCEDURE (f: DateField; sel: INTEGER)
  48. END;
  49. TimeField* = POINTER TO ABSTRACT RECORD (Frame)
  50. Get*: PROCEDURE (f: TimeField; OUT date: Dates.Time);
  51. Set*: PROCEDURE (f: TimeField; IN date: Dates.Time);
  52. GetSel*: PROCEDURE (f: TimeField; OUT sel: INTEGER);
  53. SetSel*: PROCEDURE (f: TimeField; sel: INTEGER)
  54. END;
  55. ColorField* = POINTER TO ABSTRACT RECORD (Frame)
  56. Get*: PROCEDURE (f: ColorField; OUT col: INTEGER);
  57. Set*: PROCEDURE (f: ColorField; col: INTEGER)
  58. END;
  59. ListBox* = POINTER TO ABSTRACT RECORD (Frame)
  60. sorted*: BOOLEAN;
  61. Get*: PROCEDURE (f: ListBox; OUT i: INTEGER);
  62. Set*: PROCEDURE (f: ListBox; i: INTEGER);
  63. GetName*: PROCEDURE (f: ListBox; i: INTEGER; VAR name: ARRAY OF CHAR)
  64. END;
  65. SelectionBox* = POINTER TO ABSTRACT RECORD (Frame)
  66. sorted*: BOOLEAN;
  67. Get*: PROCEDURE (f: SelectionBox; i: INTEGER; OUT in: BOOLEAN);
  68. Incl*: PROCEDURE (f: SelectionBox; from, to: INTEGER);
  69. Excl*: PROCEDURE (f: SelectionBox; from, to: INTEGER);
  70. Set*: PROCEDURE (f: SelectionBox; from, to: INTEGER);
  71. GetName*: PROCEDURE (f: SelectionBox; i: INTEGER; VAR name: ARRAY OF CHAR)
  72. END;
  73. ComboBox* = POINTER TO ABSTRACT RECORD (Frame)
  74. sorted*: BOOLEAN;
  75. Get*: PROCEDURE (f: ComboBox; OUT string: ARRAY OF CHAR);
  76. Set*: PROCEDURE (f: ComboBox; IN string: ARRAY OF CHAR);
  77. GetName*: PROCEDURE (f: ComboBox; i: INTEGER; VAR name: ARRAY OF CHAR)
  78. END;
  79. Caption* = POINTER TO ABSTRACT RECORD (Frame)
  80. label*: ARRAY 256 OF CHAR;
  81. left*, right*: BOOLEAN;
  82. END;
  83. Group* = POINTER TO ABSTRACT RECORD (Frame)
  84. label*: ARRAY 256 OF CHAR
  85. END;
  86. TreeFrame* = POINTER TO ABSTRACT RECORD (Frame)
  87. sorted*, haslines*, hasbuttons*, atroot*, foldericons*: BOOLEAN;
  88. NofNodes*: PROCEDURE (f: TreeFrame): INTEGER;
  89. Child*: PROCEDURE (f: TreeFrame; node: Dialog.TreeNode): Dialog.TreeNode;
  90. Parent*: PROCEDURE (f: TreeFrame; node: Dialog.TreeNode): Dialog.TreeNode;
  91. Next*: PROCEDURE (f: TreeFrame; node: Dialog.TreeNode): Dialog.TreeNode;
  92. Select*: PROCEDURE (f: TreeFrame; node: Dialog.TreeNode);
  93. Selected*: PROCEDURE (f: TreeFrame): Dialog.TreeNode;
  94. SetExpansion*: PROCEDURE (f: TreeFrame; tn: Dialog.TreeNode; expanded: BOOLEAN)
  95. END;
  96. Directory* = POINTER TO ABSTRACT RECORD END;
  97. VAR
  98. setFocus*: BOOLEAN;
  99. defaultFont*, defaultLightFont*: Fonts.Font;
  100. dir-, stdDir-: Directory;
  101. (** Frame **)
  102. PROCEDURE (f: Frame) MouseDown* (x, y: INTEGER; buttons: SET), NEW, EMPTY;
  103. PROCEDURE (f: Frame) WheelMove* (x, y: INTEGER; op, nofLines: INTEGER;
  104. VAR done: BOOLEAN), NEW, EMPTY;
  105. PROCEDURE (f: Frame) KeyDown* (ch: CHAR), NEW, EMPTY;
  106. PROCEDURE (f: Frame) Restore* (l, t, r, b: INTEGER), NEW, ABSTRACT;
  107. PROCEDURE (f: Frame) UpdateList*, NEW, EMPTY;
  108. PROCEDURE (f: Frame) Mark* (on, focus: BOOLEAN), NEW, EMPTY;
  109. PROCEDURE (f: Frame) Edit* (op: INTEGER; VAR v: Views.View; VAR w, h: INTEGER;
  110. VAR singleton, clipboard: BOOLEAN), NEW, EMPTY;
  111. PROCEDURE (f: Frame) GetCursor* (x, y: INTEGER; modifiers: SET; VAR cursor: INTEGER), NEW, EMPTY;
  112. PROCEDURE (f: Frame) Update*, NEW, EXTENSIBLE;
  113. VAR l, t, r, b: INTEGER; root: Views.RootFrame;
  114. BEGIN
  115. l := f.l + f.gx; t := f.t + f.gy; r := f.r + f.gx; b := f.b + f.gy;
  116. root := Views.RootOf(f);
  117. Views.UpdateRoot(root, l, t, r, b, Views.keepFrames);
  118. Views.ValidateRoot(root)
  119. END Update;
  120. PROCEDURE (f: Frame) DblClickOk* (x, y: INTEGER): BOOLEAN, NEW, EXTENSIBLE;
  121. BEGIN
  122. RETURN TRUE
  123. END DblClickOk;
  124. (** Field **)
  125. PROCEDURE (f: Field) Idle* (), NEW, ABSTRACT;
  126. PROCEDURE (f: Field) Select* (from, to: INTEGER), NEW, ABSTRACT;
  127. PROCEDURE (f: Field) GetSelection* (OUT from, to: INTEGER), NEW, ABSTRACT;
  128. PROCEDURE (f: Field) Length* (): INTEGER, NEW, ABSTRACT;
  129. PROCEDURE (f: Field) GetCursor* (x, y: INTEGER; modifiers: SET; VAR cursor: INTEGER), EXTENSIBLE;
  130. BEGIN
  131. cursor := Ports.textCursor
  132. END GetCursor;
  133. (** UpDownField **)
  134. PROCEDURE (f: UpDownField) Idle*, NEW, ABSTRACT;
  135. PROCEDURE (f: UpDownField) Select* (from, to: INTEGER), NEW, ABSTRACT;
  136. PROCEDURE (f: UpDownField) GetSelection* (OUT from, to: INTEGER), NEW, ABSTRACT;
  137. PROCEDURE (f: UpDownField) GetCursor* (x, y: INTEGER; modifiers: SET;
  138. VAR cursor: INTEGER), EXTENSIBLE;
  139. BEGIN
  140. cursor := Ports.textCursor
  141. END GetCursor;
  142. (** SelectionBox **)
  143. PROCEDURE (f: SelectionBox) Select* (from, to: INTEGER), NEW, ABSTRACT;
  144. PROCEDURE (f: SelectionBox) GetSelection* (OUT from, to: INTEGER), NEW, ABSTRACT;
  145. PROCEDURE (f: SelectionBox) UpdateRange* (op, from, to: INTEGER), NEW, EXTENSIBLE;
  146. BEGIN
  147. f.Update
  148. END UpdateRange;
  149. (** ComboBox **)
  150. PROCEDURE (f: ComboBox) Idle* (), NEW, ABSTRACT;
  151. PROCEDURE (f: ComboBox) Select* (from, to: INTEGER), NEW, ABSTRACT;
  152. PROCEDURE (f: ComboBox) GetSelection* (OUT from, to: INTEGER), NEW, ABSTRACT;
  153. PROCEDURE (f: ComboBox) Length* (): INTEGER, NEW, ABSTRACT;
  154. (* TreeFrame **)
  155. PROCEDURE (f: TreeFrame) GetSize* (OUT w, h: INTEGER), NEW, ABSTRACT;
  156. (** Directory **)
  157. PROCEDURE (d: Directory) GetPushButtonSize* (VAR w, h: INTEGER), NEW, ABSTRACT;
  158. PROCEDURE (d: Directory) GetCheckBoxSize* (VAR w, h: INTEGER), NEW, ABSTRACT;
  159. PROCEDURE (d: Directory) GetRadioButtonSize* (VAR w, h: INTEGER), NEW, ABSTRACT;
  160. PROCEDURE (d: Directory) GetScrollBarSize* (VAR w, h: INTEGER), NEW, ABSTRACT;
  161. PROCEDURE (d: Directory) GetFieldSize* (max: INTEGER; VAR w, h: INTEGER), NEW, ABSTRACT;
  162. PROCEDURE (d: Directory) GetUpDownFieldSize* (max: INTEGER; VAR w, h: INTEGER), NEW, ABSTRACT;
  163. PROCEDURE (d: Directory) GetDateFieldSize* (VAR w, h: INTEGER), NEW, ABSTRACT;
  164. PROCEDURE (d: Directory) GetTimeFieldSize* (VAR w, h: INTEGER), NEW, ABSTRACT;
  165. PROCEDURE (d: Directory) GetColorFieldSize* (VAR w, h: INTEGER), NEW, ABSTRACT;
  166. PROCEDURE (d: Directory) GetListBoxSize* (VAR w, h: INTEGER), NEW, ABSTRACT;
  167. PROCEDURE (d: Directory) GetSelectionBoxSize* (VAR w, h: INTEGER), NEW, ABSTRACT;
  168. PROCEDURE (d: Directory) GetComboBoxSize* (VAR w, h: INTEGER), NEW, ABSTRACT;
  169. PROCEDURE (d: Directory) GetCaptionSize* (VAR w, h: INTEGER), NEW, ABSTRACT;
  170. PROCEDURE (d: Directory) GetGroupSize* (VAR w, h: INTEGER), NEW, ABSTRACT;
  171. PROCEDURE (d: Directory) GetTreeFrameSize* (VAR w, h: INTEGER), NEW, ABSTRACT;
  172. PROCEDURE (d: Directory) NewPushButton* (): PushButton, NEW, ABSTRACT;
  173. PROCEDURE (d: Directory) NewCheckBox* (): CheckBox, NEW, ABSTRACT;
  174. PROCEDURE (d: Directory) NewRadioButton* (): RadioButton, NEW, ABSTRACT;
  175. PROCEDURE (d: Directory) NewScrollBar* (): ScrollBar, NEW, ABSTRACT;
  176. PROCEDURE (d: Directory) NewField* (): Field, NEW, ABSTRACT;
  177. PROCEDURE (d: Directory) NewUpDownField* (): UpDownField, NEW, ABSTRACT;
  178. PROCEDURE (d: Directory) NewDateField* (): DateField, NEW, ABSTRACT;
  179. PROCEDURE (d: Directory) NewTimeField* (): TimeField, NEW, ABSTRACT;
  180. PROCEDURE (d: Directory) NewColorField* (): ColorField, NEW, ABSTRACT;
  181. PROCEDURE (d: Directory) NewListBox* (): ListBox, NEW, ABSTRACT;
  182. PROCEDURE (d: Directory) NewSelectionBox* (): SelectionBox, NEW, ABSTRACT;
  183. PROCEDURE (d: Directory) NewComboBox* (): ComboBox, NEW, ABSTRACT;
  184. PROCEDURE (d: Directory) NewCaption* (): Caption, NEW, ABSTRACT;
  185. PROCEDURE (d: Directory) NewGroup* (): Group, NEW, ABSTRACT;
  186. PROCEDURE (d: Directory) NewTreeFrame* (): TreeFrame, NEW, ABSTRACT;
  187. PROCEDURE SetDir* (d: Directory);
  188. BEGIN
  189. ASSERT(d # NIL, 20); dir := d;
  190. IF stdDir = NIL THEN stdDir := d END
  191. END SetDir;
  192. BEGIN
  193. setFocus := FALSE
  194. END StdCFrames.