#lang racket/base (require racket/class racket/gui/base racket/format pkg/lib (prefix-in pkg: pkg) string-constants "common.rkt") (provide by-installed-panel%) (struct ipkg (name scope auto? checksum source)) (define (scopevector l)) (send pkg-list set (for/list ([i (in-list l)]) (~a (if (ipkg-auto? i) "*" "") (ipkg-scope i))) (for/list ([i (in-list l)]) (format "~a" (ipkg-name i))) (for/list ([i (in-list l)]) (or (ipkg-checksum i) "")) (for/list ([i (in-list l)]) (define s (ipkg-source i)) (format "~a: ~a" (case (car s) [(catalog) "Catalog"] [(url) "URL"] [(link) "Link"]) (cadr s)))) (adjust-buttons!))))