put status bar update on stepper frame eventspace

This commit is contained in:
John Clements 2012-01-18 13:08:16 -08:00
parent 276cb4150d
commit 758523bdf3

View File

@ -79,19 +79,20 @@
(define view #f) (define view #f)
;; wait for steps to show up on the channel. When they do, add them to the list. ;; wait for steps to show up on the channel. When they do, add them to the list.
(define (start-listener-thread) (define (start-listener-thread stepper-frame-eventspace)
(thread (thread
(lambda () (lambda ()
(let loop () (let loop ()
(define new-result (async-channel-get view-channel)) (define new-result (async-channel-get view-channel))
(define new-step (format-result new-result)) (define new-step (format-result new-result))
(queue-callback (parameterize ([current-eventspace stepper-frame-eventspace])
(lambda () (queue-callback
(set! view-history (append view-history (list new-step))) (lambda ()
(set! num-steps-available (length view-history)) (set! view-history (append view-history (list new-step)))
;; this is only necessary the first time, but it's cheap: (set! num-steps-available (length view-history))
(semaphore-post first-step-sema) ;; this is only necessary the first time, but it's cheap:
(update-status-bar))) (semaphore-post first-step-sema)
(update-status-bar))))
(loop))))) (loop)))))
@ -375,7 +376,7 @@
(send (send s-frame edit-menu:get-redo-item) enable #f) (send (send s-frame edit-menu:get-redo-item) enable #f)
;; START THE MODEL ;; START THE MODEL
(start-listener-thread) (start-listener-thread (send s-frame get-eventspace))
(model:go (model:go
program-expander-prime program-expander-prime
;; what do do with the results: ;; what do do with the results: