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 clojure@googlegroups.com
To unsubscribe from this group, send email to 
clojure+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/clojure?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to