rp.combo {rpanel} | R Documentation |
A ‘combo’ for a panel
Description
This function adds a ‘combobox’ to the panel. When an item is pressed, a variable is set and an action function is called.
Usage
rp.combo(panel, variable, prompt=NULL, vals, initval=vals[1], pos=NULL, action=I,
foreground=NULL, background=NULL, font=NULL, editable=FALSE,
parentname=deparse(substitute(panel)), name=paste("combo", .nc(), sep=""), ...)
Arguments
panel |
the panel in which the combobox should appear. |
variable |
the name of the variable whose value is set by the combobox. |
prompt |
the label for the combobox. |
vals |
the values of |
initval |
the initial value of |
pos |
the layout instructions. Please see the |
action |
the function which is called when an item is chosen. |
foreground |
colour of the text |
background |
colour of the text background |
font |
font to be used |
editable |
whether the combobox can be edited or not. |
parentname |
this specifies the widget inside which the combobox should appear. |
name |
name assigned to the combobox, used for disposing of the widget |
... |
... |
Details
The function action
should take one argument, which should be the panel to which the combobox is attached.
See rp.grid
for details of the grid layout system.
This function makes use of the BWidget extension to the Tcl/Tk system. If Bwidget has not been installed on your system, download it from https://sourceforge.net/projects/tcllib/files/BWidget/ and expand the compressed file into a folder. On a Windows machine, this folder should then be copied into the folder containing the Tcl libraries that were installed as part of R. This may be in a location such as C:\Program Files\R\R-4.0.2\Tcl\lib (with an obvious change to the version number of R being used). On a Mac, the downloaded folder should be copied into the folder where the main Tcl package is located (note: not inside the Tcl folder but at the same level as the Tcl folder). This may be in a location such as /usr/local/lib.
Note that rp.listbox
provides an alternative to rp.combo
if the latter is unavailable.
Value
If the parameter panel is the panelname string the same string is returned. If the panel object is used the altered panel is assigned to both the calling level and panel's environment level.
Warning
The action
function should return the panel. Without this assignment any widgets added or alterations made to panel parameters within the action
function will be lost.
Note
Parameters parent
and ...
have been discontinued in version 1.1. Note that the argument previously named var
has been renamed variable
to avoid reserved
word issues.
References
rpanel: Simple interactive controls for R functions using the tcltk package. Journal of Statistical Software, 17, issue 9.
See Also
Examples
## Not run:
callback <- function(panel) {
print(panel$option)
panel
}
panel <- rp.control()
rp.combo(panel, option, "Pick an option:",
c("Option1","Option2","Other options"), action=callback)
## End(Not run)