row.m 992 B

1234567891011121314151617181920212223242526272829
  1. Rowm : module {
  2. PATH : con "/dis/acme/row.dis";
  3. init : fn(mods : ref Dat->Mods);
  4. newrow : fn() : ref Row;
  5. Row : adt {
  6. qlock : ref Dat->Lock;
  7. r : Draw->Rect;
  8. tag : cyclic ref Textm->Text;
  9. col : cyclic array of ref Columnm->Column;
  10. ncol : int;
  11. init : fn(r : self ref Row, re : Draw->Rect);
  12. add : fn(r : self ref Row, c : ref Columnm->Column, n : int) : ref Columnm->Column;
  13. close : fn(r : self ref Row, c : ref Columnm->Column, n : int);
  14. which : fn(r : self ref Row, p : Draw->Point) : ref Textm->Text;
  15. whichcol : fn(r : self ref Row, p : Draw->Point) : ref Columnm->Column;
  16. reshape : fn(r : self ref Row, re : Draw->Rect);
  17. typex : fn(r : self ref Row, ru : int, p : Draw->Point) : ref Textm->Text;
  18. dragcol : fn(r : self ref Row, c : ref Columnm->Column);
  19. clean : fn(r : self ref Row, exiting : int) : int;
  20. dump : fn(r : self ref Row, b : string);
  21. loadx : fn(r : self ref Row, b : string, n : int);
  22. };
  23. allwindows: fn(a0: int, aw: ref Dat->Allwin);
  24. };