I am working with this SWT application. For most calls with SWT, if
you want to request data from a widget, then you must do so through
the syncExec or asynExec. These methods require an implementation of
runnable as an argument.
This works fine for 'setting' a value, but I have trouble when I need
to get a value from a widget, like a Textarea. This is the macro that
I created and it runs, but I don't think it is working properly. Does
anyone have suggestions?
Usage:
term (get-sync-call disp (. box getText))
(defmacro get-sync-call
"Synchronous execute call. Create a proxy Runnable object and then
execute the
body code"
[disp & body]
;;;;;;;;;;;;;;
`(let [val-res# (agent nil)]
;;(. ~disp syncExec
(. ~disp syncExec (proxy [Runnable] [] (run [] (send val-res# (fn
[_#] ~...@body)))))
@val-res#))
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Clojure" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
-~----------~----~----~----~------~----~------~--~---