tcl.tk.example <- function(PROBLEM = TRUE) { require(tcltk) t2 <<- tktoplevel() tktitle(t2) <- "Hit/Miss" group.button1 <<- tkradiobutton(t2) group.button2 <<- tkradiobutton(t2) repeated.measures.value <- tclVar("3") l.repeated.measures.value <- tklabel(t2, text=" hit/miss column(s) ") e.repeated.measures.value <- tkentry(t2, textvariable=repeated.measures.value, width=5, borderwidth = 3, relief="sunken") tkgrid(tklabel(t2, text="Hit/Miss POD Setup"), columnspan=2, sticky="n") tkgrid.configure(l.repeated.measures.value, e.repeated.measures.value, sticky="e") tkgrid.configure(e.repeated.measures.value, sticky="w", padx=5) ################################################################################ frame.2 <- tkframe(t2, borderwidth = 3, width=150, height=100, relief="ridge") GROUP.column.value <- tclVar("4") l.GROUP.column.value <- tklabel(frame.2, text="GROUP column ") e.GROUP.column.value <- tkentry(frame.2, textvariable=GROUP.column.value, width=2, borderwidth = 3, relief="sunken") l.group.value.yes <- tklabel(frame.2, text="group data? yes ") l.group.value.no <- tklabel(frame.2, text="NO ") group.buttonValue <- tclVar("GROUP.DATA") tkconfigure(group.button1, variable=group.buttonValue, value="TRUE") tkconfigure(group.button2, variable=group.buttonValue, value="FALSE") if(PROBLEM){ ### group.button1 not placed within frame.2 because I don't know how to indicate frame.2 tkgrid(l.group.value.yes, group.button1, sticky="e") tkgrid(group.button1, sticky="w") tkgrid(l.group.value.no, group.button2, sticky="e") tkgrid(group.button2, sticky="w") } else { ### second dummy lable is correctly placed because I can tell it that it belongs in frame.2 tkgrid(l.group.value.yes, tklabel(frame.2, text="dummy"), sticky="e") tkgrid(l.group.value.no, tklabel(frame.2, text="dummy"), sticky="e") } tkgrid(l.GROUP.column.value, e.GROUP.column.value, sticky="e") tkgrid(e.GROUP.column.value, sticky="w", padx=5, pady=5) tkgrid(frame.2, columnspan=2) ################################################################################ OnOK <- function() { hit.miss.columns <<- eval(parse(text=paste("c(", substr(gsub(pattern = "-", replacement=":", as.character(tclvalue(repeated.measures.value))),start=1,stop=10000), ")"))) n.columns <<- length(hit.miss.columns) GROUP.column <<- as.double(as.character(tclvalue(GROUP.column.value))) repeated.measures.GROUP.names <<- as.character(tclvalue(repeated.measures.GROUP.value)) ###read.hit.miss.input() tkdestroy(t2) } OK.but <- tkbutton(t2,text=" OK ", command=OnOK, borderwidth = 3, relief="raised") tkgrid(tklabel(t2,text=" Must click OK\nto register changes. "), (OK.but), sticky="e") tkgrid(OK.but, sticky="w") tkfocus(t2) } tcl.tk.example(PROBLEM = TRUE) tcl.tk.example(PROBLEM = FALSE)