/***********************************************************************
 *
 * DynaMenu Widget
 *
 ***********************************************************************/

#ifndef _SGDYNAMENU_H_
#define _SGDYNAMENU_H_

#include <Xm/Xm.h>

#ifdef __cplusplus
extern "C" {
#endif


#ifndef SgNhistoryListItems
#define SgNhistoryListItems "historyListItems"
#endif
#ifndef SgNmaxHistoryCount
#define SgNmaxHistoryCount "maxHistoryCount"
#endif
#ifndef SgNhistoryListItemCount
#define SgNhistoryListItemCount "historyListItemCount"
#endif

#ifndef SgCHistoryListItems
#define SgCHistoryListItems "HistoryListItems"
#endif
#ifndef SgCMaxHistoryCount
#define SgCMaxHistoryCount "MaxHistoryCount"
#endif
#ifndef SgCHistoryListItemCount
#define SgCHistoryListItemCount "HistoryListItemCount"
#endif


#ifndef SgCR_DYNA_PUSH
#define SgCR_DYNA_PUSH 3134
#endif

#ifndef SgNdynaPushCallback
#define SgNdynaPushCallback "dynaPushCallback"
#endif


#ifndef SgIsDynaMenu
#define SgIsDynaMenu(w) XtIsSubclass(w, sgDynaMenuWidgetClass)
#endif /* SgIsDynaMenu */


/* DynaMenu Widget */

externalref WidgetClass sgDynaMenuWidgetClass;

typedef struct _SgDynaMenuClassRec *SgDynaMenuWidgetClass;
typedef struct _SgDynaMenuRec      *SgDynaMenuWidget;


/********    Public Function Declarations    ********/

typedef struct
{
    int      reason;
    XEvent  *event;
    XtArgVal button_number;
} SgDynaMenuCallbackStruct;


extern Widget SgCreateDynaMenu( 
                        Widget parent,
                        char *name,
                        ArgList arglist,
                        Cardinal argcount) ;


extern void SgDynaMenuAddHistoryItem( SgDynaMenuWidget ft, char * str );
extern void SgDynaMenuClearHistory( SgDynaMenuWidget ft );

/*
** PR 427287. Support routine to enable removal of a Finder history item.
*/
extern void SgDynaMenuRemoveHistoryItem( SgDynaMenuWidget ft, char * str );

/********    End Public Function Declarations    ********/


#ifdef __cplusplus
}  /* Close scope of 'extern "C"' declaration which encloses file. */
#endif

#endif /* _SGDYNAMENU_H_ */
/* DON'T ADD ANYTHING AFTER THIS #endif */



