Hi Hana,
I use the rpanel package to generate GUIs for R. Here is an example of what you are trying to do with the rpanel package: (p.s. make sure buffered output is switched off in the Rgui). reallySlowFunction = function(panel,n=20) { for(i in 1:n) { cat("z") Sys.sleep(0.5) cat("\n") } return(panel) } library(rpanel) # Create an rpanel and add the button "Simulate" to it. panel <- rp.control() rp.button(panel, action = reallySlowFunction, title = "Simulate") Regards, Wayne -----Original Message----- From: r-sig-gui-boun...@stat.math.ethz.ch [mailto:r-sig-gui-boun...@stat.math.ethz.ch]on Behalf Of Hana Sevcikova Sent: 11 August 2009 07:30 To: jverzani Cc: r-sig-gui@stat.math.ethz.ch Subject: Re: [R-gui] Process control in gWidgets Thank you very much, John. I am indeed using gWidgetsRGtk2 but I was hoping to make my GUI independent of the specific toolkit. But there is probably no easy solution. Even with the gtkEventsPending() and gtkMainIteration() I don't get the output into the R-console as the computation runs, rather at the very end. Please let me know if you get other ideas how to solve it. Thanks, Hana jverzani wrote: > Hana Sevcikova <hana <at> cs.washington.edu> writes: > >> 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. >> > > Dear Hana, > > This post was followed up with > https://stat.ethz.ch/pipermail/r-help/2008-February/154249.html where a > combination of gtkEventsPending() and gtkMainIteration() is used to update > the > GUI during a computation. This could work for you if a) you are using > gWidgetsRGtk2 through gWidgets and b) you can add this within your long > computation. If that doesn't work out, let me know. > > --John > > >> 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 >> > > _______________________________________________ > R-SIG-GUI mailing list > R-SIG-GUI@stat.math.ethz.ch > https://stat.ethz.ch/mailman/listinfo/r-sig-gui _______________________________________________ R-SIG-GUI mailing list R-SIG-GUI@stat.math.ethz.ch https://stat.ethz.ch/mailman/listinfo/r-sig-gui _______________________________________________ R-SIG-GUI mailing list R-SIG-GUI@stat.math.ethz.ch https://stat.ethz.ch/mailman/listinfo/r-sig-gui