| % File src/library/utils/man/winMenus.Rd |
| % Part of the R package, https://www.R-project.org |
| % Copyright 1995-2018 R Core Team |
| % Distributed under GPL 2 or later |
| |
| \name{winMenus} |
| \title{User Menus under MS Windows (Rgui)} |
| \alias{winMenuAdd} |
| \alias{winMenuAddItem} |
| \alias{winMenuDel} |
| \alias{winMenuDelItem} |
| \alias{winMenuNames} |
| \alias{winMenuItems} |
| \description{ |
| Enables users to add, delete and program menus for the \command{Rgui} in MS Windows. |
| } |
| \usage{ |
| winMenuAdd(menuname) |
| winMenuAddItem(menuname, itemname, action) |
| winMenuDel(menuname) |
| winMenuDelItem(menuname, itemname) |
| winMenuNames() |
| winMenuItems(menuname) |
| } |
| \arguments{ |
| \item{menuname}{a character string naming a menu.} |
| \item{itemname}{a character string naming a menu item on an existing menu.} |
| \item{action}{a character string describing the action when that menu |
| is selected, or \code{"enable"} or \code{"disable"}.} |
| } |
| \details{ |
| User menus are added to the right of existing menus, and items are |
| added at the bottom of the menu. |
| |
| By default the action character string is treated as \R input, being |
| echoed on the command line and parsed and executed as usual. |
| |
| If the \code{menuname} parameter of \code{winMenuAddItem} does not |
| already exist, it will be created automatically. |
| |
| Normally new submenus and menu items are added to the main console |
| menu. They may be added elsewhere using the following special names: |
| \describe{ |
| \item{\code{$ConsoleMain}}{The console menu (the default)} |
| \item{\code{$ConsolePopup}}{The console popup menu} |
| \item{\code{$Graph<n>Main}}{The menu for graphics window \code{<n>}} |
| \item{\code{$Graph<n>Popup}}{The popup menu for graphics window |
| \code{<n>}} |
| } |
| |
| Specifying an existing item in \code{winMenuAddItem} enables the |
| action to be changed. |
| |
| Submenus can be specified by separating the elements in |
| \code{menuname} by slashes: as a consequence menu names may not |
| contain slashes. |
| |
| If the \code{action} is specified as \code{"none"} no action is taken: |
| this can be useful to reserve items for future expansion. |
| |
| The function \code{winMenuNames} can be used to find out what menus |
| have been created by the user and returns a vector of the existing |
| menu names. |
| |
| The \code{winMenuItems} function will take the name of a menu and |
| return the items that exist in that menu. The return value is a named |
| vector where the names correspond to the names of the items and the |
| values of the vector are the corresponding actions. |
| |
| The \code{winMenuDel} function will delete a menu and all of its items |
| and submenus. \code{winMenuDelItem} just deletes one menu item. |
| |
| The total path to an item (menu string plus item string) cannot exceed |
| 1000 bytes, and the menu string cannot exceed 500 bytes. |
| } |
| \value{ |
| \code{NULL}, invisibly. If an error occurs, an informative error |
| message will be given. |
| } |
| \note{ |
| These functions are only available on Windows and only when using |
| the \command{Rgui}, hence not in \command{ESS} nor \command{RStudio}. |
| } |
| \seealso{\code{\link{winDialog}}} |
| \examples{\dontrun{ |
| winMenuAdd("Testit") |
| winMenuAddItem("Testit", "one", "aaaa") |
| winMenuAddItem("Testit", "two", "bbbb") |
| winMenuAdd("Testit/extras") |
| winMenuAddItem("Testit", "-", "") |
| winMenuAddItem("Testit", "two", "disable") |
| winMenuAddItem("Testit", "three", "cccc") |
| winMenuAddItem("Testit/extras", "one more", "ddd") |
| winMenuAddItem("Testit/extras", "and another", "eee") |
| winMenuAdd("$ConsolePopup/Testit") |
| winMenuAddItem("$ConsolePopup/Testit", "six", "fff") |
| winMenuNames() |
| winMenuItems("Testit") |
| }} |
| \keyword{utilities} |