[R] tcltk package functionality

Anantha Prasad/NE/USDAFS aprasad at fs.fed.us
Thu Sep 28 18:43:10 CEST 2000


Hello,
I wrote a function in R which uses tcltk package .... essentially I wanted
to give within that function, a widget with 2 radiobuttons to choose
between plotting Precip and Temperature plots. After the user has chosen
one of the radiobuttons there is another widget that asking him to identify
outliers. However, I am having a lot of problems...what R does is evaluate
the whole function without pausing...if I introduce a while() loop as I
have in the example below, R does nothing until I hit cntrl-c upon which it
shows the widget and comes out of the function......I could use a while
loop in S-PLUS using the dialog.create() dialog.display() functions, but I
cannot seem to implement that functionality in R.....what am I doing wrong?
I enclose below the sample function...Any help will be greatly
appreciated....

Prasad

"tcltktst" <-
function(x="") {
 xd <- read.table(x, header=T)
 library("tcltk")

 tt <- tktoplevel()
 tktitle(tt) <- "Diagnostics"
 label.widget <- tklabel(tt, text="Choose!")

 pptlabs <- function() {
   plot(xd$iv802, xd$PPT)
   abline(0,1)
   tt2 <- tktoplevel()
   tktitle(tt2) <- "Identify Outliers"
   lab.wid2 <- tklabel(tt2, text="Identify Outliers")
   but.wid2 <- tkbutton(tt2, text="OK", command=function() tkdestroy(tt2))
   tkpack(lab.wid2, but.wid2)
   labp <- identify(xd$iv802, xd$PPT, label=xd$FIPS)
   dev.print(png, "pptlabs.png", width=600,height=600)
 }

 templabs <- function() {
   plot(xd$iv802, xd$AVGT)
   abline(0,1)
   tt2 <- tktoplevel()
   tktitle(tt2) <- "Identify Outliers"
   lab.wid2 <- tklabel(tt2, text="Identify Outliers")
   but.wid2 <- tkbutton(tt2, text="OK", command=function() tkdestroy(tt2))
   tkpack(lab.wid2, but.wid2)
   labp <- identify(xd$iv802, xd$AVGT, label=xd$FIPS)
   dev.print(png, "templabs.png", width=600,height=600)
 }

 tclvar$choice <- 99
 rbut.wid <- tkradiobutton(tt, text="Precipitation", value=0,
variable=tclvar$choice,
 command=pptlabs)
 rbut.wid2 <- tkradiobutton(tt, text="Temperature", value=1,
variable=tclvar$choice,
 command=templabs)
 but.wid <- tkbutton(tt, text="FINISHED", command=function(){ dxcbutt <-
"Cancel";  tkdestroy(tt)})

 tkpack(label.widget)
 tkpack(rbut.wid)
 tkpack(rbut.wid2)
 #tkpack.configure(rbut.wid,side="left")
 tkpack(but.wid)

 dxcbutt <- "OK"
 while(dxcbutt == "OK") {
   if(dxcbutt=="Cancel") break
 }

 plot(xd$AVGT, xd$PPT)

}


*****************************************************************
Mr. Anantha Prasad, Ecologist/GIS Specialist
USDA Forest Service, 359 Main Rd.
Delaware OHIO 43015    USA
Ph: 740-368-0103  Email: aprasad at fs.fed.us
Web: http://www.fs.fed.us/ne/delaware/index.html
Don't Miss Climate Change Tree Atlas at:
http://www.fs.fed.us/ne/delaware/atlas/index.html
******************************************************************

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-help-request at stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._



More information about the R-help mailing list