
attributes specific to that object, such as the way that PANEL_ITEM_MENU can be used to
attach an existing menu to a menu button. However, the association between menus and the
items they are attached to does not imply “ownership.”
The owner of a menu is a server object. By default, (if NULL is specified as the owner) the
default server is used. Menus may be used only on the server specified; they may not be
shared across different servers. Thus, the menu owner is only a concern for applications that
spread across multiple servers. See Chapter 15, Nonvisual Objects, for details on opening a
connection to different servers.
The parent of a menu, however, may be a pullright item from another menu. See Section
11.8, “Pullright Menus,” later in this chapter.
Figure 11-6 shows the class hierarchy for the a menu object.
Figure 11-6. Menu class hierarchy
Exclusive menus are created using the MENU_CHOICE_MENU package, as in the following ex-
ample:
Menu menu;
menu = (Menu)xv_create(NULL, MENU_CHOICE_MENU,
MENU_STRINGS, "choice1", "choice2", "choice3", NULL,
NULL);
Nonexclusive menus are created using the MENU_TOGGLE_MENU package, as in the following
example:
Menu menu;
Server_image image1, image2, image3;
menu = (Menu)xv_create(NULL, MENU_TOGGLE_MENU,
MENU_IMAGES, image1, image2, image3, NULL,
NULL);
278 XView Programming Manual