Nothing
#' Execute a command in the GUI client
#'
#' @description This function is not intended to be used at the command line
#' (except for debugging purposes). It executes a command string to a
#' (compatible) GUI client.
#'
#' @param command The command string to execute in the GUI client.
#' @param ... Parameters provided for the command to execute in the GUI client.
#' @return The result of the command if it succeed, or `NULL` if the command
#' cannot be run (i.e., `.guiCmd()` is not defined in `SciViews:TempEnv`).
#' @details You must define a function `.guiCmd()` in the `SciViews:TempEnv`
#' environment that will take first argument as the name of the command to
#' execute (like `source`, `save`, `import`, etc.), and ... with arguments to
#' the command to send. Depending on your GUI, you should have code that
#' delegates the GUI elements (ex: display a dialog asking for a .Rdata file to
#' source) and then, execute the command in \R with the selected file as
#' attribute.
#' @export
#' @seealso [get_temp()]
#' @keywords misc
#' @concept graphical user interface (GUI) control
gui_cmd <- function(command, ...) {
# This function sends a command to the GUI client
# The actual code is a custom function named .guiCmd in SciViews:TempEnv
cmd_fun <- get_temp(".guiCmd", mode = "function")
if (!is.null(cmd_fun)) {
cmd_fun(command, ...)
} else {
NULL
}
}
#' @export
#' @rdname gui_cmd
gui_load <- function(...) {
# Ask the GUI client to select a .Rdata file to load()
gui_cmd("load", ...)
}
#' @export
#' @rdname gui_cmd
gui_source <- function(...){
# Ask the GUI client to select a .R file to source()
gui_cmd("source", ...) # TODO: should use sys.source() here
}
#' @export
#' @rdname gui_cmd
gui_save <- function(...){
# Ask the GUI client for a file where to save some data
gui_cmd("save", ...)
}
#' @export
#' @rdname gui_cmd
gui_import <- function(...){
# Ask the client to display a dialog for importing some data
gui_cmd("import", ...)
}
#' @export
#' @rdname gui_cmd
gui_export <- function(...) {
# Ask the client to display a dialog for exporting some data
gui_cmd("export", ...)
}
#' @export
#' @rdname gui_cmd
gui_report <- function(...) {
# Ask the client to display a dialog for reporting data (send a view...)
gui_cmd("report", ...)
}
#' @export
#' @rdname gui_cmd
gui_setwd <- function(...) {
# Ask the GUI client to select a directory to set as active
gui_cmd("setwd", ...)
}
# Backward compatibility
#' @export
#' @rdname gui_cmd
guiCmd <- gui_cmd
#' @export
#' @rdname gui_cmd
guiLoad <- gui_load
#' @export
#' @rdname gui_cmd
guiSource <- gui_source
#' @export
#' @rdname gui_cmd
guiSave <- gui_save
#' @export
#' @rdname gui_cmd
guiImport <- gui_import
#' @export
#' @rdname gui_cmd
guiExport <- gui_export
#' @export
#' @rdname gui_cmd
guiReport <- gui_report
#' @export
#' @rdname gui_cmd
guiSetwd <- gui_setwd
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.