[R-gui] Process control in gWidgets
Hana Sevcikova
hana at cs.washington.edu
Mon Aug 10 00:03:46 CEST 2009
Hello,
I implemented a GUI (using gWidgets) from which I'd like to start a long
process by clicking a button. This process prints out status messages
which the user should be able to see in the R console during the
computation. But at the moment clicking the button freezes the GUI until
the process is finished and all output is printed at the end. Is there a
way how to do this? The process can take several hours and during that
time I need to make the GUI available for other tasks.
I found a similar post on R-help from last year where John Verzani
posted the following test code:
reallySlowFunction = function(n=20) {
for(i in 1:n) {
cat("z")
Sys.sleep(1) }
cat("\n")
}
w <- gwindow("test")
g <- ggroup(cont=w, horizontal=FALSE)
b <- gbutton("click me", cont=g,handler = function(h,...)
reallySlowFunction())
r <- gradio(1:3, cont=g, handler = function(h,...) print(svalue(h
$obj)))
I cannot figure out why my GUI freezes and this one not but
here again, the output of reallySlowFunction is printed at the very end
after the process finishes. Would anybody know how to solve it?
Thanks,
Hana
More information about the R-SIG-GUI
mailing list