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