| chooseWinVal {PBSmodelling} | R Documentation |
Choose and Set a String Item in a GUI
Description
Prompts the user to choose one string item from a list of choices displayed in a GUI, then sets a specified variable in a target GUI.
Usage
chooseWinVal(choice, varname, winname="window")
Arguments
choice |
vector of strings from which to choose |
varname |
variable name to which |
winname |
window name for the target GUI |
Details
chooseWinVal activates a setWinVal command through an
onClose function created by the getChoice command and
modified by chooseWinVal.
Value
No value is returned directly. The choice is written to the PBS options
workspace, accessible through
getPBSoptions("getChoice"). Also set
in PBS options is the window name from which the choice was activated.
Note
Microsoft Windows users may experience difficulties switching focus between the R console and GUI windows. The latter frequently disappear from the screen and need to be reselected (either clicking on the task bar or pressing <Alt><Tab>. This issue can be resolved by switching from MDI to SDI mode. From the R console menu bar, select <Edit> and <GUI preferences>, then change the value of “single or multiple windows” to SDI.
Author(s)
Rowan Haigh, Pacific Biological Station, Fisheries and Oceans Canada, Nanaimo BC
See Also
getChoice, getWinVal, setWinVal
Examples
## Not run:
local(envir=.PBSmodEnv,expr={
dfnam <-
c("airquality","attitude","ChickWeight","faithful","freeny",
"iris","LifeCycleSavings","longley","morley","Orange",
"quakes","randu","rock","stackloss","swiss","trees")
wlist <- c(
"window name=choisir title=\"Test chooseWinVal\"",
"label text=\"Press <ENTER> in the green entry box
\nto choose a file, then press <GO>\" sticky=W pady=5",
"grid 1 3 sticky=W",
"label text=File: sticky=W",
"entry name=fnam mode=character width=23 value=\"\"
func=chFile entrybg=darkolivegreen1 pady=5",
"button text=GO bg=green sticky=W func=test",
"")
chFile <- function(ch=dfnam,fn="fnam")
{chooseWinVal(ch,fn,winname="choisir")};
#-- Example 1 GUI test
test <- function() {
oldpar = par(no.readonly=TRUE); on.exit(par(oldpar))
getWinVal(winName="choisir",scope="L")
if (fnam!="" && any(fnam==dfnam)) {
file <- get(fnam);
pairs(file,gap=0); }
else {
resetGraph();
addLabel(.5,.5,"Press <ENTER> in the green entry box
\nto choose a file, then press <GO>", col="red",cex=1.5)
}
}
#-- Example 2 Non-GUI test
#To try the non-GUI version, type 'test2()' on the command line
test2 <- function(fnames=dfnam) {
oldpar = par(no.readonly=TRUE); on.exit(par(oldpar))
frame();resetGraph()
again <- TRUE;
while (again) {
fnam <- sample(fnames,1); file <- get(fnam);
flds <- names(file);
xfld <- getChoice(paste("Pick x-field from",fnam),flds,gui=FALSE);
yfld <- getChoice(paste("Pick y-field from",fnam),flds,gui=FALSE)
plot(file[,xfld],file[,yfld],xlab=xfld,ylab=yfld,
pch=16,cex=1.2,col="red");
again <- getChoice("Plot another pair?",gui=FALSE)
}
}
require(PBSmodelling)
createWin(wlist,astext=TRUE); test();
})
## End(Not run)