Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
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)

NAME | SYNOPSIS | ARGUMENTS | DESCRIPTION | EXAMPLE | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=EZ_CreateMenuFromList&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help