macro stepper: more iop

svn: r13134

original commit: b91874f41ca5ae60a2e83d533a821b4e018c6fe5
This commit is contained in:
Ryan Culpepper 2009-01-15 00:10:09 +00:00
parent f07274df5a
commit d59e6ee771

View File

@ -3,6 +3,7 @@
(require (for-syntax scheme/base)
scheme/list
scheme/class
macro-debugger/util/class-iop
scheme/gui)
(provide define/listen
field/notify
@ -15,7 +16,9 @@
menu-option/notify-box
menu-group/notify-box
check-box/notify-box
choice/notify-box)
choice/notify-box
methods:notify)
(define-for-syntax (join . args)
(define (->string x)
@ -71,6 +74,19 @@
(define/public-final (listen-name listener)
(send name listen listener))))]))
(define-interface-expander methods:notify
(lambda (stx)
(syntax-case stx ()
[(_ name ...)
(apply append
(for/list ([name (syntax->list #'(name ...))])
(list ;; (join "init-" #'name)
(join "get-" name)
(join "set-" name)
(join "listen-" name))))])))
(define-syntax (connect-to-pref stx)
(syntax-case stx ()
[(connect-to-pref name pref)