[R] Radio Buttons or similars

Gabor Grothendieck ggrothendieck at gmail.com
Thu Mar 20 02:07:10 CET 2008


Sorry, also uncomment your commented lines so its like this:

function1<-function(){
       require(tcltk)
       tt <- tktoplevel()
       rb1 <- tkradiobutton(tt)
       rb2 <- tkradiobutton(tt)
       rbValue <- tclVar("oranges")
       tkconfigure(rb1,variable=rbValue,value="apples")
       tkconfigure(rb2,variable=rbValue,value="oranges")
       tkgrid(tklabel(tt,text="Which do you prefer?"))
       tkgrid(tklabel(tt,text="Apples "),rb1)
       tkgrid(tklabel(tt,text="Oranges "),rb2)
       value<-0;
       done <- tclVar(0) ###
       aux_function<- function()
       {
           rbVal <- as.character(tclvalue(rbValue))
           # tkdestroy(tt)
           if (rbVal=="apples")
               tkmessageBox(message="Good choice!  An apple a day
keeps the doctor
away!")
           if (rbVal=="oranges")
               tkmessageBox(message="Good choice!  Oranges are full of
Vitamin C!")
           tclvalue(done) <- 1 ###
           print(rbVal);
           return(rbVal);
       }
       # OK.but <- tkbutton(tt,text="OK",command=function() aux_function())
       OK.but <- tkbutton(tt,text="OK",command=function()
value<<-aux_function())

       tkgrid(OK.but)
       tkfocus(tt)
       tkwait.variable(done) ###
       tkdestroy(tt)
       return(value)
       }



On Wed, Mar 19, 2008 at 9:04 PM, Gabor Grothendieck
<ggrothendieck at gmail.com> wrote:
> Use tkwait.variable(done) to wait until tcl variable done turns non zero.
> I've changed the lines marked ###.  Also see:
> http://bioinf.wehi.edu.au/~wettenhall/RTclTkExamples/OKCancelDialog.html
>
> function1<-function(){
>       require(tcltk)
>       tt <- tktoplevel()
>       rb1 <- tkradiobutton(tt)
>       rb2 <- tkradiobutton(tt)
>       rbValue <- tclVar("oranges")
>       tkconfigure(rb1,variable=rbValue,value="apples")
>       tkconfigure(rb2,variable=rbValue,value="oranges")
>       tkgrid(tklabel(tt,text="Which do you prefer?"))
>       tkgrid(tklabel(tt,text="Apples "),rb1)
>       tkgrid(tklabel(tt,text="Oranges "),rb2)
>       value<-0;
>       done <- tclVar(0) ###
>       aux_function<- function()
>       {
>           rbVal <- as.character(tclvalue(rbValue))
>           # tkdestroy(tt) ###
>           if (rbVal=="apples")
>               tkmessageBox(message="Good choice!  An apple a day
> keeps the doctor
> away!")
>           if (rbVal=="oranges")
>               tkmessageBox(message="Good choice!  Oranges are full of
> Vitamin C!")
>           tclvalue(done) <- 1 ###
>           print(rbVal);
>           return(rbVal);
>       }
>       OK.but <- tkbutton(tt,text="OK",command=function() aux_function())
>       #OK.but <- tkbutton(tt,text="OK",command=function()
> value<<-aux_function())
>
>       tkgrid(OK.but)
>       tkfocus(tt)
>       tkwait.variable(done) ###
>       tkdestroy(tt) ###
>       #return(value)
>
>       }
>
>
>
> On Wed, Mar 19, 2008 at 7:50 PM, ermimi <ermimi_ at hotmail.com> wrote:
> >
> > Hello companions!!!
> >
> > I have a function that creates a Radio Buttons, and I need that this
> > function return the selected value in the Radio Buttons. I would like that,
> > if somebody know as I could return the value, you say me as do it.
> >
> > Next, I show the function
> >
> >
> > function1<-function(){
> >        require(tcltk)
> >        tt <- tktoplevel()
> >        rb1 <- tkradiobutton(tt)
> >        rb2 <- tkradiobutton(tt)
> >        rbValue <- tclVar("oranges")
> >        tkconfigure(rb1,variable=rbValue,value="apples")
> >        tkconfigure(rb2,variable=rbValue,value="oranges")
> >        tkgrid(tklabel(tt,text="Which do you prefer?"))
> >        tkgrid(tklabel(tt,text="Apples "),rb1)
> >        tkgrid(tklabel(tt,text="Oranges "),rb2)
> >        value<-0;
> >        aux_function<- function()
> >        {
> >            rbVal <- as.character(tclvalue(rbValue))
> >            tkdestroy(tt)
> >            if (rbVal=="apples")
> >                tkmessageBox(message="Good choice!  An apple a day keeps the doctor
> > away!")
> >            if (rbVal=="oranges")
> >                tkmessageBox(message="Good choice!  Oranges are full of Vitamin C!")
> >            print(rbVal);
> >            return(rbVal);
> >        }
> >        OK.but <- tkbutton(tt,text="OK",command=function() aux_function())
> >        #OK.but <- tkbutton(tt,text="OK",command=function() value<<-aux_function())
> >
> >        tkgrid(OK.but)
> >        tkfocus(tt)
> >        #return(value)
> >        }
> >
> >
> >
> >
> > Thanks in advance!
> > A greetings Luismi
> > --
> > View this message in context: http://www.nabble.com/Radio-Buttons-or-similars-tp16164495p16164495.html
> > Sent from the R help mailing list archive at Nabble.com.
> >
> > ______________________________________________
> > R-help at r-project.org mailing list
> > https://stat.ethz.ch/mailman/listinfo/r-help
> > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> > and provide commented, minimal, self-contained, reproducible code.
> >
>



More information about the R-help mailing list