I'm trying to create a useful snip that displays a different sub-snip every second. I think I've overridden every method required to get a "useful" snip, but nothing gets display in DrRacket and the functions aren't called ever. Are there other methods that need to be overridden?
The code is below... Jay #lang racket/base (require (for-syntax racket/base) racket/class racket/function racket/runtime-path racket/snip) (define reactive-snip% (class* snip% () (init-field sub-snips) (printf "Snips: ~a\n" sub-snips) (define (the-snip) (list-ref sub-snips (modulo (current-seconds) (length sub-snips)))) (define-syntax-rule (delegate id) (define/override (id . a) (define some-snip (the-snip)) (printf "Delegating (~a ~a) to ~a\n" 'id a some-snip) (send/apply some-snip id a))) (delegate get-extent) (delegate draw) (delegate get-text) ; set-unmodified or modified (super-new))) (define-runtime-path img1 '(lib "PLT-206-larval.png" "icons")) (define-runtime-path img2 '(lib "PLT-206-mars.jpg" "icons")) (define sub-snips (map (curry make-object image-snip%) (list img1 img2))) (define x (make-object reactive-snip% sub-snips)) sub-snips x -- Jay McCarthy <j...@cs.byu.edu> Assistant Professor / Brigham Young University http://faculty.cs.byu.edu/~jay "The glory of God is Intelligence" - D&C 93 _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/users