Hello,

   I am sorry if this is an answered question, but I did my homework for a long 
while and couldn't figure out a way to retrieve data entry from a model dialog. 
In one of the examples compiled by James Wettenhall:

odalDialog <- function(title, question, entryInit, entryWidth = 20,
    returnValOnCancel = "ID_CANCEL") {
    dlg <- tktoplevel()
    tkwm.deiconify(dlg)
    tkgrab.set(dlg)
    tkfocus(dlg)
    tkwm.title(dlg, title)
    textEntryVarTcl <- tclVar(paste(entryInit))
    textEntryWidget <- tkentry(dlg, width = paste(entryWidth),
        textvariable = textEntryVarTcl)
    tkgrid(tklabel(dlg, text = "       "))
    tkgrid(tklabel(dlg, text = question), textEntryWidget)
    tkgrid(tklabel(dlg, text = "       "))
    ReturnVal <- returnValOnCancel

    onOK <- function() {
        ReturnVal <<- tclvalue(textEntryVarTcl)
        tkgrab.release(dlg)
        tkdestroy(dlg)
        tkfocus(ttMain)
    }
    onCancel <- function() {
        ReturnVal <<- returnValOnCancel
        tkgrab.release(dlg)
        tkdestroy(dlg)
        tkfocus(ttMain)
    }
    OK.but <- tkbutton(dlg, text = "   OK   ", command = onOK)
    Cancel.but <- tkbutton(dlg, text = " Cancel ", command = onCancel)
    tkgrid(OK.but, Cancel.but)
    tkgrid(tklabel(dlg, text = "    "))

    tkfocus(dlg)
    tkbind(dlg, "<Destroy>", function() {tkgrab.release(dlg); tkfocus(ttMain)})
    tkbind(textEntryWidget, "<Return>", onOK)
    tkwait.window(dlg)

    return(ReturnVal)
}

# Create a "main" window with a button which activates our dialog
require(tcltk)
ttMain <- tktoplevel()
tktitle(ttMain) <- "ttMain"
launchDialog <- function() {
    ReturnVal <- modalDialog("First Name Entry", "Enter Your First Name", "")
    if (ReturnVal == "ID_CANCEL") return()
    tkmessageBox(title = "Greeting",
        message = paste("Hello, ", ReturnVal, ".", sep = ""))
}
launchDlg.button <- tkbutton(ttMain, text = "Launch Dialog", command = 
launchDialog)
tkpack(launchDlg.button)


      How can I retrieve the input value of ReturnVal? Also, is there a book 
that you would recommend to understand the interface between tcl/tk and R?  Dr. 
Dalgaard's article was very helpful, but wondering if there is more information 
on the topic.


Thank you for your help,

______________________________________________
R-help@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.

Reply via email to