gui/collects/framework/private/collapsed-snipclass-helpers.ss
Robby Findler 0e3bbb82a3 ..
original commit: 3be7351c9070df86b8ceff66ee254668922703f2
2002-07-17 23:04:43 +00:00

27 lines
1.0 KiB
Scheme

(module collapsed-snipclass-helpers mzscheme
(require (lib "mred.ss" "mred")
(lib "class.ss"))
(provide make-sexp-snipclass%)
(define (make-sexp-snipclass% sexp-snip%)
(class snip-class%
(define/override (read in)
(let* ([left-bracket (string-ref (send in get-string) 0)]
[right-bracket (string-ref (send in get-string) 0)]
[snip-count (send in get-exact)]
[saved-snips
(let loop ([n snip-count])
(cond
[(zero? n) null]
[else
(let* ([classname (send in get-string)]
[snipclass (send (get-the-snip-class-list) find classname)])
(cons (send snipclass read in)
(loop (- n 1))))]))])
(instantiate sexp-snip% ()
(left-bracket left-bracket)
(right-bracket right-bracket)
(saved-snips saved-snips))))
(super-instantiate ()))))