[R] tcl/tk return problem

Philippe Grosjean phgrosjean at sciviews.org
Wed Aug 31 12:40:41 CEST 2005


deggle wrote:
> Hello,
> 
> I'm very new in working with tcl/tk in R and have a problem which will 
> probably
> sound silly to most of you.
> Here is the code I have problems with:
> 
> readcelfiles <- function()
> {
>    require(tcltk)
>    tt <- tktoplevel()
>    tkgrid(tklabel(tt,text="Choose a directory!"))
> 
>  OnOK <- function()
>  {
>     fileDir<-tclvalue(tkchooseDirectory())
>     data.raw <- ReadAffy(celfile.path=fileDir)
>     #return(data.raw)
>  }
> 
>    OK.but <- tkbutton(tt,text="OK",command=OnOK)
>    tkgrid(OK.but)
>    tkfocus(tt)
> }
> 
> So after clicking on my "OK" button, I choose my directory and read the 
> cel-files.
> But now I want to return the object to my workspace ... "return" doesn't 
> work here.

I suppose you mean in the User Workspace. Your OnOK function should look 
like that:

OnOK <- function() {
      fileDir<-tclvalue(tkchooseDirectory())
      data.raw <<- ReadAffy(celfile.path=fileDir)
}

Note that the function overwrites any existing 'data.raw', so this could 
be dangerous. Writting directly in the User Workspace is not advised 
from inside a function, but here, it is the simplest way to return a 
result from a tk widget action.
Best

Philippe Grosjean


> Could anyone give me a hint?
> 
> Thank you very much,
> Daniela
> 
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
> 
>




More information about the R-help mailing list