Learn R Programming

gWidgets (version 0.0-27)

gmenu: Constructors to make menubar or toolbars

Description

A menubar or toolbar are created using these constructors. These are specified using a lists, and these may be seen as simply mapping these lists into the corresponding widget.

Usage

gmenu(menulist,  popup = FALSE, action=NULL, container = NULL, ..., toolkit = guiToolkit())

gtoolbar (toolbarlist, style = c("both", "icons", "text", "both-horiz"), action=NULL, container = NULL, ..., toolkit = guiToolkit())

Arguments

menulist
A list defining a menu bar
popup
Logical indicating if this should return a popup menu
toolbarlist
A list defining a toolbar
style
What style to use
action
Passed to menubar handlers
container
Container to attach widget to. Should be a gwindow instance.
...
Passed to the add method of the container
toolkit
Which GUI toolkit to use

Details

The lists defining a menubar or toolbar are very similar.

Each is a list with named components. A component is a terminal node if it has a handler component, which is a function to be called (without arguments) when the menu item or toolbar item is selected. Optionally, an icon component can be given specifying a stock icon to accompany the text. A non-null component named separator will also indicate a terminal node. In this case, a visible separator will be displayed.

A menubar list can use the hierarchical nature of a list to generate submenus. For toolbars this is not the case.

These constructors map the list into the widget. The methods for the constructors refer to these list defining the widget.

The svalue method returns the list.

The svalue<- method can be used to change the list, and hence redo the menubar.

The "[" method refers to the components of the list.

The code{"[<-"} method can be used to change pieces of the menubar or toolbar.

The add method with signature (obj,lst) or (obj,gmenu.instance) can be used to apped to the current menubar/toolbar. The second argument is a list or an gmenu or gtoolbar instance.

The delete method can be used to delete part of the menubar/toolbar. The value argument can be either a character vector with the top-level names to delete, or a named list, or an instance of either gmenu or gtoolbar.

Popular usage reserves toolbars and menubars for top-level windows -- not sub windows -- as such, the container, specified at construction, should be a top-level gwindow instance

Examples

Run this code
mbl <- list()
 mbl$File$Open$handler = function(h,...) print("open")
 mbl$File$Quit$handler = function(h,...) print("quit")
 mbl$File$Quit$icon = "quit"
 mbl$Edit$Find$handler = function(h,...) print("Find")
 mbl$Edit$Replace$handler = function(h,...) print("Replace")

 w <- gwindow("gmenu test")
 mb <- gmenu(mbl, container=w)

 tbl <- list()
 tbl$New <- list(icon="new",handler = function(...) print("new"))
 tbl$Print <- list(icon="print",handler = function(...) print("print"))

 tb <- gtoolbar(tbl, container=w)

Run the code above in your browser using DataLab