DragonFly On-Line Manual Pages
EZ_CreateSimpleMenu(3) EZWGL Functions EZ_CreateSimpleMenu(3)
NAME
EZ_CreateMenuFromList - create menu from menu description array
SYNOPSIS
#include <EZ.h>
typedef struct menuEntry_ {
int type; /* entry type, e.g. EZ_WIDGET_MENU_NORMAL_BUTTON */
char *name; /* instance name, may be NULL */
char *label; /* label string */
char *accelerator; /* keyboard accelerator, e.g. C-a, may be NULL */
int underline; /* index of label to underline */
int returnValue; /* return value */
EZ_CallBack callback; /* callback */
void *clientData; /* client data to be passed to callback */
int v1,v2,v3; /* for radioBtn, groupId, buttonValue, groupVarValue */
/* for checkBtn, onValue, offValue, initialOnOffState */
} EZ_MenuEntry;
EZ_CreateMenuFromList( EZ_MenuEntry *list)
ARGUMENTS
list Specifies descriptions for a menu hierarchy. Each entry with
type EZ_WIDGET_MENU_SUBMENU+ starts a submenu, the following entries
defines the corresponding submenu, terminated with an entry of type 0.
DESCRIPTION
This function provides a way to create a menu tree. See the example
below for its usage.
EXAMPLE
static void btnCb(EZ_Widget *, void *);
static void rbtnCb(EZ_Widget *, void *);
static void cbtnCb(EZ_Widget *, void *);
static EZ_MenuEntry menuEntries[] = {
{EZ_WIDGET_MENU_NORMAL_BUTTON, NULL, "normal Button", NULL, 0, 100, btnCb, NULL, 0, 0, 0 },
{EZ_WIDGET_MENU_NORMAL_BUTTON, NULL, "Another Button", "M-b", 0, 200, btnCb, NULL, 0, 0, 0 },
{EZ_WIDGET_MENU_SEPARATOR, NULL, NULL, NULL, 0, 0, NULL, NULL, 0, 0, 0 },
{EZ_WIDGET_MENU_SUBMENU, NULL, "Walk Through", "C-s", 0, 300, NULL, NULL, 0, 0, 0 },
{EZ_WIDGET_MENU_NORMAL_BUTTON, NULL, "S 1", NULL, 0, 400, btnCb, NULL, 0, 0, 0 },
{EZ_WIDGET_MENU_NORMAL_BUTTON, NULL, "S 2", NULL, 0, 500, btnCb, NULL, 0, 0, 0 },
{EZ_WIDGET_MENU_SEPARATOR, NULL, NULL, NULL, 0, 0, NULL, NULL, 0, 0, 0 },
{EZ_WIDGET_MENU_CHECK_BUTTON, NULL, "C 1", NULL, 0, 600, cbtnCb, NULL, 0, 1, 1 },
{EZ_WIDGET_MENU_CHECK_BUTTON, NULL, "C 2", NULL, 0, 700, cbtnCb, NULL, 0, 1, 0 },
{EZ_WIDGET_MENU_SEPARATOR, NULL, NULL, NULL, 0, 0, NULL, NULL, 0, 0, 0 },
{EZ_WIDGET_MENU_RADIO_BUTTON, NULL, "R 1", "C-r" 0, 800, rbtnCb, NULL, 5, 0, 0 },
{EZ_WIDGET_MENU_RADIO_BUTTON, NULL, "R 2", NULL, 0, 900, rbtnCb, NULL, 5, 1, 0 },
{EZ_WIDGET_MENU_RADIO_BUTTON, NULL, "R 3", NULL, 0, 1000, rbtnCb, NULL, 5, 2, 2 },
{0, NULL, NULL, NULL, 0, 0, NULL, NULL, 0, 0, 0 },
{EZ_WIDGET_MENU_NORMAL_BUTTON, NULL, "Last Button", NULL, 0, 2000, btnCb, NULL, 0, 0, 0 },
{0, NULL, NULL, NULL, 0, 0, NULL, NULL, 0, 0, 0 },
NULL,
};
EZ_Widget *menu = EZ_CreateMenuFromList(menuEntries);
SEE ALSO
EZ_CreateSimpleMenu(3), EZ_DoPopup(3)
EZWGL EZ_CreateSimpleMenu(3)