/*======================================================================*/
/* Xe Widget set							*/
/*									*/
/* XeMenu								*/
/* Public header file							*/
/*									*/
/* AUTHOR:	Gabor Nagy						*/
/* DATE:	1996-Aug-27 23:14:55					*/
/*									*/
/* Xe Widget set Copyright (C) 1995 by Gabor Nagy. All rights reserved.	*/
/*======================================================================*/
#ifndef _XeMenuWidget_h
#define _XeMenuWidget_h

#include <Xe/Manager.h>

#if defined (__cplusplus) && (!(defined (__CPLUSLIBS)))
extern "C" {
#endif

// Menu widget types
//
enum
{
 XeMENU_BAR=0,
 XeMENU_PANE,
 XeOPTION_MENU,
 XeOPTION_MENU_PANE
};


extern WidgetClass xeMenuWidgetClass;
typedef struct _XeMenuClassRec*	XeMenuWidgetClass;
typedef struct _XeMenuRec*	XeMenuWidget;

extern Widget	XeCreatePulldownMenu(Widget LParentW,String LName,ArgList Args,Cardinal ArgCnt);
extern Widget	XeCreatePopupMenu(Widget LParentW,String LName,ArgList LArgs,Cardinal LArgCnt);
extern Widget	XeCreateOptionMenu(Widget LParentW,String LName,ArgList LArgs,Cardinal LArgCnt);

extern Widget	XeMenuPaneGetItemByNumber(Widget LW, int LNumber);

extern Widget	XeOptionMenuGetItemByNumber(Widget LW, int LNumber);

extern void	XeOptionMenuSetActiveItem(Widget LMenuW, Widget LItemW);

extern Widget	XeOptionMenuGetPane(Widget LW);

extern Widget	XeMenuGetChild(Widget LW, int LChild);

extern void	XeMenuPosition(Widget LW, XButtonEvent* LButtonEvent);


#if defined (__cplusplus) && (!(defined (__CPLUSLIBS)))
}	// Close scope of 'extern "C"' declaration which encloses file.
#endif

#endif // _XeMenuWidget_h
