#ifndef _MENU_PACK_H
#define _MENU_PACK_H 1

#include "darray.h"
#include "liintrins.h"
#include "sysdep.h"

typedef struct MenuPack_str  *MenuPack;
typedef struct MenuPackRec_str  *MenuPackRec;

#define MP_PULLDOWN (1<<0)
#define MP_POPUP    (1<<1)
#define MP_OPTION   (1<<2)
#define MP_SUBMENU  (1<<3)

#ifdef __STDC__
MenuPack MenuPack_create(Widget, char *,unsigned long);
MenuPack MenuPack_create_pulldown(Widget,Widget, char *);
MenuPack MenuPack_create_option(Widget,Widget, char *);
void     MenuPack_destroy(MenuPack);
void     MenuPack_add_option(char *,MenuPack,
			     XtCallbackProc, caddr_t);
void     MenuPack_add_sub_menu(char *,MenuPack, MenuPack);
void     MenuPack_make_menu(MenuPack);
Widget   MenuPack_get_widget(MenuPack,char *);
MenuPackRec   MenuPack_get_option(MenuPack,char *);
void     MenuPack_attach_to_widget(MenuPack,Widget);
Widget   MenuPack_get_top_level_manager(MenuPack);
NORET    MenuPack_add_arg_to_all(MenuPack,char*,XtArgVal);
NORET    MenuPack_detach_menu(MenuPack);
NORET    MenuPack_reattach_menu(MenuPack);
Bool     MenuPack_set_feature(MenuPack,char*,char*,XtArgVal);
NORET    MenuPack_set_as_default(MenuPack,char*);
#else
MenuPack MenuPack_create();
MenuPack MenuPack_create_pulldown();
MenuPack MenuPack_create_option();
void     MenuPack_destroy();
void     MenuPack_add_option();
void     MenuPack_add_sub_menu();
void     MenuPack_make_menu();
Widget   MenuPack_get_widget();
MenuPackRec   MenuPack_get_option();
void     MenuPack_attach_to_widget();
Widget   MenuPack_get_top_level_manager();
NORET    MenuPack_add_arg_to_all();
NORET    MenuPack_detach_menu();
NORET    MenuPack_reattach_menu();
Bool     MenuPack_set_feature();
NORET    MenuPack_set_as_default();
#endif

/*
MenuPack_create_pulldown(menubar,cascade,menuname)
The menubar is the widget id of the menbuar which contains the cascade
  widget which this will be a cascade menu of.

MenuPack_create_option(parent,menuname)
*/

#endif






