# Create an R environment to store the values of primary widgets
PWEnv <- new.env(hash = TRUE, parent = parent.frame(1))
# Create a label
label1 <- label(wName = "label1", wValue = "File Name: ", wEnv = PWEnv)
# Create an entry box with "Feed me using brows" as the default value
entry1 <- entryBox(wName = "entry1", wValue = "Feed me using browse",
wEnv = PWEnv)
# Create a button that will call the function browse2Entry1 when
# pressed.
browse2Entry1 <- function(){
tempValue <- tclvalue(tkgetOpenFile())
temp <- get(wName(entry1), env = PWEnv)
wValue(temp) <- paste(tempValue, sep = "", collapse = ";")
assign(wName(entry1), temp, env = PWEnv)
}
button1 <- button(wName = "button1", wValue = "Browse",
wFuns = list(command = browse2Entry1), wEnv = PWEnv)
# Create a list box with "Option1", "Option2", and "Option3" as the
# content and "Option1" selected
list1 <- listBox(wName = "list1", wValue = c(Option1 = TRUE, Option2 = FALSE,
Option3 = FALSE), wEnv = PWEnv)
# Create a text box with "Feed me something" displayed
text1 <- textBox(wName = "text1", wValue = "Feed me something",
wEnv = PWEnv)
# Create a set of radio buttons with "radio1" as the default
label2 <- label(wName = "label2", wValue = "Select one: ", wEnv = PWEnv)
radios1 <- radioButton(wName = "radios1", wValue = c(radio1 = TRUE,
radio2 = FALSE, radio3 = FALSE), wEnv = PWEnv)
# Create a set of check boxes with "check1" selected and "check2" and
# "check3" not selected
label3 <- label(wName = "label3", wValue = "Select one to many: ",
wEnv = PWEnv)
checks1 <- checkButton(wName = "checks1", wValue = c(check1 = TRUE,
check22 = FALSE, check3 = FALSE), wEnv = PWEnv)
# Please not that the name of the primary widget object (e.g. checks1)
# should be the same as the value of the name slot of the object
# (e. g. name = "checks1")
# Render the widgets
pWidgets <- list(topRow = list(label1 = label1, entry1 = entry1,
button1 = button1), textRow = list(list1 = list1,
text1 = text1), radGroup = list(label2 = label2,
radios1 = radios1), chkGroup = list(label3 = label3,
checks1 = checks1))
## Not run:
# ## These cannot be run by examples() but should be OK when pasted
# ## into an interactive R session with the widgetTools package loaded
#
# aWidget <- widget(wTitle = "A test widget", pWidgets, funs = list(),
# preFun = function() print("Hello"),
# postFun = function() print("Bye"), env = PWEnv)
# ## End(Not run)
Run the code above in your browser using DataCamp Workspace